import { z } from "zod";

export const CreateCustomerSchema = z.object({
  name: z.string().min(1, "Název zákazníka je povinný").max(255),
  street: z.string().max(255).nullish(),
  city: z.string().max(255).nullish(),
  postal_code: z.string().max(255).nullish(),
  country: z.string().max(255).nullish(),
  company_id: z.string().max(255).nullish(),
  vat_id: z.string().max(255).nullish(),
  custom_fields: z.array(z.unknown()).max(100).optional(),
  customer_field_order: z.array(z.string()).optional(),
});

export const UpdateCustomerSchema = z.object({
  name: z.string().min(1, "Název zákazníka je povinný").max(255).optional(),
  street: z.string().max(255).nullish(),
  city: z.string().max(255).nullish(),
  postal_code: z.string().max(255).nullish(),
  country: z.string().max(255).nullish(),
  company_id: z.string().max(255).nullish(),
  vat_id: z.string().max(255).nullish(),
  custom_fields: z.array(z.unknown()).max(100).optional(),
  customer_field_order: z.array(z.string()).optional(),
});

export type CreateCustomerInput = z.infer<typeof CreateCustomerSchema>;
export type UpdateCustomerInput = z.infer<typeof UpdateCustomerSchema>;
