mirror of
https://github.com/Since-3/Kuma.git
synced 2026-10-12 21:41:17 +00:00
see comments + dynamic timeout instead of schedule job
This commit is contained in:
parent
bd10088e26
commit
034e7386c8
7 changed files with 165 additions and 169 deletions
|
|
@ -207,19 +207,21 @@ model CourseBooking {
|
|||
@@index([guestLeadId])
|
||||
}
|
||||
|
||||
// Bewusst nur für registrierte User (kein guestEmail-Feld): ein
|
||||
// unauthentifiziertes Gast-Formular würde eine beliebige, nicht verifizierte
|
||||
// E-Mail-Adresse als Benachrichtigungsempfänger akzeptieren, ohne dass deren
|
||||
// Kontrolle bestätigt wurde. Der Login-Zwang schließt das und wirkt nebenbei
|
||||
// als Anreiz zur Registrierung (Lead-Generierung).
|
||||
model CourseWaitlistEntry {
|
||||
id String @id @default(uuid())
|
||||
courseId String
|
||||
userId String?
|
||||
guestEmail String? // normalisiert lowercase; null wenn userId gesetzt
|
||||
guestName String? // optional, nur bei Gast-Einträgen
|
||||
userId String
|
||||
notifiedAt DateTime? // Zeitpunkt der letzten "Platz frei"-Benachrichtigung, null = noch nie benachrichtigt
|
||||
course Course @relation(fields: [courseId], references: [id], onDelete: Cascade)
|
||||
user User? @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
@@unique([courseId, userId]) // Ein User kann sich nur einmal pro Kurs eintragen (NULL zählt in Postgres nicht als Duplikat, betrifft also nur registrierte User)
|
||||
@@unique([courseId, guestEmail]) // Dieselbe Gast-E-Mail nur einmal pro Kurs (analog, betrifft nur Gast-Einträge)
|
||||
@@unique([courseId, userId]) // Ein User kann sich nur einmal pro Kurs eintragen
|
||||
@@index([courseId])
|
||||
@@index([userId])
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue