From 9b9115cb73d354c50814a6c4ca42205364f567a4 Mon Sep 17 00:00:00 2001 From: Z User Date: Mon, 10 Aug 2026 15:46:49 +0000 Subject: [PATCH] Fix: Prisma schema - add missing relation fields for ClassMessagingLock and EscalationPolicy - Added schoolId field and school relation to ClassMessagingLock model - Added escalationPoliciesOverridden to User model - Added classMessagingLocksLocked to User model - Added classMessagingLocks relation to ClassGroup model - Added relation names to avoid ambiguity --- prisma/schema.prisma | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index e14bd82..e5ee15b 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -247,6 +247,8 @@ model User { // Module J widgets relations dashboardWidgets DashboardWidget[] dashboardLayouts DashboardLayout[] + escalationPoliciesOverridden EscalationPolicy[] @relation("EscalationOverriddenBy") + classMessagingLocksLocked ClassMessagingLock[] @relation("ClassMessagingLockLockedBy") passwordResetTokens PasswordResetToken[] twoFactorRecoveryCodes TwoFactorRecoveryCode[] } @@ -336,6 +338,7 @@ model ClassGroup { examPlans ExamPlan[] seatingCharts SeatingChart[] substitutionAssignments SubstitutionAssignment[] + classMessagingLocks ClassMessagingLock[] } model ClassGroupTeacher { @@ -3740,7 +3743,7 @@ model EscalationPolicy { updatedAt DateTime @updatedAt school School @relation(fields: [schoolId], references: [id]) - overriddenByUser User? @relation(fields: [overriddenByUserId], references: [id]) + overriddenByUser User? @relation("EscalationOverriddenBy", fields: [overriddenByUserId], references: [id]) @@index([schoolId]) @@index([fromRole, toRole]) @@ -3750,6 +3753,7 @@ model EscalationPolicy { model ClassMessagingLock { id String @id @default(cuid()) classGroupId String + schoolId String lockedByUserId String // teacher who locked lockedFrom DateTime lockedUntil DateTime? // nullable = "until class ends" @@ -3758,9 +3762,11 @@ model ClassMessagingLock { updatedAt DateTime @updatedAt classGroup ClassGroup @relation(fields: [classGroupId], references: [id]) - lockedByUser User @relation(fields: [lockedByUserId], references: [id]) + school School @relation(fields: [schoolId], references: [id]) + lockedByUser User @relation("ClassMessagingLockLockedBy", fields: [lockedByUserId], references: [id]) @@index([classGroupId]) + @@index([schoolId]) @@index([lockedByUserId]) @@index([lockedFrom, lockedUntil]) @@map("class_messaging_locks")