import { MetadataSchema, createPaginatedListSchema } from "@erp/core";
import { z } from "zod/v4";

export const ListCustomersResponseSchema = createPaginatedListSchema(
  z.object({
    id: z.uuid(),
    company_id: z.uuid(),
    status: z.string(),
    reference: z.string(),

    is_company: z.string(),
    name: z.string(),
    trade_name: z.string(),
    tin: z.string(),

    street: z.string(),
    street2: z.string(),
    city: z.string(),
    province: z.string(),
    postal_code: z.string(),
    country: z.string(),

    email_primary: z.string(),
    email_secondary: z.string(),
    phone_primary: z.string(),
    phone_secondary: z.string(),
    mobile_primary: z.string(),
    mobile_secondary: z.string(),
    fax: z.string(),
    website: z.string(),

    language_code: z.string(),
    currency_code: z.string(),

    metadata: MetadataSchema.optional(),
  })
);

export type ListCustomersResponseDTO = z.infer<typeof ListCustomersResponseSchema>;
