mirror of
https://github.com/detleph/server.git
synced 2026-09-04 08:36:06 +02:00
HOTFIX: Name of uuid function
The prisma schema didn't compile with the previous schema
This commit is contained in:
+170
-158
@@ -1,158 +1,170 @@
|
|||||||
// Schema for the main database
|
// Schema for the main database
|
||||||
|
|
||||||
datasource db {
|
datasource db {
|
||||||
provider = "postgresql"
|
provider = "postgresql"
|
||||||
url = env("DATABASE_URL")
|
url = env("DATABASE_URL")
|
||||||
}
|
}
|
||||||
|
|
||||||
generator client {
|
generator client {
|
||||||
provider = "prisma-client-js"
|
provider = "prisma-client-js"
|
||||||
}
|
}
|
||||||
|
|
||||||
model Event {
|
model Event {
|
||||||
id Int @id @default(autoincrement()) // Primary key
|
id Int @id @default(autoincrement()) // Primary key
|
||||||
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid // Public key
|
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid // Public key
|
||||||
date DateTime
|
date DateTime
|
||||||
name String
|
name String
|
||||||
description String
|
description String
|
||||||
|
|
||||||
disciplines Discipline[]
|
disciplines Discipline[]
|
||||||
organisations Organisation[]
|
organisations Organisation[]
|
||||||
campaign Campaign[]
|
campaign Campaign[]
|
||||||
}
|
visual Media[]
|
||||||
|
}
|
||||||
model Campaign {
|
|
||||||
id Int @id @default(autoincrement())
|
model Campaign {
|
||||||
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
id Int @id @default(autoincrement())
|
||||||
start DateTime
|
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||||
expiresAt DateTime
|
start DateTime
|
||||||
|
expiresAt DateTime
|
||||||
links Link[]
|
|
||||||
event Event @relation(fields: [eventId], references: [id])
|
links Link[]
|
||||||
eventId Int @unique
|
event Event @relation(fields: [eventId], references: [id], onDelete: Cascade)
|
||||||
}
|
eventId Int @unique
|
||||||
|
}
|
||||||
model Link {
|
|
||||||
id Int @id @default(autoincrement())
|
model Link {
|
||||||
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
id Int @id @default(autoincrement())
|
||||||
link String
|
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||||
|
link String
|
||||||
campaign Campaign @relation(fields: [campaignId], references: [id])
|
|
||||||
campaignId Int
|
campaign Campaign @relation(fields: [campaignId], references: [id], onDelete: Cascade)
|
||||||
group Group? @relation(fields: [groupId], references: [id])
|
campaignId Int
|
||||||
groupId Int @unique
|
group Group @relation(fields: [groupId], references: [id], onDelete: Cascade)
|
||||||
}
|
groupId Int @unique
|
||||||
|
}
|
||||||
model Admin {
|
|
||||||
id Int @id @default(autoincrement())
|
model Admin {
|
||||||
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
id Int @id @default(autoincrement())
|
||||||
name String @unique
|
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||||
password String // TODO: Probably specify hash size (VarChar or some other type)
|
name String @unique
|
||||||
|
password String // TODO: Probably specify hash size (VarChar or some other type)
|
||||||
permission_level AdminLevel @default(STANDARD)
|
|
||||||
revision DateTime @default(now())
|
permission_level AdminLevel @default(STANDARD)
|
||||||
groups Group[]
|
revision DateTime @default(now())
|
||||||
}
|
groups Group[]
|
||||||
|
}
|
||||||
model Discipline {
|
|
||||||
id Int @id @default(autoincrement())
|
model Discipline {
|
||||||
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
id Int @id @default(autoincrement())
|
||||||
name String
|
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||||
minTeamSize Int
|
name String
|
||||||
maxTeamSize Int
|
minTeamSize Int
|
||||||
roles RoleSchema[]
|
maxTeamSize Int
|
||||||
|
|
||||||
teams Team[]
|
roles RoleSchema[]
|
||||||
event Event @relation(fields: [eventId], references: [id])
|
teams Team[]
|
||||||
eventId Int
|
event Event @relation(fields: [eventId], references: [id], onDelete: Cascade)
|
||||||
}
|
eventId Int
|
||||||
|
visual Media[]
|
||||||
model RoleSchema {
|
}
|
||||||
id Int @id @default(autoincrement())
|
|
||||||
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
model RoleSchema {
|
||||||
name String
|
id Int @id @default(autoincrement())
|
||||||
schema Json
|
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||||
|
name String
|
||||||
roles Role[]
|
schema Json
|
||||||
discipline Discipline @relation(fields: [disciplineId], references: [id])
|
|
||||||
disciplineId Int
|
roles Role[]
|
||||||
}
|
discipline Discipline @relation(fields: [disciplineId], references: [id], onDelete: Cascade)
|
||||||
|
disciplineId Int
|
||||||
model Team {
|
visual Media[]
|
||||||
id Int @id @default(autoincrement())
|
}
|
||||||
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
||||||
name String
|
model Team {
|
||||||
leaderEmail String
|
id Int @id @default(autoincrement())
|
||||||
|
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||||
roles Role[] @relation(name: "participants")
|
name String
|
||||||
discipline Discipline @relation(fields: [disciplineId], references: [id])
|
leaderEmail String
|
||||||
disciplineId Int
|
|
||||||
}
|
roles Role[] @relation(name: "participants")
|
||||||
|
discipline Discipline @relation(fields: [disciplineId], references: [id], onDelete: Cascade)
|
||||||
model Participant {
|
disciplineId Int
|
||||||
id Int @id @default(autoincrement())
|
}
|
||||||
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
|
||||||
firstName String
|
model Participant {
|
||||||
lastName String
|
id Int @id @default(autoincrement())
|
||||||
gender Gender
|
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||||
|
firstName String
|
||||||
verified Boolean @default(false)
|
lastName String
|
||||||
|
gender Gender
|
||||||
group Group @relation(fields: [groupId], references: [id])
|
relevance Job
|
||||||
groupId Int
|
|
||||||
roles Role[]
|
group Group @relation(fields: [groupId], references: [id], onDelete: Cascade)
|
||||||
}
|
groupId Int
|
||||||
|
roles Role[]
|
||||||
model Role {
|
}
|
||||||
id Int @id @default(autoincrement())
|
|
||||||
pid String @unique @default(dbgenerated("gen_random"))
|
model Role {
|
||||||
name String //e.g. runner, swimmer,...
|
id Int @id @default(autoincrement())
|
||||||
importance Job
|
pid String @unique @default(dbgenerated("gen_random_uuid()"))
|
||||||
score String
|
score String
|
||||||
|
|
||||||
participant Participant? @relation(fields: [participantId], references: [id])
|
participant Participant? @relation(fields: [participantId], references: [id], onDelete: SetNull)
|
||||||
participantId Int?
|
participantId Int?
|
||||||
team Team @relation(name: "participants", fields: [teamId], references: [id])
|
team Team @relation(name: "participants", fields: [teamId], references: [id], onDelete: Cascade)
|
||||||
teamId Int
|
teamId Int
|
||||||
schema RoleSchema @relation(fields: [schemaId], references: [id])
|
schema RoleSchema @relation(fields: [schemaId], references: [id], onDelete: Cascade)
|
||||||
schemaId Int
|
schemaId Int
|
||||||
}
|
}
|
||||||
|
|
||||||
model Organisation {
|
model Organisation {
|
||||||
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
|
||||||
|
|
||||||
groups Group[]
|
groups Group[]
|
||||||
event Event @relation(fields: [eventId], references: [id])
|
event Event @relation(fields: [eventId], references: [id], onDelete: Cascade)
|
||||||
eventId Int
|
eventId Int
|
||||||
}
|
}
|
||||||
|
|
||||||
model Group {
|
model Group {
|
||||||
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
|
||||||
user_limit Int @default(40)
|
user_limit Int @default(40)
|
||||||
level Int
|
level Int
|
||||||
|
|
||||||
oragnisation Organisation @relation(fields: [oragnisationId], references: [id])
|
oragnisation Organisation @relation(fields: [oragnisationId], references: [id], onDelete: Cascade)
|
||||||
oragnisationId Int
|
oragnisationId Int
|
||||||
participants Participant[]
|
participants Participant[]
|
||||||
link Link?
|
link Link?
|
||||||
admins Admin[]
|
admins Admin[]
|
||||||
}
|
}
|
||||||
|
|
||||||
enum AdminLevel {
|
model Media {
|
||||||
STANDARD
|
id Int @id @default(autoincrement())
|
||||||
ELEVATED
|
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
|
||||||
}
|
description String
|
||||||
|
location String @unique
|
||||||
enum Gender {
|
|
||||||
MALE
|
event Event[]
|
||||||
FEMALE
|
discipline Discipline[]
|
||||||
OTHER
|
role RoleSchema[]
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Job {
|
enum AdminLevel {
|
||||||
TEAMLEADER
|
STANDARD
|
||||||
MEMBER
|
ELEVATED
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Gender {
|
||||||
|
MALE
|
||||||
|
FEMALE
|
||||||
|
OTHER
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Job {
|
||||||
|
TEAMLEADER
|
||||||
|
MEMBER
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user