Move review to separate model
This commit is contained in:
@@ -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
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user