{"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"}