This commit is contained in:
Your Name committed 2026-06-15 19:00:31 -04:00
1 parent a7091858e0
commit ba5c0aba50
9 files changed
+719 -431

No files matched your search

+15 -3
View File
@@ -24,7 +24,7 @@ export const menusRoute = new Elysia({ prefix: "/menus" })
}
});
if (!menu) {
return { name, items: [] };
return { name, items: [], payload: null, isActive: false };
}
return menu;
})
@@ -59,11 +59,21 @@ export const menusRoute = new Elysia({ prefix: "/menus" })
})
.put("/:name", async ({ params: { name }, body, set }) => {
try {
const { items } = body as { items: { id?: number; label: string; url: string; order: number; translations?: { langCode: string; label: string }[] }[] };
const { items, payload, isActive } = body as {
payload?: any;
isActive?: boolean;
items: { id?: number; label: string; url: string; order: number; translations?: { langCode: string; label: string }[] }[]
};
let menu = await prisma.menu.findUnique({ where: { name } });
const updateData: any = {};
if (payload !== undefined) updateData.payload = payload;
if (isActive !== undefined) updateData.isActive = isActive;
if (!menu) {
menu = await prisma.menu.create({ data: { name } });
menu = await prisma.menu.create({ data: { name, ...updateData } });
} else if (Object.keys(updateData).length > 0) {
menu = await prisma.menu.update({ where: { name }, data: updateData });
}
await prisma.$transaction(async (tx: any) => {
@@ -121,6 +131,8 @@ export const menusRoute = new Elysia({ prefix: "/menus" })
}
}, {
body: t.Object({
payload: t.Optional(t.Any()),
isActive: t.Optional(t.Boolean()),
items: t.Array(t.Object({
id: t.Optional(t.Number()),
label: t.String(),