import * as z from "zod/v4";

export const ListAccountsRequestSchema = z.object({});

export const IGetAccountRequestSchema = z.object({});

export const ICreateAccountRequestSchema = z.object({
  id: z.string(),

  is_companyr: z.boolean(),
  name: z.string(),
  trade_name: z.string(),
  tin: z.string(),

  street: z.string(),
  city: z.string(),
  state: z.string(),
  postal_code: z.string(),
  country: z.string(),

  email: z.string().email(), // Validación específica para email
  phone: z.string(),
  fax: z.string(),
  website: z.string().url(), // Validación específica para URL

  legal_record: z.string(),

  default_tax: z.number(),
  status: z.string(),
  language_code: z.string(),
  currency_code: z.string(),
  logo: z.string(),
});

export const IUpdateAccountRequestSchema = z.object({
  id: z.string(),

  is_companyr: z.boolean(),
  name: z.string(),
  trade_name: z.string(),
  tin: z.string(),

  street: z.string(),
  city: z.string(),
  state: z.string(),
  postal_code: z.string(),
  country: z.string(),

  email: z.string().email(), // Validación específica para email
  phone: z.string(),
  fax: z.string(),
  website: z.string().url(), // Validación específica para URL

  legal_record: z.string(),

  default_tax: z.number(),
  status: z.string(),
  language_code: z.string(),
  currency_code: z.string(),
  logo: z.string(),
});

export const IDeleteAccountRequestSchema = z.object({});
