Prevent submitting answer when no team
This commit is contained in:
@@ -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'"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -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 };
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user