Move review to separate model

This commit is contained in:
2025-08-13 23:53:36 +02:00
parent befc678bdb
commit 900414727f
17 changed files with 403 additions and 155 deletions
+29 -6
View File
@@ -96,20 +96,42 @@ export default defineEventHandler(async (event) => {
textUnit: true,
_count: {
select: {
answers: true
answers: {
where: {
final: true,
OR: [
{
review: null
},
{
review: { score: null }
},
{
review: {
review: null
}
}
]
}
}
}
},
answers: {
select: {
id: true,
text: true,
final: true,
picture: {
select: {
url: true
}
},
score: true,
review: true,
review: {
select: {
score: true,
review: true
}
},
member: {
select: {
name: true
@@ -160,13 +182,14 @@ export default defineEventHandler(async (event) => {
const isMember = hunt.creator.id === userId || members.length > 0;
const ownTeam = teams.length > 0 ? teams[0] : null;
const mappedQuests = quests.map(({ answers, ...q }) => ({
const mappedQuests = quests.map(({ answers, _count, ...q }) => ({
...q,
unreviewed: isMember ? _count.answers : undefined,
answer: answers.length > 0 ? answers[0] : null
}));
const totalScore = mappedQuests.reduce(
(acc, q) => acc + (q.answer?.score ?? 0),
(acc, q) => acc + (q.answer?.review?.score ?? 0),
0
);
@@ -176,7 +199,7 @@ export default defineEventHandler(async (event) => {
ownTeam,
loggedIn: !!user.user,
totalScore: ownTeam !== null ? totalScore : undefined,
quests: hunt.revealQuests ? mappedQuests : null,
quests: hunt.revealQuests || isMember ? mappedQuests : null,
...hunt
};
});