feat: improve ux and security

This commit is contained in:
2026-03-25 17:30:49 +01:00
parent fedb0ae8db
commit 9c61d7561a
8 changed files with 80 additions and 15 deletions

View File

@@ -7,12 +7,16 @@ const paramsSchema = z.object({
id: z.string().transform(Number),
});
const bodySchema = z.object({
name: z.string().min(1).optional(),
path: z.string().min(1).optional(),
url: z.url().optional(),
disabled: z.boolean().optional(),
});
const bodySchema = z
.object({
name: z.string().min(1).optional(),
path: z.string().min(1).startsWith("/").optional(),
url: z.url().optional(),
disabled: z.boolean().optional(),
})
.refine((data) => Object.values(data).some((v) => v !== undefined), {
message: "At least one field must be provided",
});
export default defineEventHandler(async (event) => {
const params = await getValidatedRouterParams(event, paramsSchema.parse);