Add 4 files, update 15 files

This commit is contained in:
[dyad] committed 2026-08-02 15:17:18 +02:00
1 parent a97794acf8
commit 2db87a1227
19 files changed
+414 -33

No files matched your search

@@ -0,0 +1,20 @@
ALTER TABLE "teacher_absences"
ADD COLUMN "approvalStatus" TEXT NOT NULL DEFAULT 'pending',
ADD COLUMN "approvedBy" TEXT,
ADD COLUMN "approvedAt" TIMESTAMP(3),
ADD COLUMN "privateAdminNotes" TEXT,
ADD COLUMN "documentUrl" TEXT,
ADD COLUMN "calendarEventId" TEXT;
ALTER TABLE "teacher_absences"
ADD CONSTRAINT "teacher_absences_approvedBy_fkey"
FOREIGN KEY ("approvedBy") REFERENCES "User"("id")
ON DELETE SET NULL ON UPDATE CASCADE;
ALTER TABLE "teacher_absences"
ADD CONSTRAINT "teacher_absences_calendarEventId_fkey"
FOREIGN KEY ("calendarEventId") REFERENCES "CalendarEvent"("id")
ON DELETE SET NULL ON UPDATE CASCADE;
CREATE UNIQUE INDEX "teacher_absences_calendarEventId_key" ON "teacher_absences"("calendarEventId");
CREATE INDEX "teacher_absences_approvalStatus_idx" ON "teacher_absences"("approvalStatus");
+11
View File
@@ -199,6 +199,7 @@ model User {
illnessReports IllnessReport[]
illnessReportApprovals IllnessReport[] @relation("IllnessApprover")
illnessReportAdminApprovals IllnessReport[] @relation("IllnessAdminApprover")
teacherAbsenceApprovals TeacherAbsence[] @relation("TeacherAbsenceApprover")
communicationRoomMembers CommunicationRoomMember[]
communicationMessages CommunicationMessage[]
counselingAppointments CounselingAppointment[] @relation("Counselor")
@@ -1157,6 +1158,7 @@ model CalendarEvent {
childEvents CalendarEvent[] @relation("EventRecurrence")
examPlan ExamPlan?
illnessReport IllnessReport?
teacherAbsence TeacherAbsence? @relation("TeacherAbsenceCalendar")
@@index([schoolId])
@@index([teacherId])
@@ -3217,16 +3219,25 @@ model TeacherAbsence {
reason String?
status String @default("reported") // reported, covered, cancelled
notes String?
approvalStatus String @default("pending") // pending, approved, rejected
approvedBy String?
approvedAt DateTime?
privateAdminNotes String?
documentUrl String?
calendarEventId String? @unique
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
school School @relation(fields: [schoolId], references: [id])
teacher User @relation(fields: [teacherId], references: [id])
approver User? @relation("TeacherAbsenceApprover", fields: [approvedBy], references: [id])
calendarEvent CalendarEvent? @relation("TeacherAbsenceCalendar", fields: [calendarEventId], references: [id])
assignments SubstitutionAssignment[]
@@index([schoolId])
@@index([teacherId])
@@index([startDate])
@@index([approvalStatus])
@@map("teacher_absences")
}