From 7c9f3cda6513d76ea78800138011ac4d1bc93dda Mon Sep 17 00:00:00 2001 From: Matthieu Haineault Date: Wed, 26 Nov 2025 16:32:56 -0500 Subject: [PATCH] feat(preferences): small update on prefrences table --- prisma/schema.prisma | 12 ++++---- .../preferences/dtos/preferences.dto.ts | 12 ++++---- .../services/preferences.service.ts | 30 +++++++++---------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 6aac4ef..c9670e3 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -347,12 +347,12 @@ model Preferences { user Users @relation("UserPreferences", fields: [user_id], references: [id]) user_id String @unique @db.Uuid - notifications Boolean @default(false) - dark_mode Boolean @default(false) - lang_switch Boolean @default(false) - lefty_mode Boolean @default(false) - employee_list_display Boolean @default(false) - approval_display Boolean @default(false) + notifications Int @default(0) + is_dark_mode Boolean @default(false) + display_language String @default("fr-FR") //'fr-FR' | 'en-CA'; + is_lefty_mode Boolean @default(false) + is_employee_list_grid Boolean @default(true) + is_timesheet_approval_grid Boolean @default(true) @@map("preferences") } diff --git a/src/identity-and-account/preferences/dtos/preferences.dto.ts b/src/identity-and-account/preferences/dtos/preferences.dto.ts index 7307e6d..4eb8b79 100644 --- a/src/identity-and-account/preferences/dtos/preferences.dto.ts +++ b/src/identity-and-account/preferences/dtos/preferences.dto.ts @@ -1,10 +1,10 @@ import { IsInt } from "class-validator"; export class PreferencesDto { - notifications: boolean; - dark_mode: boolean; - lang_switch: boolean; - lefty_mode: boolean; - employee_list_display: boolean; - approval_display: boolean; + notifications: number; + is_dark_mode: boolean | null; + display_language: string | 'fr-FR' | 'en-CA'; + is_lefty_mode: boolean; + is_employee_list_grid: boolean; + is_timesheet_approval_grid: boolean; } \ No newline at end of file diff --git a/src/identity-and-account/preferences/services/preferences.service.ts b/src/identity-and-account/preferences/services/preferences.service.ts index c3e59a0..674a706 100644 --- a/src/identity-and-account/preferences/services/preferences.service.ts +++ b/src/identity-and-account/preferences/services/preferences.service.ts @@ -20,23 +20,23 @@ export class PreferencesService { const user_preferences = await this.prisma.preferences.findUnique({ where: { user_id: user_id.data }, select: { - dark_mode: true, - lang_switch: true, - lefty_mode: true, notifications: true, - employee_list_display: true, - approval_display: true, + is_dark_mode: true, + display_language: true, + is_lefty_mode: true, + is_employee_list_grid: true, + is_timesheet_approval_grid: true, }, }); if (!user_preferences) return { success: false, error: 'PREFERENCES_NOT_FOUND' }; const preferences: PreferencesDto = { - dark_mode: user_preferences.dark_mode, - lang_switch: user_preferences.lang_switch, - lefty_mode: user_preferences.lefty_mode, + is_dark_mode: user_preferences.is_dark_mode, + display_language: user_preferences.display_language, + is_lefty_mode: user_preferences.is_lefty_mode, notifications: user_preferences.notifications, - employee_list_display: user_preferences.employee_list_display, - approval_display: user_preferences.approval_display, + is_employee_list_grid: user_preferences.is_employee_list_grid, + is_timesheet_approval_grid: user_preferences.is_timesheet_approval_grid, }; return { success: true, data: preferences }; } @@ -50,11 +50,11 @@ export class PreferencesService { where: { user_id: user_id.data }, 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, - approval_display: dto.approval_display, + is_dark_mode: dto.is_dark_mode ?? undefined, + display_language: dto.display_language, + is_lefty_mode: dto.is_lefty_mode, + is_employee_list_grid: dto.is_employee_list_grid, + is_timesheet_approval_grid: dto.is_timesheet_approval_grid, }, include: { user: true }, })