diff --git a/prisma/schema.prisma b/prisma/schema.prisma index b3d9b35..95fe3a4 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -141,26 +141,47 @@ model Submission { user User @relation(fields: [userId], references: [id], onDelete: Cascade) problem Problem @relation(fields: [problemId], references: [id], onDelete: Cascade) + TestcaseResult TestcaseResult[] + createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model Testcase { - id String @id @default(cuid()) + id String @id @default(cuid()) problemId String - problem Problem @relation(fields: [problemId], references: [id], onDelete: Cascade) + problem Problem @relation(fields: [problemId], references: [id], onDelete: Cascade) data TestcaseData[] expectedOutput String + TestcaseResult TestcaseResult[] } model TestcaseData { id String @id @default(cuid()) + index Int label String value String testcaseId String testcase Testcase @relation(fields: [testcaseId], references: [id], onDelete: Cascade) } +model TestcaseResult { + id String @id @default(cuid()) + isCorrect Boolean + output String + + executionTime Int? + memoryUsage Int? + + submissionId String + testcaseId String + submission Submission @relation(fields: [submissionId], references: [id], onDelete: Cascade) + testcase Testcase @relation(fields: [testcaseId], references: [id], onDelete: Cascade) + + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + model Account { userId String type String