Switch to translatable data

This commit is contained in:
2025-08-20 23:18:40 +02:00
parent c35fb06830
commit cc544322b2
36 changed files with 431 additions and 146 deletions
+4 -2
View File
@@ -37,8 +37,10 @@ export default defineEventHandler(async (event) => {
},
select: {
id: true,
name: true,
description: true,
name_de: true,
name_en: true,
description_de: true,
description_en: true,
virtual: true,
start: true,
end: true,
+4 -2
View File
@@ -19,8 +19,10 @@ export default defineEventHandler(async (event) => {
event,
z
.object({
name: z.string().min(1).max(256).trim(),
description: z.string().min(1).max(1000).trim(),
name_de: z.string().min(1).max(256).trim(),
name_en: z.string().min(1).max(256).trim(),
description_de: z.string().min(1).max(1000).trim(),
description_en: z.string().min(1).max(1000).trim(),
virtual: z.boolean(),
start: z.iso.datetime(),
end: z.iso.datetime(),
+2 -1
View File
@@ -36,7 +36,8 @@ export default defineEventHandler(async (event) => {
},
select: {
id: true,
name: true,
name_de: true,
name_en: true,
teams: {
omit: {
huntId: true,
@@ -43,7 +43,8 @@ export default defineEventHandler(async (event) => {
include: {
hunt: {
select: {
name: true,
name_de: true,
name_en: true,
id: true
}
},
@@ -53,6 +54,7 @@ export default defineEventHandler(async (event) => {
text: true,
final: true,
updatedAt: true,
lang: true,
team: {
select: {
id: true,
+1 -1
View File
@@ -26,7 +26,7 @@ export default defineEventHandler(async (event) => {
);
try {
await prisma.teamMember.delete({
await prisma.teamMember.delete({
where: {
memberId_teamId: {
memberId: userId,
+4 -2
View File
@@ -18,11 +18,13 @@ export default defineEventHandler(async (event) => {
quest: {
select: {
id: true,
title: true,
title_de: true,
title_en: true,
hunt: {
select: {
id: true,
name: true
name_de: true,
name_en: true
}
}
}
+8 -4
View File
@@ -7,8 +7,10 @@ async function getOwnHunts(userId: number | undefined) {
return prisma.hunt.findMany({
select: {
id: true,
name: true,
description: true,
name_de: true,
name_en: true,
description_de: true,
description_en: true,
picture: {
select: {
url: true
@@ -60,8 +62,10 @@ export default defineEventHandler(async (event) => {
const others = await prisma.hunt.findMany({
select: {
id: true,
name: true,
description: true,
name_de: true,
name_en: true,
description_de: true,
description_en: true,
picture: {
select: {
url: true
+4 -2
View File
@@ -48,11 +48,13 @@ export default defineEventHandler(async (event) => {
},
select: {
id: true,
name: true,
name_de: true,
name_en: true,
quests: {
select: {
id: true,
title: true,
title_de: true,
title_en: true,
answers: {
select: {
team: {
+8 -4
View File
@@ -19,7 +19,10 @@ export default defineEventHandler(async (event) => {
},
select: {
id: true,
name: true,
name_de: true,
name_en: true,
description_de: true,
description_en: true,
revealAnswers: true,
revealQuests: true,
picture: {
@@ -27,7 +30,6 @@ export default defineEventHandler(async (event) => {
url: true
}
},
description: true,
createdAt: true,
start: true,
end: true,
@@ -80,13 +82,15 @@ export default defineEventHandler(async (event) => {
quests: {
select: {
id: true,
title: true,
title_de: true,
title_en: true,
description_de: true,
description_en: true,
picture: {
select: {
url: true
}
},
description: true,
textRequired: true,
pictureRequired: true,
points: true,
+6 -3
View File
@@ -48,7 +48,8 @@ export default defineEventHandler(async (event) => {
},
select: {
id: true,
name: true,
name_de: true,
name_en: true,
start: true,
end: true,
@@ -97,8 +98,10 @@ export default defineEventHandler(async (event) => {
quests: {
select: {
id: true,
title: true,
question: true,
title_de: true,
title_en: true,
description_de: true,
description_en: true,
textSolution: true,
points: true,
extraPoints: true,
+10 -5
View File
@@ -18,14 +18,17 @@ export default defineEventHandler(async (event) => {
},
select: {
id: true,
title: true,
description: true,
title_de: true,
title_en: true,
description_de: true,
description_en: true,
picture: {
select: {
url: true
}
},
question: true,
question_de: true,
question_en: true,
optional: true,
pictureRequired: true,
textRequired: true,
@@ -33,11 +36,13 @@ export default defineEventHandler(async (event) => {
textUnit: true,
points: true,
extraPoints: true,
extraText: true,
extraText_de: true,
extraText_en: true,
hunt: {
select: {
id: true,
name: true,
name_de: true,
name_en: true,
revealQuests: true
}
},
+9 -4
View File
@@ -89,6 +89,7 @@ export default defineEventHandler(async (event) => {
.object({
updatedAt: z.iso.datetime().optional(),
answer: z.string().optional(),
lang: z.enum(['de', 'en']).default('de'),
image: z
.file()
.mime(['image/png', 'image/jpeg', 'image/jpg'])
@@ -160,7 +161,8 @@ export default defineEventHandler(async (event) => {
memberId: userId,
text: data.answer,
pictureId: file.id,
final: data.final
final: data.final,
lang: data.lang
}
});
} else {
@@ -170,7 +172,8 @@ export default defineEventHandler(async (event) => {
memberId: userId,
questId: quest.id,
text: data.answer,
final: data.final
final: data.final,
lang: data.lang
},
select: { id: true }
});
@@ -194,7 +197,8 @@ export default defineEventHandler(async (event) => {
data: {
memberId: userId,
text: data.answer,
final: data.final
final: data.final,
lang: data.lang
}
});
} else {
@@ -204,7 +208,8 @@ export default defineEventHandler(async (event) => {
memberId: userId,
questId: quest.id,
text: data.answer,
final: data.final
final: data.final,
lang: data.lang
}
});
}