mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2026-10-25 18:27:56 +00:00
30 lines
1.1 KiB
TypeScript
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!);
|
|
}
|
|
}
|