UNPKG

wcz-layout

Version:

1 lines 2.1 kB
{"version":3,"file":"middleware.mjs","names":[],"sources":["../src/middleware/validationMiddleware.ts","../src/middleware/csrfMiddleware.ts"],"sourcesContent":["import { createMiddleware } from \"@tanstack/react-start\";\nimport { z } from \"zod\";\n\nexport const validationMiddleware = <T>(schema: z.ZodType<T>) =>\n createMiddleware().server(async ({ next, request }) => {\n const json = await request.json();\n const result = schema.safeParse(json);\n if (!result.success) {\n const { fieldErrors } = z.flattenError(result.error);\n const firstFieldName = Object.keys(fieldErrors)[0];\n const firstErrorMessage = fieldErrors[firstFieldName as keyof typeof fieldErrors]?.[0];\n\n if (firstFieldName && firstErrorMessage) {\n const name = firstFieldName.charAt(0).toUpperCase() + firstFieldName.slice(1);\n const message = firstErrorMessage.replace(/^Invalid input:\\s*/i, \"\").toLowerCase();\n return Response.json({ message: `${name} - ${message}` }, { status: 400 });\n }\n\n return Response.json({ message: \"Validation failed\" }, { status: 400 });\n }\n return await next({ context: { data: result.data } });\n });\n","import { createCsrfMiddleware } from \"@tanstack/react-start\";\n\nexport const csrfMiddleware = createCsrfMiddleware({\n filter: (ctx) => ctx.handlerType === \"serverFn\",\n});\n"],"mappings":";;;;AAGA,MAAa,wBAA2B,WACtC,iBAAiB,CAAC,CAAC,OAAO,OAAO,EAAE,MAAM,cAAc;CACrD,MAAM,OAAO,MAAM,QAAQ,KAAK;CAChC,MAAM,SAAS,OAAO,UAAU,IAAI;CACpC,IAAI,CAAC,OAAO,SAAS;EACnB,MAAM,EAAE,gBAAgB,IAAE,aAAa,OAAO,KAAK;EACnD,MAAM,iBAAiB,OAAO,KAAK,WAAW,CAAC,CAAC;EAChD,MAAM,oBAAoB,YAAY,eAA2C,GAAG;EAEpF,IAAI,kBAAkB,mBAAmB;GACvC,MAAM,OAAO,eAAe,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,eAAe,MAAM,CAAC;GAC5E,MAAM,UAAU,kBAAkB,QAAQ,uBAAuB,EAAE,CAAC,CAAC,YAAY;GACjF,OAAO,SAAS,KAAK,EAAE,SAAS,GAAG,KAAI,KAAM,UAAU,GAAG,EAAE,QAAQ,IAAI,CAAC;EAC3E;EAEA,OAAO,SAAS,KAAK,EAAE,SAAS,oBAAoB,GAAG,EAAE,QAAQ,IAAI,CAAC;CACxE;CACA,OAAO,MAAM,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,KAAK,EAAE,CAAC;AACtD,CAAC;;;ACnBH,MAAa,iBAAiB,qBAAqB,EACjD,SAAS,QAAQ,IAAI,gBAAgB,WACvC,CAAC"}