import { z } from "zod/v4"; import { ArrayElement } from "@repo/rdx-utils"; import { CreateCustomerRequestSchema, GetCustomerByIdResponseSchema, ListCustomersResponseDTO, UpdateCustomerByIdRequestSchema, } from "../../common"; // Esquemas (Zod) provenientes del servidor export const CustomerSchema = GetCustomerByIdResponseSchema.omit({ metadata: true }); export const CustomerCreateSchema = CreateCustomerRequestSchema; export const CustomerUpdateSchema = UpdateCustomerByIdRequestSchema; // Tipos (derivados de Zod o DTOs del backend) export type Customer = z.infer; // Entidad completa (GET/POST/PUT result) export type CustomerCreateInput = z.infer; // Cuerpo para crear export type CustomerUpdateInput = z.infer; // Cuerpo para actualizar // Resultado de consulta con criteria (paginado, etc.) export type CustomersPage = ListCustomersResponseDTO; // Ítem simplificado dentro del listado (no toda la entidad) export type CustomerSummary = ArrayElement;