Merge family absence flows while preserving security hardening

This commit is contained in:
t.indorf
2026-10-10 07:08:41 +02:00
30 changed files with 2822 additions and 644 deletions
+10
View File
@@ -268,6 +268,7 @@ model User {
mitbringselItems MitbringselItem[]
invitationsCreated Invitation[] @relation("InvitationCreator")
familyInvitation Invitation? @relation("InvitationRecipient")
auditLogsAuthored AuditLog[] @relation("AuditLogActor")
staffProfile StaffProfile?
staffNotifications StaffNotification[]
@@ -749,10 +750,19 @@ model Invitation {
email String
role UserRole @default(ELTERN)
// Nullable for older, unlinked invitations. Family invitations belong to a user.
userId String? @unique
user User? @relation("InvitationRecipient", fields: [userId], references: [id], onDelete: Cascade)
token String @unique
status InvitationStatus @default(PENDING)
expiresAt DateTime
acceptedAt DateTime?
sentAt DateTime?
lastAttemptAt DateTime?
leaseUntil DateTime?
attempts Int @default(0)
failed Boolean @default(false)
invitedById String?
invitedBy User? @relation("InvitationCreator", fields: [invitedById], references: [id], onDelete: SetNull)