feat(schema): added columns and enum for overtime management. Also added the respective columns in the DB itself. Also added ticket and ticket_management in user_module_access in the db/schema

This commit is contained in:
Matthieu Haineault 2026-03-16 07:40:25 -04:00
parent d2c7f262a4
commit e178c7bd10

View File

@ -26,17 +26,17 @@ model Users {
} }
model Notifications { model Notifications {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
user_id String @unique @db.Uuid user_id String @unique @db.Uuid
affected_module Modules affected_module Modules
subject String subject String
description String description String
metadata Json @db.JsonB metadata Json @db.JsonB
created_at DateTime @default(now()) created_at DateTime @default(now())
viewed_at DateTime? viewed_at DateTime?
user Users @relation("UserNotification", fields: [user_id], references: [id]) user Users @relation("UserNotification", fields: [user_id], references: [id])
@@map("notifications") @@map("notifications")
} }
model userModuleAccess { model userModuleAccess {
@ -49,31 +49,33 @@ model userModuleAccess {
personal_profile Boolean @default(true) personal_profile Boolean @default(true)
dashboard Boolean @default(true) dashboard Boolean @default(true)
chatbot Boolean @default(false) chatbot Boolean @default(false)
ticket Boolean @default(false)
ticket_management Boolean @default(false)
user Users @relation("UserModuleAccess", fields: [user_id], references: [id]) user Users @relation("UserModuleAccess", fields: [user_id], references: [id])
@@map("user_module_access") @@map("user_module_access")
} }
model Employees { model Employees {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
user_id String @unique @db.Uuid user_id String @unique @db.Uuid
external_payroll_id Int external_payroll_id Int
company_code Int company_code Int
daily_expected_hours Int daily_expected_hours Int @default(24)
first_work_day DateTime @db.Date first_work_day DateTime @db.Date
last_work_day DateTime? @db.Date last_work_day DateTime? @db.Date
supervisor_id Int? supervisor_id Int?
job_title String? job_title String?
is_supervisor Boolean @default(false) is_supervisor Boolean @default(false)
// banked_hour_limit Int @default(0) //will need to be implemented in the future applicable_overtime ApplicableOvertime[] @default([WEEKLY])
schedule_preset_id Int? schedule_preset_id Int?
schedule_preset SchedulePresets? @relation("EmployeesSchedulePreset", fields: [schedule_preset_id], references: [id]) schedule_preset SchedulePresets? @relation("EmployeesSchedulePreset", fields: [schedule_preset_id], references: [id])
supervisor Employees? @relation("EmployeeSupervisor", fields: [supervisor_id], references: [id]) supervisor Employees? @relation("EmployeeSupervisor", fields: [supervisor_id], references: [id])
crew Employees[] @relation("EmployeeSupervisor") crew Employees[] @relation("EmployeeSupervisor")
user Users @relation("UserEmployee", fields: [user_id], references: [id]) user Users @relation("UserEmployee", fields: [user_id], references: [id])
leave_request LeaveRequests[] @relation("LeaveRequestEmployee") leave_request LeaveRequests[] @relation("LeaveRequestEmployee")
timesheet Timesheets[] @relation("TimesheetEmployee") timesheet Timesheets[] @relation("TimesheetEmployee")
paid_time_off PaidTimeOff? @relation("EmployeePaidTimeOff") paid_time_off PaidTimeOff? @relation("EmployeePaidTimeOff")
@@map("employees") @@map("employees")
} }
@ -383,3 +385,9 @@ enum Weekday {
FRI FRI
SAT SAT
} }
enum ApplicableOvertime {
DAILY
WEEKLY
PAYPERIOD
}