wcz-layout
Version:
1 lines • 2.61 kB
Source Map (JSON)
{"version":3,"file":"middleware.mjs","names":["createMiddleware","z","validationMiddleware","schema","ZodType","T","server","next","request","json","result","safeParse","success","fieldErrors","flattenError","error","firstFieldName","Object","keys","firstErrorMessage","name","charAt","toUpperCase","slice","message","replace","toLowerCase","Response","status","context","data","createCsrfMiddleware","csrfMiddleware","filter","ctx","handlerType"],"sources":["../src/middleware/validationMiddleware.ts","../src/middleware/csrfMiddleware.ts"],"sourcesContent":["import { createMiddleware } from \"@tanstack/react-start\";\r\nimport { z } from \"zod\";\r\n\r\nexport const validationMiddleware = <T>(schema: z.ZodType<T>) =>\r\n createMiddleware().server(async ({ next, request }) => {\r\n const json = await request.json();\r\n const result = schema.safeParse(json);\r\n if (!result.success) {\r\n const { fieldErrors } = z.flattenError(result.error);\r\n const firstFieldName = Object.keys(fieldErrors)[0];\r\n const firstErrorMessage = fieldErrors[firstFieldName as keyof typeof fieldErrors]?.[0];\r\n\r\n if (firstFieldName && firstErrorMessage) {\r\n const name = firstFieldName.charAt(0).toUpperCase() + firstFieldName.slice(1);\r\n const message = firstErrorMessage.replace(/^Invalid input:\\s*/i, \"\").toLowerCase();\r\n return Response.json({ message: `${name} - ${message}` }, { status: 400 });\r\n }\r\n\r\n return Response.json({ message: \"Validation failed\" }, { status: 400 });\r\n }\r\n return await next({ context: { data: result.data } });\r\n });\r\n","import { createCsrfMiddleware } from \"@tanstack/react-start\";\n\nexport const csrfMiddleware = createCsrfMiddleware({\n filter: (ctx) => ctx.handlerType === \"serverFn\",\n});\n"],"mappings":";;;;AAGA,MAAaE,wBAA2BC,WACtCH,iBAAiB,CAAC,CAACM,OAAO,OAAO,EAAEC,MAAMC,cAAc;CACrD,MAAMC,OAAO,MAAMD,QAAQC,KAAK;CAChC,MAAMC,SAASP,OAAOQ,UAAUF,IAAI;CACpC,IAAI,CAACC,OAAOE,SAAS;EACnB,MAAM,EAAEC,gBAAgBZ,EAAEa,aAAaJ,OAAOK,KAAK;EACnD,MAAMC,iBAAiBC,OAAOC,KAAKL,WAAW,CAAC,CAAC;EAChD,MAAMM,oBAAoBN,YAAYG,eAA2C,GAAG;EAEpF,IAAIA,kBAAkBG,mBAAmB;GACvC,MAAMC,OAAOJ,eAAeK,OAAO,CAAC,CAAC,CAACC,YAAY,IAAIN,eAAeO,MAAM,CAAC;GAC5E,MAAMC,UAAUL,kBAAkBM,QAAQ,uBAAuB,EAAE,CAAC,CAACC,YAAY;GACjF,OAAOC,SAASlB,KAAK,EAAEe,SAAS,GAAGJ,KAAI,KAAMI,UAAU,GAAG,EAAEI,QAAQ,IAAI,CAAC;EAC3E;EAEA,OAAOD,SAASlB,KAAK,EAAEe,SAAS,oBAAoB,GAAG,EAAEI,QAAQ,IAAI,CAAC;CACxE;CACA,OAAO,MAAMrB,KAAK,EAAEsB,SAAS,EAAEC,MAAMpB,OAAOoB,KAAK,EAAE,CAAC;AACtD,CAAC;;;ACnBH,MAAaE,iBAAiBD,qBAAqB,EACjDE,SAASC,QAAQA,IAAIC,gBAAgB,WACvC,CAAC"}