updating Role model (v.2.0)

This commit is contained in:
Laurin
2022-04-28 12:49:07 +02:00
committed by Stefan-5422
parent 4a57f75997
commit 79e40e8369
+31 -16
View File
@@ -46,8 +46,9 @@ model Link {
model Admin { model Admin {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
name String // TODO: This should maybe be unique name String @unique
password String // TODO: Probably specify hash size (VarChar or some other type) password String // TODO: Probably specify hash size (VarChar or some other type)
permission_level AdminLevel @default(STANDARD) permission_level AdminLevel @default(STANDARD)
revision DateTime @default(now()) revision DateTime @default(now())
groups Group[] groups Group[]
@@ -59,34 +60,33 @@ model Discipline {
name String name String
minTeamSize Int minTeamSize Int
maxTeamSize Int maxTeamSize Int
roles Role[] roles RoleSchema[]
teams Team[] teams Team[]
event Event @relation(fields: [eventId], references: [id]) event Event @relation(fields: [eventId], references: [id])
eventId Int eventId Int
} }
model Role { model RoleSchema {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
name String name String
schema Json schema Json
participant Participant[] roles Role[]
discipline Discipline @relation(fields: [disciplineId], references: [id]) discipline Discipline @relation(fields: [disciplineId], references: [id])
disciplineId Int disciplineId Int
} }
model Team { model Team {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
name String name String
leaderEmail String
participants Participant[] @relation(name: "participants") roles Role[] @relation(name: "participants")
discipline Discipline @relation(fields: [disciplineId], references: [id]) discipline Discipline @relation(fields: [disciplineId], references: [id])
disciplineId Int disciplineId Int
leader Participant? @relation(name: "leader", fields: [leaderId], references: [id])
leaderId Int @unique
} }
model Participant { model Participant {
@@ -94,18 +94,28 @@ model Participant {
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
firstName String firstName String
lastName String lastName String
email String
gender Gender gender Gender
verified Boolean @default(false) verified Boolean @default(false)
group Group @relation(fields: [groupId], references: [id]) group Group @relation(fields: [groupId], references: [id])
groupId Int groupId Int
team Team @relation(name: "participants", fields: [teamId], references: [id])
teamId Int
leaderOf Team? @relation(name: "leader")
roles Role[] roles Role[]
}
model Role {
id Int @id @default(autoincrement())
pid String @unique @default(dbgenerated("gen_random"))
name String //e.g. runner, swimmer,...
importance Job
score String
participant Participant? @relation(fields: [participantId], references: [id])
participantId Int?
team Team @relation(name: "participants", fields: [teamId], references: [id])
teamId Int
schema RoleSchema @relation(fields: [schemaId], references: [id])
schemaId Int
} }
model Organisation { model Organisation {
@@ -142,3 +152,8 @@ enum Gender {
FEMALE FEMALE
OTHER OTHER
} }
enum Job {
TEAMLEADER
MEMBER
}