From 2dd60c3dd313ca1242f57e860d6c3f1d94e590c1 Mon Sep 17 00:00:00 2001 From: Matthew Miller Date: Fri, 9 Aug 2024 14:28:50 -0700 Subject: [PATCH] Show off simple schema parsing of query params --- src/handlers/handleCreateRegOptions.ts | 10 +++++++++- src/schemas.ts | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/handlers/handleCreateRegOptions.ts b/src/handlers/handleCreateRegOptions.ts index 302f69a..76d7e37 100644 --- a/src/handlers/handleCreateRegOptions.ts +++ b/src/handlers/handleCreateRegOptions.ts @@ -1,6 +1,14 @@ import { Context } from 'hono'; +import { zfd } from 'zod-form-data'; +import { regOptionsInputSchema } from '../schemas'; + +/** + * Generate registration options + */ export async function handleCreateRegOptions(context: Context): Promise { - return context.text('handleCreateRegOptions'); + const parsedInput = zfd.formData(regOptionsInputSchema).parse(context.req.query()); + console.log(parsedInput); + return context.text(`handleCreateRegOptions ${JSON.stringify(parsedInput)}`); } diff --git a/src/schemas.ts b/src/schemas.ts index dc0ff6b..bd794ca 100644 --- a/src/schemas.ts +++ b/src/schemas.ts @@ -9,7 +9,9 @@ export { ZodError } from 'zod'; /** * Schema for incoming query params to configure registration options */ -export const regOptionsInputSchema = z.object({}); +export const regOptionsInputSchema = z.object({ + foo: z.string().optional(), +}); /**