continue Event page
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "PARTICIPANT_STATUS" AS ENUM ('WAITING_FOR_ENTRY_TEST', 'ENTRY_TEST_FAILED', 'READY_FOR_EVENT', 'PARTICIPATED', 'WAITING_FOR_EXIT_TEST', 'EXIT_TEST_FAILED', 'WAITING_FOR_PERMISISONS', 'FINISHED', 'WAVED');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Participant" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"user_id" TEXT NOT NULL,
|
||||
"status" "PARTICIPANT_STATUS" NOT NULL,
|
||||
"selectedForParticipatioon" BOOLEAN NOT NULL DEFAULT false,
|
||||
"statusLog" JSONB[],
|
||||
"eventId" INTEGER,
|
||||
|
||||
CONSTRAINT "Participant_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Event" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT,
|
||||
"discordRoleId" TEXT,
|
||||
"hasPresenceEvents" BOOLEAN NOT NULL DEFAULT false,
|
||||
"maxParticipants" INTEGER NOT NULL,
|
||||
"starterMoodleCourseId" INTEGER,
|
||||
"finisherMoodleCourseId" INTEGER,
|
||||
"finished" BOOLEAN NOT NULL DEFAULT false,
|
||||
"finishedBadges" TEXT[],
|
||||
"requiredBadges" TEXT[],
|
||||
"finishedPermissions" TEXT[],
|
||||
"hidden" BOOLEAN NOT NULL DEFAULT true,
|
||||
|
||||
CONSTRAINT "Event_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "File" (
|
||||
"id" SERIAL NOT NULL,
|
||||
|
||||
CONSTRAINT "File_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Participant" ADD CONSTRAINT "Participant_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Participant" ADD CONSTRAINT "Participant_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `finished` on the `Event` table. All the data in the column will be lost.
|
||||
- Made the column `description` on table `Event` required. This step will fail if there are existing NULL values in that column.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "Event" DROP COLUMN "finished",
|
||||
ALTER COLUMN "description" SET NOT NULL,
|
||||
ALTER COLUMN "maxParticipants" DROP NOT NULL,
|
||||
ALTER COLUMN "finishedBadges" SET DEFAULT ARRAY[]::TEXT[],
|
||||
ALTER COLUMN "requiredBadges" SET DEFAULT ARRAY[]::TEXT[],
|
||||
ALTER COLUMN "finishedPermissions" SET DEFAULT ARRAY[]::TEXT[];
|
||||
@@ -0,0 +1,47 @@
|
||||
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?
|
||||
hasPresenceEvents Boolean @default(false)
|
||||
maxParticipants Int? @default(0)
|
||||
starterMoodleCourseId Int?
|
||||
finisherMoodleCourseId Int?
|
||||
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
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ model User {
|
||||
// relations:
|
||||
oauthTokens OAuthToken[]
|
||||
discordAccounts DiscordAccount[]
|
||||
participants Participant[]
|
||||
|
||||
@@map(name: "users")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user