import { z } from "zod"; export const UpdateCompanySettingsSchema = z.object({ company_name: z.string().nullish(), street: z.string().nullish(), city: z.string().nullish(), postal_code: z.string().nullish(), country: z.string().nullish(), company_id: z.string().nullish(), vat_id: z.string().nullish(), quotation_prefix: z.string().nullish(), default_currency: z.string().nullish(), order_type_code: z.string().nullish(), invoice_type_code: z.string().nullish(), default_vat_rate: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), require_2fa: z .preprocess((v) => v === true || v === 1 || v === "1", z.boolean()) .optional(), break_threshold_hours: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), break_duration_short: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), break_duration_long: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), clock_rounding_minutes: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), invoice_alert_email: z.string().nullish(), leave_notify_email: z.string().nullish(), smtp_from: z.string().nullish(), smtp_from_name: z.string().nullish(), offer_number_pattern: z.string().nullish(), order_number_pattern: z.string().nullish(), invoice_number_pattern: z.string().nullish(), max_login_attempts: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), lockout_minutes: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), max_requests_per_minute: z .union([z.number(), z.string()]) .transform((v) => Number(v)) .optional(), available_vat_rates: z.array(z.number()).optional(), available_currencies: z.array(z.string()).optional(), custom_fields: z.array(z.any()).optional(), supplier_field_order: z.array(z.any()).optional(), }); export type UpdateCompanySettingsInput = z.infer< typeof UpdateCompanySettingsSchema >;