import { z } from "zod";

const customerContactPersonSchema = z.object({
  name: z.string().trim().min(1, "Nama contact person wajib diisi").max(150),
  mobile_phone: z.string().trim().max(50).optional().or(z.literal("")),
  email: z.string().trim().email("Format email contact person tidak valid").max(150).optional().or(z.literal(""))
});

export const buyerInputSchema = z.object({
  code: z.string().trim().max(50).optional().or(z.literal("")),
  name: z.string().trim().min(1, "Nama buyer wajib diisi").max(150),
  phone: z.string().trim().max(50).optional().or(z.literal("")),
  email: z.string().trim().email("Format email tidak valid").max(150).optional().or(z.literal("")),
  bank_name: z.string().trim().max(100).optional().or(z.literal("")),
  bank_account_number: z.string().trim().max(100).optional().or(z.literal("")),
  address: z.string().trim().optional().or(z.literal("")),
  contact_people: z.array(customerContactPersonSchema).default([]),
  status: z.enum(["ACTIVE", "INACTIVE"]).default("ACTIVE")
});

export type BuyerInput = z.infer<typeof buyerInputSchema>;
