import { z } from 'zod'; // ISO datetime string (e.g. "2027-12-31T00:00:00.000Z"). Clients may send date-only "2027-12-31"; // API layer is expected to coerce to Date. const IsoDate = z.string().datetime({ offset: true }).or(z.string().regex(/^\d{4}-\d{2}-\d{2}$/)); export const CreateManufacturerRequest = z.object({ name: z.string().min(1).max(128), eolDate: IsoDate.optional().nullable(), }); export type CreateManufacturerRequest = z.infer; export const UpdateManufacturerRequest = z .object({ name: z.string().min(1).max(128).optional(), eolDate: IsoDate.nullable().optional(), }) .refine((v) => Object.keys(v).length > 0, { message: 'At least one field required' }); export type UpdateManufacturerRequest = z.infer;