Implement Specials feature, Admin UI enhancements, and Database Rebuild tool

This commit is contained in:
Hördle Bot
2025-11-22 16:09:45 +01:00
parent c270f2098f
commit 903d626699
16 changed files with 816 additions and 37 deletions

View File

@@ -19,6 +19,7 @@ model Song {
createdAt DateTime @default(now())
puzzles DailyPuzzle[]
genres Genre[]
specials Special[]
}
model Genre {
@@ -28,6 +29,16 @@ model Genre {
dailyPuzzles DailyPuzzle[]
}
model Special {
id Int @id @default(autoincrement())
name String @unique
maxAttempts Int @default(7)
unlockSteps String // JSON array: "[2,4,7,11,16,30,60]"
createdAt DateTime @default(now())
songs Song[]
dailyPuzzles DailyPuzzle[]
}
model DailyPuzzle {
id Int @id @default(autoincrement())
date String // Format: YYYY-MM-DD
@@ -35,6 +46,8 @@ model DailyPuzzle {
song Song @relation(fields: [songId], references: [id])
genreId Int?
genre Genre? @relation(fields: [genreId], references: [id])
specialId Int?
special Special? @relation(fields: [specialId], references: [id])
@@unique([date, genreId]) // Unique puzzle per date per genre (null genreId = global puzzle)
@@unique([date, genreId, specialId])
}