Add writing reviews for answers

This commit is contained in:
2025-08-14 20:33:39 +02:00
parent 5146e8e490
commit 9cb405be22
7 changed files with 116 additions and 13 deletions
@@ -66,7 +66,8 @@ export default defineEventHandler(async (event) => {
},
create: {
...data,
reviewerId: userId
reviewerId: userId,
answerId
}
});
+28 -3
View File
@@ -18,7 +18,7 @@ export default defineEventHandler(async (event) => {
})
);
const hunt = await prisma.hunt.findUnique({
const _hunt = await prisma.hunt.findUnique({
where: {
id: huntId,
OR: [
@@ -58,6 +58,22 @@ export default defineEventHandler(async (event) => {
answers: true
}
},
answers: {
select: {
review: {
select: {
score: true
}
}
},
where: {
review: {
score: {
gt: 0
}
}
}
},
members: {
select: {
createdAt: true,
@@ -75,9 +91,18 @@ export default defineEventHandler(async (event) => {
}
});
if (!hunt) {
if (!_hunt) {
throw createError({ status: 404, statusText: 'Not found!' });
}
const { teams, ...hunt } = _hunt;
return hunt;
return {
teams: teams
.map(({ answers, ...t }) => ({
...t,
score: answers.reduce((sum, a) => sum + (a.review?.score || 0), 0)
}))
.toSorted((a, b) => b.score - a.score),
...hunt
};
});
@@ -66,6 +66,7 @@ export default defineEventHandler(async (event) => {
internalNote: true,
rankingValue: true,
showcase: true,
updatedAt: true,
reviewer: {
select: {
name: true,