fix(logic): use sequential puzzle number instead of database ID
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user