2026-04-10 15:43:07 +02:00
|
|
|
generator client {
|
|
|
|
|
provider = "prisma-client"
|
|
|
|
|
output = "../lib/generated/prisma"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
datasource db {
|
|
|
|
|
provider = "sqlite"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model User {
|
2026-04-10 22:48:15 +02:00
|
|
|
id String @id @default(uuid(7))
|
|
|
|
|
name String
|
|
|
|
|
email String @unique
|
|
|
|
|
password String
|
|
|
|
|
createdAt DateTime @default(now())
|
2026-04-10 21:41:49 +02:00
|
|
|
games Game[]
|
|
|
|
|
dailyResults DailyResult[]
|
2026-04-10 15:43:07 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model Game {
|
2026-04-10 22:48:15 +02:00
|
|
|
id String @id @default(uuid(7))
|
|
|
|
|
userId String
|
|
|
|
|
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
|
|
|
|
mode String // "solo" | "multi" | "daily" | "blitz"
|
|
|
|
|
startArticle String
|
2026-04-10 15:43:07 +02:00
|
|
|
targetArticle String
|
2026-04-10 22:48:15 +02:00
|
|
|
path String // JSON array de titres
|
|
|
|
|
clicks Int
|
|
|
|
|
timeSeconds Float
|
|
|
|
|
won Boolean @default(true)
|
|
|
|
|
playedAt DateTime @default(now())
|
2026-04-10 15:43:07 +02:00
|
|
|
|
|
|
|
|
@@index([userId])
|
|
|
|
|
}
|
2026-04-10 21:41:49 +02:00
|
|
|
|
|
|
|
|
model DailyPuzzle {
|
2026-04-10 22:48:15 +02:00
|
|
|
id String @id @default(uuid(7))
|
2026-04-10 21:41:49 +02:00
|
|
|
date String @unique // "YYYY-MM-DD"
|
|
|
|
|
startArticle String
|
|
|
|
|
targetArticle String
|
|
|
|
|
results DailyResult[]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model DailyResult {
|
2026-04-10 22:48:15 +02:00
|
|
|
id String @id @default(uuid(7))
|
|
|
|
|
puzzleId String
|
|
|
|
|
puzzle DailyPuzzle @relation(fields: [puzzleId], references: [id], onDelete: Cascade)
|
|
|
|
|
userId String
|
|
|
|
|
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
|
|
|
|
path String // JSON
|
|
|
|
|
clicks Int
|
|
|
|
|
timeSeconds Float
|
|
|
|
|
won Boolean
|
|
|
|
|
playedAt DateTime @default(now())
|
2026-04-10 21:41:49 +02:00
|
|
|
|
|
|
|
|
@@unique([puzzleId, userId])
|
|
|
|
|
@@index([puzzleId])
|
|
|
|
|
}
|