Files
zod-backend/src/auth/repositories/device.repository.ts
2024-12-24 12:10:49 +03:00

26 lines
829 B
TypeScript

import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { IsNull, Not, Repository } from 'typeorm';
import { Device } from '../entities';
@Injectable()
export class DeviceRepository {
constructor(@InjectRepository(Device) private readonly deviceRepository: Repository<Device>) {}
findUserDeviceById(deviceId: string, userId: string) {
return this.deviceRepository.findOne({ where: { deviceId, userId } });
}
createDevice(data: Partial<Device>) {
return this.deviceRepository.save(data);
}
updateDevice(deviceId: string, data: Partial<Device>) {
return this.deviceRepository.save({ deviceId, ...data });
}
getTokens(userId: string) {
return this.deviceRepository.find({ where: { userId, fcmToken: Not(IsNull()) }, select: ['fcmToken'] });
}
}