generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model User { id Int @id @default(autoincrement()) username String @unique password String Submission Session[] } model Session { token String @id createdAt DateTime @default(now()) user User @relation(fields: [userId], references: [id]) userId Int } enum SubmissionState { InReview Correct Incorrect } model Submission { id Int @id @default(autoincrement()) createdAt DateTime @default(now()) gradedAt DateTime? state SubmissionState actualOutput String message String? team Team @relation(fields: [teamId], references: [id]) teamId Int problem Problem @relation(fields: [problemId], references: [id]) problemId Int } model Problem { id Int @id @default(autoincrement()) friendlyName String @unique sampleInput String sampleOutput String realInput String realOutput String Submission Submission[] contests Contest[] @relation("ProblemContestRelation") } model Team { id Int @id @default(autoincrement()) name String @unique Submission Submission[] contests Contest[] @relation("TeamContestRelation") } model Contest { id Int @id @default(autoincrement()) name String teams Team[] @relation("TeamContestRelation") problems Problem[] @relation("ProblemContestRelation") }