fix(prisma): added supervisor/employee column to Employees

This commit is contained in:
Matthieu Haineault 2025-07-28 12:20:42 -04:00
parent b8e5947cfc
commit f8022087d4

View File

@ -38,21 +38,54 @@ model Employees {
first_work_day DateTime
last_work_day DateTime?
timesheet Timesheets[] @relation("TimesheetEmployee")
leave_request LeaveRequests[] @relation("LeaveRequestEmployee")
supervisor Employees? @relation("EmployeeSupervisor", fields: [supervisor_id], references: [id])
supervisor_id Int?
managed_employees Employees[] @relation("EmployeeSupervisor")
archive EmployeesArchive[] @relation("EmployeeToArchives")
timesheet Timesheets[] @relation("TimesheetEmployee")
leave_request LeaveRequests[] @relation("LeaveRequestEmployee")
@@map("employees")
}
model EmployeesArchive {
id Int @id @default(autoincrement())
employee Employees @relation("EmployeeToArchives", fields: [employee_id], references: [id])
employee_id Int
archived_at DateTime @default(now())
user_id String @db.Uuid
external_payroll_id Int
company_code Int
firstWorkDay DateTime
last_work_day DateTime
supervisor_id Int?
@@map("employees_archive")
}
model Customers {
id Int @id @default(autoincrement())
user Users @relation("UserCustomer", fields: [user_id], references: [id])
user_id String @unique @db.Uuid
invoice_id Int? @unique
archive CustomersArchive[] @relation("CustomerToArchives")
@@map("customers")
}
model CustomersArchive {
id Int @id @default(autoincrement())
customer Customers @relation("CustomerToArchives", fields: [customer_id], references: [id])
customer_id Int
archived_at DateTime @default(now())
user_id String @db.Uuid
invoice_id String @unique
@@map("customers_archive")
}
model LeaveRequests {
id Int @id @default(autoincrement())
employee Employees @relation("LeaveRequestEmployee", fields: [employee_id], references: [id])
@ -63,9 +96,26 @@ model LeaveRequests {
comment String
approval_status LeaveApprovalStatus @default(PENDING)
archive LeaveRequestsArchive[] @relation("LeaveRequestToArchives")
@@map("leave_requests")
}
model LeaveRequestsArchive {
id Int @id @default(autoincrement())
leave_request LeaveRequests @relation("LeaveRequestToArchives", fields: [leave_request_id], references: [id])
leave_request_id Int
archived_at DateTime @default(now())
employee_id Int
leave_type LeaveTypes
start_date_time DateTime
end_date_time DateTime?
comment String
approval_status LeaveApprovalStatus
@@map("leave_requests_archive")
}
//pay-period vue
model PayPeriods {
period_number Int @id
@ -83,12 +133,24 @@ model Timesheets {
employee_id Int
is_approved Boolean @default(false)
shift Shifts[] @relation("ShiftTimesheet")
expense Expenses[] @relation("ExpensesTimesheet")
shift Shifts[] @relation("ShiftTimesheet")
expense Expenses[] @relation("ExpensesTimesheet")
archive TimesheetsArchive[] @relation("TimesheetsToArchives")
@@map("timesheets")
}
model TimesheetsArchive {
id Int @id @default(autoincrement())
timesheet Timesheets @relation("TimesheetsToArchives", fields: [timesheet_id], references: [id])
timesheet_id Int
archive_at DateTime @default(now())
employee_id Int
is_approved Boolean
@@map("timesheets_archive")
}
model Shifts {
id Int @id @default(autoincrement())
timesheet Timesheets @relation("ShiftTimesheet", fields: [timesheet_id], references: [id])
@ -100,9 +162,26 @@ model Shifts {
start_time DateTime
end_time DateTime
archive ShiftsArchive[] @relation("ShiftsToArchives")
@@map("shifts")
}
model ShiftsArchive {
id Int @id @default(autoincrement())
shift Shifts @relation("ShiftsToArchives", fields: [shift_id], references: [id])
shift_id Int
archive_at DateTime
timesheet_id Int
shift_code_id Int
description String?
date DateTime
start_time DateTime
end_time DateTime
@@map("shifts_archive")
}
model ShiftCodes {
id Int @id @default(autoincrement())
shift_type String
@ -125,6 +204,25 @@ model Expenses {
description String?
is_approved Boolean @default(false)
supervisor_comment String?
archive ExpensesArchive[] @relation("ExpensesToArchive")
@@map("expenses")
}
model ExpensesArchive {
id Int @id @default(autoincrement())
expense Expenses @relation("ExpensesToArchive", fields: [expense_id], references: [id])
expense_id Int
timesheet_id Int
archived_at DateTime
amount Float
attachement String?
description String?
is_approved Boolean
supervisor_comment String?
@@map("expenses_archive")
}
model ExpenseCodes {
@ -133,6 +231,8 @@ model ExpenseCodes {
bank_code String
expense Expenses[] @relation("ExpenseExpenseCode")
@@map("expense_codes")
}
model OAuthAccessTokens {