import { z } from 'zod'; const booleanOrNumber = z.union([z.boolean(), z.number()]) .transform((val) => (typeof val === 'boolean' ? (val ? 1 : 0) : val)); export const createMemberSchema = z.object({ body: z.object({ kode: z.string({ required_error: 'Kode member wajib diisi' }).min(1, 'Kode member tidak boleh kosong'), nama: z.string({ required_error: 'Nama member wajib diisi' }).min(1, 'Nama member tidak boleh kosong'), nomor_hp: z.string({ required_error: 'Nomor HP wajib diisi' }).min(1, 'Nomor HP tidak boleh kosong'), alamat: z.string().optional().nullable(), limit_bon: z.number().optional().default(0), foto_url: z.string().optional().nullable(), aktif: booleanOrNumber.optional().default(1), }), }); export const updateMemberSchema = z.object({ body: z.object({ nama: z.string().optional(), nomor_hp: z.string().optional(), alamat: z.string().optional().nullable(), total_poin: z.number().optional(), limit_bon: z.number().optional(), total_bon: z.number().optional(), foto_url: z.string().optional().nullable(), aktif: booleanOrNumber.optional(), }), });