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