Files
zod-backend/src/user/services/device.service.ts
T

30 lines
1.1 KiB
TypeScript

import { Injectable, Logger } from '@nestjs/common';
import { Device } from '../entities';
import { DeviceRepository } from '../repositories';
@Injectable()
export class DeviceService {
private readonly logger = new Logger(DeviceService.name);
constructor(private readonly deviceRepository: DeviceRepository) {}
findUserDeviceById(deviceId: string, userId: string) {
this.logger.log(`Finding device with id ${deviceId} for user ${userId}`);
return this.deviceRepository.findUserDeviceById(deviceId, userId);
}
createDevice(data: Partial<Device>) {
this.logger.log(`Creating device with data ${JSON.stringify(data)}`);
return this.deviceRepository.createDevice(data);
}
updateDevice(deviceId: string, data: Partial<Device>) {
this.logger.log(`Updating device with id ${deviceId} with data ${JSON.stringify(data)}`);
return this.deviceRepository.updateDevice(deviceId, data);
}
async getTokens(userId: string): Promise<string[]> {
this.logger.log(`Getting tokens for user ${userId}`);
const devices = await this.deviceRepository.getTokens(userId);
return devices.map((device) => device.fcmToken!);
}
}