import { Injectable } from "@nestjs/common"; import { Preferences } from "@prisma/client"; import { PrismaService } from "src/prisma/prisma.service"; import { PreferencesDto } from "../dtos/preferences.dto"; import { EmailToIdResolver } from "src/time-and-attendance/modules/shared/utils/resolve-email-id.utils"; @Injectable() export class PreferencesService { constructor( private readonly prisma: PrismaService, private readonly emailResolver: EmailToIdResolver , ){} async updatePreferences(email: string, dto: PreferencesDto ): Promise { const user_id = await this.emailResolver.resolveUserIdWithEmail(email); return this.prisma.preferences.update({ where: { user_id }, data: { notifications: dto.notifications, dark_mode: dto.dark_mode, lang_switch: dto.lang_switch, lefty_mode: dto.lefty_mode, employee_list_display: dto.employee_list_display, validation_display: dto.validation_display, timesheet_display: dto.timesheet_display, }, include: { user: true }, }); } }