fix(logic): use sequential puzzle number instead of database ID

This commit is contained in:
Hördle Bot
2025-11-23 00:12:04 +01:00
parent 77a769fb91
commit 4b9e7ac9ec
2 changed files with 30 additions and 3 deletions

View File

@@ -96,8 +96,23 @@ export async function getOrCreateDailyPuzzle(genreName: string | null = null) {
if (!dailyPuzzle) return null;
// Calculate puzzle number (sequential day count)
const whereClause = genreId
? { genreId: genreId }
: { genreId: null, specialId: null };
const puzzleCount = await prisma.dailyPuzzle.count({
where: {
...whereClause,
date: {
lte: dailyPuzzle.date
}
}
});
return {
id: dailyPuzzle.id,
puzzleNumber: puzzleCount,
audioUrl: `/api/audio/${dailyPuzzle.song.filename}`,
songId: dailyPuzzle.songId,
title: dailyPuzzle.song.title,
@@ -183,8 +198,19 @@ export async function getOrCreateSpecialPuzzle(specialName: string) {
if (!dailyPuzzle) return null;
// Calculate puzzle number
const puzzleCount = await prisma.dailyPuzzle.count({
where: {
specialId: special.id,
date: {
lte: dailyPuzzle.date
}
}
});
return {
id: dailyPuzzle.id,
puzzleNumber: puzzleCount,
audioUrl: `/api/audio/${dailyPuzzle.song.filename}`,
songId: dailyPuzzle.songId,
title: dailyPuzzle.song.title,