targo-backend/src/identity-and-account/preferences/services/preferences.service.ts

30 lines
1.2 KiB
TypeScript

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<Preferences> {
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 },
});
}
}