Files
2026-07-03 07:55:10 +03:00

58 lines
1.7 KiB
Plaintext

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
model DayGroup {
id String @id @default(cuid())
title String
order Int @default(0)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
tasks Task[]
}
model Task {
id String @id @default(cuid())
title String
descriptionMarkdown String
groupId String
order Int @default(0)
visible Boolean @default(true)
starterHtml String @default("")
starterCss String @default("")
starterJs String @default("")
referenceHtml String @default("")
referenceCss String @default("")
referenceJs String @default("")
expectedScreenshotPath String?
visualThreshold Float @default(0.85)
passingScore Float @default(0.8)
checksJson String @default("[]")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
group DayGroup @relation(fields: [groupId], references: [id], onDelete: Cascade)
submissions Submission[]
}
model Submission {
id String @id @default(cuid())
taskId String
studentName String
studentKey String
html String
css String
js String
passed Boolean
score Float
resultJson String
createdAt DateTime @default(now())
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
@@index([taskId, studentKey])
}