diff --git a/server/src/index.ts b/server/src/index.ts index 91e1177..fb1781e 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -44,7 +44,15 @@ const StoreItemSchema = z.object({ category: z.string(), site: z.string(), batch: z.string(), - purchased: z.boolean(), + purchased: z.preprocess((v) => { + if (typeof v === 'string') { + const s = v.toLowerCase(); + if (s === 'on' || s === 'true' || s === '1') return true; + if (s === 'off' || s === 'false' || s === '0') return false; + } + if (typeof v === 'number') return v === 1 ? true : v === 0 ? false : v; + return v; + }, z.boolean()), weight: z.number(), purchaseLink: z.string().optional() });