From 28bcb79d2d8bc9731dd2bdc4dc968d249d937067 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Fri, 20 May 2022 19:15:47 +0200 Subject: [PATCH] Create initial db schema --- prisma/schema.prisma | 53 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index d205f42..02d0127 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -6,6 +6,57 @@ generator client { } datasource db { - provider = "postgresql" + provider = "mysql" url = env("DATABASE_URL") } + +/// An event is the representation of a gathering of people in a certain place at a certain time. +model Event { + id Int @id @default(autoincrement()) + // + slug String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + viewPassword String? + joinPassword String? + // + name String + description String + postcard String? + startTime DateTime? + endTime DateTime? + location String? + // + partecipants Partecipant[] +} + +/// A partecipant is a person who may or may not partecipate to the event. +model Partecipant { + id Int @id @default(autoincrement()) + eventId Int + event Event @relation(fields: [eventId], references: [id]) + // + name String + email String + // + means PartecipationMeans + createdAt DateTime @default(now()) + joinedAt DateTime? + // + answer PartecipationAnswer +} + +enum PartecipationMeans { + CREATOR + INVITED + ACCEPTED + JOINED +} + +enum PartecipationAnswer { + HOST + YES + MAYBE + NO + PENDING +}