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
+15 -7
View File
@@ -46,7 +46,8 @@ export default defineEventHandler(async (event) => {
id: true,
text: true,
picture: true,
updatedAt: true
updatedAt: true,
final: true
},
where: {
team: {
@@ -75,6 +76,9 @@ export default defineEventHandler(async (event) => {
if (quest.hunt.teams.length <= 0) {
throw createError({ status: 403, statusText: 'No team yet!' });
}
if (quest.answers.length > 0 && quest.answers[0].final) {
throw createError({ status: 418, statusText: 'Already marked as final!' });
}
const team = quest.hunt.teams[0];
@@ -89,7 +93,8 @@ export default defineEventHandler(async (event) => {
.file()
.mime(['image/png', 'image/jpeg', 'image/jpg'])
.max(10_000_000)
.optional()
.optional(),
final: zh.boolAsString.optional()
})
.parse(formDataObj);
@@ -113,7 +118,6 @@ export default defineEventHandler(async (event) => {
});
}
// TODO: prevent updating reviewed answers
// TODO: respect end of hunt
let picture: { creatorId: number; url: string; uuid: string } | undefined =
@@ -155,7 +159,8 @@ export default defineEventHandler(async (event) => {
data: {
memberId: userId,
text: data.answer,
pictureId: file.id
pictureId: file.id,
final: data.final
}
});
} else {
@@ -164,7 +169,8 @@ export default defineEventHandler(async (event) => {
teamId: team.id,
memberId: userId,
questId: quest.id,
text: data.answer
text: data.answer,
final: data.final
},
select: { id: true }
});
@@ -187,7 +193,8 @@ export default defineEventHandler(async (event) => {
},
data: {
memberId: userId,
text: data.answer
text: data.answer,
final: data.final
}
});
} else {
@@ -196,7 +203,8 @@ export default defineEventHandler(async (event) => {
teamId: team.id,
memberId: userId,
questId: quest.id,
text: data.answer
text: data.answer,
final: data.final
}
});
}