diff --git a/src/identity-and-account/preferences/dtos/preferences.dto.ts b/src/identity-and-account/preferences/dtos/preferences.dto.ts index 40de477..81a8dd6 100644 --- a/src/identity-and-account/preferences/dtos/preferences.dto.ts +++ b/src/identity-and-account/preferences/dtos/preferences.dto.ts @@ -1,4 +1,4 @@ -import { IsBoolean, IsEnum, IsOptional } from "class-validator"; +import { IsBoolean, IsEnum, IsInt, IsOptional } from "class-validator"; export enum DisplayLanguage { FR = 'fr-FR', @@ -6,6 +6,7 @@ export enum DisplayLanguage { } export class PreferencesDto { + @IsInt() id: number; @IsBoolean() notifications: boolean; @IsOptional() @IsBoolean() is_dark_mode?: boolean; @IsEnum(DisplayLanguage) display_language: string; diff --git a/src/identity-and-account/preferences/services/preferences.service.ts b/src/identity-and-account/preferences/services/preferences.service.ts index b03db61..6af26de 100644 --- a/src/identity-and-account/preferences/services/preferences.service.ts +++ b/src/identity-and-account/preferences/services/preferences.service.ts @@ -1,6 +1,6 @@ import { DisplayLanguage, PreferencesDto } from "../dtos/preferences.dto"; import { PrismaService } from "src/prisma/prisma.service"; -import { Preferences } from "@prisma/client"; +import { Preferences, Prisma } from "@prisma/client"; import { Injectable } from "@nestjs/common"; import { Result } from "src/common/errors/result-error.factory"; import { EmailToIdResolver } from "src/common/mappers/email-id.mapper"; @@ -20,6 +20,7 @@ export class PreferencesService { const user_preferences = await this.prisma.preferences.findUnique({ where: { user_id: user_id.data }, select: { + id: true, notifications: true, is_dark_mode: true, display_language: true, @@ -31,6 +32,7 @@ export class PreferencesService { if (!user_preferences) return { success: false, error: 'PREFERENCES_NOT_FOUND' }; const preferences: PreferencesDto = { + id: user_preferences.id, is_dark_mode: user_preferences.is_dark_mode, display_language: user_preferences.display_language ?? DisplayLanguage.FR , is_lefty_mode: user_preferences.is_lefty_mode, @@ -55,14 +57,7 @@ export class PreferencesService { is_employee_list_grid: dto.is_employee_list_grid, is_timesheet_approval_grid: dto.is_timesheet_approval_grid, }, - select: { - notifications: true, - is_dark_mode: true, - display_language: true, - is_employee_list_grid: true, - is_timesheet_approval_grid: true, - is_lefty_mode: true, - }, + omit: { user_id: true }, }); return { success: true, data: updated_preferences}; }