Prevent submitting answer when no team

This commit is contained in:
2025-09-15 15:16:37 +02:00
parent 33c7e2335f
commit 0c5a6963d3
2 changed files with 26 additions and 3 deletions
@@ -247,7 +247,7 @@ async function submit() {
</VaCardContent> </VaCardContent>
</VaCard> </VaCard>
<VaCard <VaCard
v-if="user && user.role !== 'ADMIN'" v-if="user && user.role !== 'ADMIN' && data.teamId"
stripe stripe
:stripe-color="data.answer?.final ? 'success' : 'primary'" :stripe-color="data.answer?.final ? 'success' : 'primary'"
> >
+25 -2
View File
@@ -43,7 +43,26 @@ export default defineEventHandler(async (event) => {
id: true, id: true,
name_de: true, name_de: true,
name_en: true, name_en: true,
revealQuests: true revealQuests: true,
teams: {
select: {
id: true
},
where: {
OR: [
{
ownerId: userId
},
{
members: {
some: {
memberId: userId
}
}
}
]
}
}
} }
}, },
answers: { answers: {
@@ -104,9 +123,13 @@ export default defineEventHandler(async (event) => {
throw createError({ status: 404, statusText: 'Not found!' }); throw createError({ status: 404, statusText: 'Not found!' });
} }
const teamId = _quest.hunt.teams[0]?.id ?? null;
// @ts-expect-error undefined to remove from DTO
_quest.hunt.teams = undefined;
const { answers, ...quest } = _quest; const { answers, ...quest } = _quest;
const answer = answers.length > 0 ? answers[0] : null; const answer = answers.length > 0 ? answers[0] : null;
return { answer, ...quest }; return { answer, ...quest, teamId };
}); });