48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
enum PARTICIPANT_STATUS {
|
|
WAITING_FOR_ENTRY_TEST
|
|
ENTRY_TEST_FAILED
|
|
READY_FOR_EVENT
|
|
PARTICIPATED
|
|
WAITING_FOR_EXIT_TEST
|
|
EXIT_TEST_FAILED
|
|
WAITING_FOR_PERMISISONS
|
|
FINISHED
|
|
WAVED
|
|
}
|
|
|
|
model Participant {
|
|
id Int @id @default(autoincrement())
|
|
userId String @map(name: "user_id")
|
|
status PARTICIPANT_STATUS
|
|
selectedForParticipatioon Boolean @default(false)
|
|
statusLog Json[]
|
|
eventId Int
|
|
// relations:
|
|
user User @relation(fields: [userId], references: [id])
|
|
Event Event? @relation(fields: [eventId], references: [id])
|
|
}
|
|
|
|
model Event {
|
|
id Int @id @default(autoincrement())
|
|
name String
|
|
description String
|
|
discordRoleId String? @default("")
|
|
hasPresenceEvents Boolean @default(false)
|
|
maxParticipants Int? @default(0)
|
|
starterMoodleCourseId String? @default("")
|
|
finisherMoodleCourseId String? @default("")
|
|
finishedBadges String[] @default([])
|
|
requiredBadges String[] @default([])
|
|
finishedPermissions String[] @default([])
|
|
hidden Boolean @default(true)
|
|
|
|
// relations:
|
|
participants Participant[]
|
|
}
|
|
|
|
model File {
|
|
id Int @id @default(autoincrement())
|
|
|
|
// Weitere Felder für das File-Modell
|
|
}
|