Uecko_ERP/apps/server/src/contexts/accounts/presentation/dto/accounts.validation.dto.ts

88 lines
1.9 KiB
TypeScript
Raw Normal View History

2025-02-25 17:47:42 +00:00
import { z } from "zod";
export const ListAccountsSchema = z.object({});
2025-03-04 17:08:33 +00:00
export const IGetAcccountResponseDTOSchema = z.object({
id: z.string(),
is_freelancer: 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(),
lang_code: z.string(),
currency_code: z.string(),
logo: z.string(),
});
export const ICreateAcccountResponseDTOSchema = z.object({
id: z.string(),
is_freelancer: 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(),
lang_code: z.string(),
currency_code: z.string(),
logo: z.string(),
});
export const IUpdateAcccountResponseDTOSchema = z.object({
id: z.string(),
is_freelancer: 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(),
lang_code: z.string(),
currency_code: z.string(),
logo: z.string(),
});