Compare commits
2 Commits
0054facbe7
...
v0.1.6.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2548c2870 | ||
|
|
40d6ea75f0 |
@@ -96,11 +96,12 @@ export async function POST(request: NextRequest) {
|
||||
|
||||
// Determine responsible curators
|
||||
const finalGenreId = genreId !== null && genreId !== undefined ? Number(genreId) : puzzle.genreId;
|
||||
const specialId = puzzle.specialId;
|
||||
|
||||
let curatorIds: number[] = [];
|
||||
const allCuratorIds = new Set<number>();
|
||||
|
||||
if (finalGenreId === null) {
|
||||
// Global puzzle: Get all global curators
|
||||
// Get all global curators (always included)
|
||||
const globalCurators = await prisma.curator.findMany({
|
||||
where: {
|
||||
isGlobalCurator: true
|
||||
@@ -109,8 +110,21 @@ export async function POST(request: NextRequest) {
|
||||
id: true
|
||||
}
|
||||
});
|
||||
curatorIds = globalCurators.map(c => c.id);
|
||||
} else {
|
||||
globalCurators.forEach(gc => allCuratorIds.add(gc.id));
|
||||
|
||||
// Check for special puzzle first (takes precedence)
|
||||
if (specialId !== null) {
|
||||
// Special puzzle: Get curators for this special + all global curators
|
||||
const specialCurators = await prisma.curatorSpecial.findMany({
|
||||
where: {
|
||||
specialId: specialId
|
||||
},
|
||||
select: {
|
||||
curatorId: true
|
||||
}
|
||||
});
|
||||
specialCurators.forEach(cs => allCuratorIds.add(cs.curatorId));
|
||||
} else if (finalGenreId !== null) {
|
||||
// Genre puzzle: Get curators for this genre + all global curators
|
||||
const genreCurators = await prisma.curatorGenre.findMany({
|
||||
where: {
|
||||
@@ -120,22 +134,11 @@ export async function POST(request: NextRequest) {
|
||||
curatorId: true
|
||||
}
|
||||
});
|
||||
|
||||
const globalCurators = await prisma.curator.findMany({
|
||||
where: {
|
||||
isGlobalCurator: true
|
||||
},
|
||||
select: {
|
||||
id: true
|
||||
}
|
||||
});
|
||||
|
||||
// Combine and deduplicate curator IDs
|
||||
const allCuratorIds = new Set<number>();
|
||||
genreCurators.forEach(cg => allCuratorIds.add(cg.curatorId));
|
||||
globalCurators.forEach(gc => allCuratorIds.add(gc.id));
|
||||
curatorIds = Array.from(allCuratorIds);
|
||||
}
|
||||
// else: Global puzzle - only global curators (already added above)
|
||||
|
||||
curatorIds = Array.from(allCuratorIds);
|
||||
|
||||
if (curatorIds.length === 0) {
|
||||
return NextResponse.json(
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "hoerdle",
|
||||
"version": "0.1.5.2",
|
||||
"version": "0.1.6.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
|
||||
@@ -159,7 +159,7 @@ model CuratorComment {
|
||||
puzzleId Int
|
||||
puzzle DailyPuzzle @relation(fields: [puzzleId], references: [id], onDelete: Cascade)
|
||||
genreId Int?
|
||||
genre Genre? @relation(fields: [genreId], references: [id])
|
||||
genre Genre? @relation(fields: [genreId], references: [id], onDelete: SetNull)
|
||||
message String
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user