From 99df3f8a15767edca1e91b98d2050391eb2680db Mon Sep 17 00:00:00 2001 From: Matthieu Haineault Date: Mon, 16 Mar 2026 10:46:18 -0400 Subject: [PATCH] fix(eslint): updated schema.prisma and did checks on abstract-user.service.ts typing for unsafe arguments. --- .../prisma/client/postgres/internal/class.ts | 2 +- prisma/postgres/schema.prisma | 2 ++ .../services/abstract-user.service.ts | 11 +++++------ 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/prisma/postgres/generated/prisma/client/postgres/internal/class.ts b/prisma/postgres/generated/prisma/client/postgres/internal/class.ts index 92b536c..1c131d1 100644 --- a/prisma/postgres/generated/prisma/client/postgres/internal/class.ts +++ b/prisma/postgres/generated/prisma/client/postgres/internal/class.ts @@ -22,7 +22,7 @@ const config: runtime.GetPrismaClientConfig = { "clientVersion": "7.3.0", "engineVersion": "9d6ad21cbbceab97458517b147a6a09ff43aa735", "activeProvider": "postgresql", - "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"generated/prisma/client/postgres\"\n previewFeatures = [\"views\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel Users {\n id String @id @default(dbgenerated(\"gen_random_uuid()\")) @db.Uuid\n first_name String\n last_name String\n email String @unique\n phone_number String\n residence String?\n role Roles @default(EMPLOYEE)\n notifications Notifications? @relation(\"UserNotification\")\n employee Employees? @relation(\"UserEmployee\")\n oauth_sessions OAuthSessions[] @relation(\"UserOAuthSessions\")\n preferences Preferences? @relation(\"UserPreferences\")\n user_module_access userModuleAccess? @relation(\"UserModuleAccess\")\n\n @@map(\"users\")\n}\n\nmodel Notifications {\n id Int @id @default(autoincrement())\n user_id String @unique @db.Uuid\n affected_module Modules\n subject String\n description String\n metadata Json @db.JsonB\n created_at DateTime @default(now())\n viewed_at DateTime?\n user Users @relation(\"UserNotification\", fields: [user_id], references: [id])\n\n @@map(\"notifications\")\n}\n\nmodel userModuleAccess {\n id Int @id @default(autoincrement())\n user_id String @unique @db.Uuid\n timesheets Boolean @default(true)\n timesheets_approval Boolean @default(false)\n employee_list Boolean @default(true)\n employee_management Boolean @default(false)\n personal_profile Boolean @default(true)\n dashboard Boolean @default(true)\n chatbot Boolean @default(false)\n ticket Boolean @default(false)\n ticket_management Boolean @default(false)\n user Users @relation(\"UserModuleAccess\", fields: [user_id], references: [id])\n\n @@map(\"user_module_access\")\n}\n\nmodel Employees {\n id Int @id @default(autoincrement())\n user_id String @unique @db.Uuid\n external_payroll_id Int\n company_code Int\n daily_expected_hours Int @default(24)\n first_work_day DateTime @db.Date\n last_work_day DateTime? @db.Date\n supervisor_id Int?\n job_title String?\n is_supervisor Boolean @default(false)\n applicable_overtime ApplicableOvertime[] @default([WEEKLY])\n schedule_preset_id Int?\n schedule_preset SchedulePresets? @relation(\"EmployeesSchedulePreset\", fields: [schedule_preset_id], references: [id])\n supervisor Employees? @relation(\"EmployeeSupervisor\", fields: [supervisor_id], references: [id])\n crew Employees[] @relation(\"EmployeeSupervisor\")\n user Users @relation(\"UserEmployee\", fields: [user_id], references: [id])\n leave_request LeaveRequests[] @relation(\"LeaveRequestEmployee\")\n timesheet Timesheets[] @relation(\"TimesheetEmployee\")\n paid_time_off PaidTimeOff? @relation(\"EmployeePaidTimeOff\")\n\n @@map(\"employees\")\n}\n\nmodel LeaveRequests {\n id Int @id @default(autoincrement())\n employee_id Int\n leave_type LeaveTypes\n comment String\n approval_status LeaveApprovalStatus @default(PENDING)\n bank_code_id Int\n payable_hours Decimal? @db.Decimal(5, 2)\n requested_hours Decimal? @db.Decimal(5, 2)\n dates DateTime[] @db.Date\n bank_code BankCodes @relation(\"LeaveRequestBankCodes\", fields: [bank_code_id], references: [id])\n employee Employees @relation(\"LeaveRequestEmployee\", fields: [employee_id], references: [id])\n archive LeaveRequestsArchive? @relation(\"LeaveRequestToArchive\")\n\n @@unique([employee_id, leave_type, dates], name: \"leave_per_employee_date\")\n @@index([employee_id, dates])\n @@map(\"leave_requests\")\n}\n\nmodel LeaveRequestsArchive {\n id Int @id @default(autoincrement())\n leave_request_id Int @unique\n archived_at DateTime @default(now())\n employee_id Int\n leave_type LeaveTypes\n comment String\n approval_status LeaveApprovalStatus\n date DateTime @db.Date\n payable_hours Decimal? @db.Decimal(5, 2)\n requested_hours Decimal? @db.Decimal(5, 2)\n leave_request LeaveRequests @relation(\"LeaveRequestToArchive\", fields: [leave_request_id], references: [id])\n\n @@index([employee_id, date])\n @@map(\"leave_requests_archive\")\n}\n\nmodel Timesheets {\n id Int @id @default(autoincrement())\n employee_id Int\n is_approved Boolean @default(false)\n start_date DateTime @db.Date\n // hours_to_bank Decimal? @db.Decimal(5, 2) //will need to be implemented in the future\n expense Expenses[] @relation(\"ExpensesTimesheet\")\n shift Shifts[] @relation(\"ShiftTimesheet\")\n employee Employees @relation(\"TimesheetEmployee\", fields: [employee_id], references: [id])\n archive TimesheetsArchive[] @relation(\"TimesheetsToArchive\")\n\n // @@unique([employee_id, start_date], name: \"employee_id_start_date\")\n @@map(\"timesheets\")\n}\n\nmodel TimesheetsArchive {\n id Int @id @default(autoincrement())\n timesheet_id Int\n archive_at DateTime @default(now())\n employee_id Int\n is_approved Boolean\n timesheet Timesheets @relation(\"TimesheetsToArchive\", fields: [timesheet_id], references: [id])\n\n @@map(\"timesheets_archive\")\n}\n\nmodel SchedulePresets {\n id Int @id @default(autoincrement())\n name String\n is_default Boolean @default(false)\n employees Employees[] @relation(\"EmployeesSchedulePreset\")\n shifts SchedulePresetShifts[] @relation(\"SchedulePresetShiftsSchedulePreset\")\n\n @@map(\"schedule_presets\")\n}\n\nmodel SchedulePresetShifts {\n id Int @id @default(autoincrement())\n preset_id Int\n bank_code_id Int\n\n start_time DateTime @db.Time(0)\n end_time DateTime @db.Time(0)\n is_remote Boolean @default(false)\n week_day Weekday\n bank_code BankCodes @relation(\"SchedulePresetShiftsBankCodes\", fields: [bank_code_id], references: [id])\n preset SchedulePresets @relation(\"SchedulePresetShiftsSchedulePreset\", fields: [preset_id], references: [id])\n\n @@index([preset_id, week_day])\n @@map(\"schedule_preset_shifts\")\n}\n\nmodel Shifts {\n id Int @id @default(autoincrement())\n timesheet_id Int\n date DateTime @db.Date\n start_time DateTime @db.Time(0)\n end_time DateTime @db.Time(0)\n bank_code_id Int\n is_approved Boolean @default(false)\n is_remote Boolean @default(false)\n comment String?\n bank_code BankCodes @relation(\"ShiftBankCodes\", fields: [bank_code_id], references: [id])\n timesheet Timesheets @relation(\"ShiftTimesheet\", fields: [timesheet_id], references: [id])\n archive ShiftsArchive[] @relation(\"ShiftsToArchive\")\n\n // @@unique([timesheet_id, date, start_time], name: \"unique_ts_id_date_start_time\")\n @@map(\"shifts\")\n}\n\nmodel ShiftsArchive {\n id Int @id @default(autoincrement())\n shift_id Int\n archive_at DateTime @default(now())\n timesheet_id Int\n date DateTime @db.Date\n start_time DateTime @db.Time(0)\n end_time DateTime @db.Time(0)\n bank_code_id Int\n comment String?\n shift Shifts @relation(\"ShiftsToArchive\", fields: [shift_id], references: [id])\n\n @@map(\"shifts_archive\")\n}\n\nmodel BankCodes {\n id Int @id @default(autoincrement())\n type String\n categorie String\n modifier Float\n bank_code String\n expenses Expenses[] @relation(\"ExpenseBankCodes\")\n leaveRequests LeaveRequests[] @relation(\"LeaveRequestBankCodes\")\n SchedulePresetShifts SchedulePresetShifts[] @relation(\"SchedulePresetShiftsBankCodes\")\n shifts Shifts[] @relation(\"ShiftBankCodes\")\n\n @@map(\"bank_codes\")\n}\n\nmodel Expenses {\n id Int @id @default(autoincrement())\n timesheet_id Int\n date DateTime @db.Date\n amount Decimal? @db.Decimal(12, 2)\n is_approved Boolean @default(false)\n supervisor_comment String?\n bank_code_id Int\n comment String\n attachment_key String?\n attachment_name String?\n mileage Decimal? @db.Decimal(12, 2)\n bank_code BankCodes @relation(\"ExpenseBankCodes\", fields: [bank_code_id], references: [id])\n timesheet Timesheets @relation(\"ExpensesTimesheet\", fields: [timesheet_id], references: [id])\n archive ExpensesArchive[] @relation(\"ExpensesToArchive\")\n\n @@unique([timesheet_id, date, amount, mileage], name: \"unique_ts_id_date_amount_mileage\")\n @@map(\"expenses\")\n}\n\nmodel ExpensesArchive {\n id Int @id @default(autoincrement())\n expense_id Int\n timesheet_id Int\n archived_at DateTime @default(now())\n date DateTime @db.Date\n amount Decimal? @db.Decimal(12, 2)\n is_approved Boolean\n supervisor_comment String?\n bank_code_id Int\n comment String?\n mileage Decimal? @db.Decimal(12, 2)\n expense Expenses @relation(\"ExpensesToArchive\", fields: [expense_id], references: [id])\n\n @@map(\"expenses_archive\")\n}\n\nmodel OAuthSessions {\n id String @id @default(cuid())\n user_id String @db.Uuid\n application String\n access_token String @unique\n refresh_token String @unique\n access_token_expiry DateTime\n refresh_token_expiry DateTime?\n is_revoked Boolean @default(false)\n scopes Json @default(\"[]\")\n created_at DateTime @default(now())\n updated_at DateTime?\n sid String @unique\n user Users @relation(\"UserOAuthSessions\", fields: [user_id], references: [id])\n\n @@map(\"oauth_sessions\")\n}\n\nmodel Sessions {\n id String @id\n sid String @unique\n data String\n expiresAt DateTime\n\n @@map(\"sessions\")\n}\n\nmodel Preferences {\n user_id String @unique @db.Uuid\n id Int @id @default(autoincrement())\n display_language String @default(\"fr-FR\")\n is_dark_mode Boolean? @default(false)\n is_employee_list_grid Boolean @default(true)\n is_lefty_mode Boolean @default(false)\n is_timesheet_approval_grid Boolean @default(true)\n notifications Boolean @default(true)\n user Users @relation(\"UserPreferences\", fields: [user_id], references: [id])\n\n @@map(\"preferences\")\n}\n\nmodel PaidTimeOff {\n id Int @id @default(autoincrement())\n employee_id Int @unique\n vacation_hours Decimal @default(0) @db.Decimal(12, 2)\n banked_hours Decimal @default(0) @db.Decimal(12, 2)\n sick_hours Decimal @default(0) @db.Decimal(12, 2)\n last_updated DateTime? @db.Date\n\n employee Employees @relation(\"EmployeePaidTimeOff\", fields: [employee_id], references: [id])\n\n @@map(\"paid_time_off\")\n}\n\nview PayPeriods {\n pay_year Int\n pay_period_no Int\n period_start DateTime @db.Date\n period_end DateTime @db.Date\n payday DateTime @db.Date\n label String\n\n @@map(\"pay_period\")\n}\n\nenum AttachmentStatus {\n ACTIVE\n DELETED\n}\n\nenum RetentionPolicy {\n EXPENSE_7Y\n TICKET_2Y\n PROFILE_KEEP_LAST3\n}\n\nenum Roles {\n ADMIN\n SUPERVISOR\n HR\n ACCOUNTING\n EMPLOYEE\n DEALER\n CUSTOMER\n GUEST\n\n @@map(\"roles\")\n}\n\nenum Modules {\n timesheets\n timesheets_approval\n employee_list\n employee_management\n personal_profile\n dashboard\n chatbot\n\n @@map(\"modules\")\n}\n\nenum LeaveTypes {\n SICK\n VACATION\n UNPAID\n BEREAVEMENT\n PARENTAL\n LEGAL\n WEDDING\n HOLIDAY\n\n @@map(\"leave_types\")\n}\n\nenum LeaveApprovalStatus {\n PENDING\n APPROVED\n DENIED\n CANCELLED\n ESCALATED\n\n @@map(\"leave_approval_status\")\n}\n\nenum Weekday {\n SUN\n MON\n TUE\n WED\n THU\n FRI\n SAT\n}\n\nenum ApplicableOvertime {\n DAILY\n WEEKLY\n PAYPERIOD\n}\n", + "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"generated/prisma/client/postgres\"\n previewFeatures = [\"views\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel Users {\n id String @id @default(dbgenerated(\"gen_random_uuid()\")) @db.Uuid\n first_name String\n last_name String\n email String @unique\n phone_number String\n residence String?\n role Roles @default(EMPLOYEE)\n notifications Notifications? @relation(\"UserNotification\")\n employee Employees? @relation(\"UserEmployee\")\n oauth_sessions OAuthSessions[] @relation(\"UserOAuthSessions\")\n preferences Preferences? @relation(\"UserPreferences\")\n user_module_access userModuleAccess? @relation(\"UserModuleAccess\")\n\n @@map(\"users\")\n}\n\nmodel Notifications {\n id Int @id @default(autoincrement())\n user_id String @unique @db.Uuid\n affected_module Modules\n subject String\n description String\n metadata Json @db.JsonB\n created_at DateTime @default(now())\n viewed_at DateTime?\n user Users @relation(\"UserNotification\", fields: [user_id], references: [id])\n\n @@map(\"notifications\")\n}\n\nmodel userModuleAccess {\n id Int @id @default(autoincrement())\n user_id String @unique @db.Uuid\n timesheets Boolean @default(true)\n timesheets_approval Boolean @default(false)\n employee_list Boolean @default(true)\n employee_management Boolean @default(false)\n personal_profile Boolean @default(true)\n dashboard Boolean @default(true)\n chatbot Boolean @default(false)\n ticket Boolean @default(false)\n ticket_management Boolean @default(false)\n user Users @relation(\"UserModuleAccess\", fields: [user_id], references: [id])\n\n @@map(\"user_module_access\")\n}\n\nmodel Employees {\n id Int @id @default(autoincrement())\n user_id String @unique @db.Uuid\n external_payroll_id Int\n company_code Int\n daily_expected_hours Int @default(24)\n first_work_day DateTime @db.Date\n last_work_day DateTime? @db.Date\n supervisor_id Int?\n job_title String?\n is_supervisor Boolean @default(false)\n applicable_overtime ApplicableOvertime[] @default([WEEKLY])\n schedule_preset_id Int?\n schedule_preset SchedulePresets? @relation(\"EmployeesSchedulePreset\", fields: [schedule_preset_id], references: [id])\n supervisor Employees? @relation(\"EmployeeSupervisor\", fields: [supervisor_id], references: [id])\n crew Employees[] @relation(\"EmployeeSupervisor\")\n user Users @relation(\"UserEmployee\", fields: [user_id], references: [id])\n leave_request LeaveRequests[] @relation(\"LeaveRequestEmployee\")\n timesheet Timesheets[] @relation(\"TimesheetEmployee\")\n paid_time_off PaidTimeOff? @relation(\"EmployeePaidTimeOff\")\n\n @@map(\"employees\")\n}\n\nmodel LeaveRequests {\n id Int @id @default(autoincrement())\n employee_id Int\n leave_type LeaveTypes\n comment String\n approval_status LeaveApprovalStatus @default(PENDING)\n bank_code_id Int\n payable_hours Decimal? @db.Decimal(5, 2)\n requested_hours Decimal? @db.Decimal(5, 2)\n dates DateTime[] @db.Date\n bank_code BankCodes @relation(\"LeaveRequestBankCodes\", fields: [bank_code_id], references: [id])\n employee Employees @relation(\"LeaveRequestEmployee\", fields: [employee_id], references: [id])\n archive LeaveRequestsArchive? @relation(\"LeaveRequestToArchive\")\n\n @@unique([employee_id, leave_type, dates], name: \"leave_per_employee_date\")\n @@index([employee_id, dates])\n @@map(\"leave_requests\")\n}\n\nmodel LeaveRequestsArchive {\n id Int @id @default(autoincrement())\n leave_request_id Int @unique\n archived_at DateTime @default(now())\n employee_id Int\n leave_type LeaveTypes\n comment String\n approval_status LeaveApprovalStatus\n date DateTime @db.Date\n payable_hours Decimal? @db.Decimal(5, 2)\n requested_hours Decimal? @db.Decimal(5, 2)\n leave_request LeaveRequests @relation(\"LeaveRequestToArchive\", fields: [leave_request_id], references: [id])\n\n @@index([employee_id, date])\n @@map(\"leave_requests_archive\")\n}\n\nmodel Timesheets {\n id Int @id @default(autoincrement())\n employee_id Int\n is_approved Boolean @default(false)\n start_date DateTime @db.Date\n // hours_to_bank Decimal? @db.Decimal(5, 2) //will need to be implemented in the future\n expense Expenses[] @relation(\"ExpensesTimesheet\")\n shift Shifts[] @relation(\"ShiftTimesheet\")\n employee Employees @relation(\"TimesheetEmployee\", fields: [employee_id], references: [id])\n archive TimesheetsArchive[] @relation(\"TimesheetsToArchive\")\n\n // @@unique([employee_id, start_date], name: \"employee_id_start_date\")\n @@map(\"timesheets\")\n}\n\nmodel TimesheetsArchive {\n id Int @id @default(autoincrement())\n timesheet_id Int\n archive_at DateTime @default(now())\n employee_id Int\n is_approved Boolean\n timesheet Timesheets @relation(\"TimesheetsToArchive\", fields: [timesheet_id], references: [id])\n\n @@map(\"timesheets_archive\")\n}\n\nmodel SchedulePresets {\n id Int @id @default(autoincrement())\n name String\n is_default Boolean @default(false)\n employees Employees[] @relation(\"EmployeesSchedulePreset\")\n shifts SchedulePresetShifts[] @relation(\"SchedulePresetShiftsSchedulePreset\")\n\n @@map(\"schedule_presets\")\n}\n\nmodel SchedulePresetShifts {\n id Int @id @default(autoincrement())\n preset_id Int\n bank_code_id Int\n\n start_time DateTime @db.Time(0)\n end_time DateTime @db.Time(0)\n is_remote Boolean @default(false)\n week_day Weekday\n bank_code BankCodes @relation(\"SchedulePresetShiftsBankCodes\", fields: [bank_code_id], references: [id])\n preset SchedulePresets @relation(\"SchedulePresetShiftsSchedulePreset\", fields: [preset_id], references: [id])\n\n @@index([preset_id, week_day])\n @@map(\"schedule_preset_shifts\")\n}\n\nmodel Shifts {\n id Int @id @default(autoincrement())\n timesheet_id Int\n date DateTime @db.Date\n start_time DateTime @db.Time(0)\n end_time DateTime @db.Time(0)\n bank_code_id Int\n is_approved Boolean @default(false)\n is_remote Boolean @default(false)\n comment String?\n bank_code BankCodes @relation(\"ShiftBankCodes\", fields: [bank_code_id], references: [id])\n timesheet Timesheets @relation(\"ShiftTimesheet\", fields: [timesheet_id], references: [id])\n archive ShiftsArchive[] @relation(\"ShiftsToArchive\")\n\n // @@unique([timesheet_id, date, start_time], name: \"unique_ts_id_date_start_time\")\n @@map(\"shifts\")\n}\n\nmodel ShiftsArchive {\n id Int @id @default(autoincrement())\n shift_id Int\n archive_at DateTime @default(now())\n timesheet_id Int\n date DateTime @db.Date\n start_time DateTime @db.Time(0)\n end_time DateTime @db.Time(0)\n bank_code_id Int\n comment String?\n shift Shifts @relation(\"ShiftsToArchive\", fields: [shift_id], references: [id])\n\n @@map(\"shifts_archive\")\n}\n\nmodel BankCodes {\n id Int @id @default(autoincrement())\n type String\n categorie String\n modifier Float\n bank_code String\n expenses Expenses[] @relation(\"ExpenseBankCodes\")\n leaveRequests LeaveRequests[] @relation(\"LeaveRequestBankCodes\")\n SchedulePresetShifts SchedulePresetShifts[] @relation(\"SchedulePresetShiftsBankCodes\")\n shifts Shifts[] @relation(\"ShiftBankCodes\")\n\n @@map(\"bank_codes\")\n}\n\nmodel Expenses {\n id Int @id @default(autoincrement())\n timesheet_id Int\n date DateTime @db.Date\n amount Decimal? @db.Decimal(12, 2)\n is_approved Boolean @default(false)\n supervisor_comment String?\n bank_code_id Int\n comment String\n attachment_key String?\n attachment_name String?\n mileage Decimal? @db.Decimal(12, 2)\n bank_code BankCodes @relation(\"ExpenseBankCodes\", fields: [bank_code_id], references: [id])\n timesheet Timesheets @relation(\"ExpensesTimesheet\", fields: [timesheet_id], references: [id])\n archive ExpensesArchive[] @relation(\"ExpensesToArchive\")\n\n @@unique([timesheet_id, date, amount, mileage], name: \"unique_ts_id_date_amount_mileage\")\n @@map(\"expenses\")\n}\n\nmodel ExpensesArchive {\n id Int @id @default(autoincrement())\n expense_id Int\n timesheet_id Int\n archived_at DateTime @default(now())\n date DateTime @db.Date\n amount Decimal? @db.Decimal(12, 2)\n is_approved Boolean\n supervisor_comment String?\n bank_code_id Int\n comment String?\n mileage Decimal? @db.Decimal(12, 2)\n expense Expenses @relation(\"ExpensesToArchive\", fields: [expense_id], references: [id])\n\n @@map(\"expenses_archive\")\n}\n\nmodel OAuthSessions {\n id String @id @default(cuid())\n user_id String @db.Uuid\n application String\n access_token String @unique\n refresh_token String @unique\n access_token_expiry DateTime\n refresh_token_expiry DateTime?\n is_revoked Boolean @default(false)\n scopes Json @default(\"[]\")\n created_at DateTime @default(now())\n updated_at DateTime?\n sid String @unique\n user Users @relation(\"UserOAuthSessions\", fields: [user_id], references: [id])\n\n @@map(\"oauth_sessions\")\n}\n\nmodel Sessions {\n id String @id\n sid String @unique\n data String\n expiresAt DateTime\n\n @@map(\"sessions\")\n}\n\nmodel Preferences {\n user_id String @unique @db.Uuid\n id Int @id @default(autoincrement())\n display_language String @default(\"fr-FR\")\n is_dark_mode Boolean? @default(false)\n is_employee_list_grid Boolean @default(true)\n is_lefty_mode Boolean @default(false)\n is_timesheet_approval_grid Boolean @default(true)\n notifications Boolean @default(true)\n user Users @relation(\"UserPreferences\", fields: [user_id], references: [id])\n\n @@map(\"preferences\")\n}\n\nmodel PaidTimeOff {\n id Int @id @default(autoincrement())\n employee_id Int @unique\n vacation_hours Decimal @default(0) @db.Decimal(12, 2)\n banked_hours Decimal @default(0) @db.Decimal(12, 2)\n sick_hours Decimal @default(0) @db.Decimal(12, 2)\n last_updated DateTime? @db.Date\n\n employee Employees @relation(\"EmployeePaidTimeOff\", fields: [employee_id], references: [id])\n\n @@map(\"paid_time_off\")\n}\n\nview PayPeriods {\n pay_year Int\n pay_period_no Int\n period_start DateTime @db.Date\n period_end DateTime @db.Date\n payday DateTime @db.Date\n label String\n\n @@map(\"pay_period\")\n}\n\nenum AttachmentStatus {\n ACTIVE\n DELETED\n}\n\nenum RetentionPolicy {\n EXPENSE_7Y\n TICKET_2Y\n PROFILE_KEEP_LAST3\n}\n\nenum Roles {\n ADMIN\n SUPERVISOR\n HR\n ACCOUNTING\n EMPLOYEE\n DEALER\n CUSTOMER\n GUEST\n\n @@map(\"roles\")\n}\n\nenum Modules {\n timesheets\n timesheets_approval\n employee_list\n employee_management\n personal_profile\n dashboard\n ticket\n ticket_management\n chatbot\n\n @@map(\"modules\")\n}\n\nenum LeaveTypes {\n SICK\n VACATION\n UNPAID\n BEREAVEMENT\n PARENTAL\n LEGAL\n WEDDING\n HOLIDAY\n\n @@map(\"leave_types\")\n}\n\nenum LeaveApprovalStatus {\n PENDING\n APPROVED\n DENIED\n CANCELLED\n ESCALATED\n\n @@map(\"leave_approval_status\")\n}\n\nenum Weekday {\n SUN\n MON\n TUE\n WED\n THU\n FRI\n SAT\n}\n\nenum ApplicableOvertime {\n DAILY\n WEEKLY\n PAYPERIOD\n}\n", "runtimeDataModel": { "models": {}, "enums": {}, diff --git a/prisma/postgres/schema.prisma b/prisma/postgres/schema.prisma index 065dd83..a8ebb9e 100644 --- a/prisma/postgres/schema.prisma +++ b/prisma/postgres/schema.prisma @@ -348,6 +348,8 @@ enum Modules { employee_management personal_profile dashboard + ticket + ticket_management chatbot @@map("modules") diff --git a/src/identity-and-account/users-management/services/abstract-user.service.ts b/src/identity-and-account/users-management/services/abstract-user.service.ts index d00f161..6350791 100644 --- a/src/identity-and-account/users-management/services/abstract-user.service.ts +++ b/src/identity-and-account/users-management/services/abstract-user.service.ts @@ -14,22 +14,21 @@ export abstract class AbstractUserService { where: { email }, include: { user_module_access: { - omit: { + omit: { id: true, user_id: true, }, }, }, - }); if (!user) { throw new NotFoundException(`No user with email #${email} exists`); } - let module_access: Modules[] = []; - if (user.user_module_access !== null) module_access = toKeysFromBoolean(user.user_module_access); - - const clean_user = { + let module_access: Modules[] = []; + if (user.user_module_access !== null) module_access = toKeysFromBoolean(user.user_module_access); + + const clean_user = { first_name: user.first_name, last_name: user.last_name, email: user.email,