import { UniqueID } from "@repo/rdx-ddd"; import type { CustomerCreateForm, CustomerCreatePayload } from "../entities"; /** * Construye un payload de creación de cliente a partir de los datos * del formulario y los campos sucios. * * Reglas: * - el payload debe ser un objeto con solo las propiedades que han cambiado (campos sucios). * - no debe incluir campos que no han cambiado. * - el shape del payload debe coincidir con el de CustomerCreatePayload, * es decir, orientado a la API. * - no debe tener transformaciones ni campos adicionales, solo los que vienen del * formulario y están sucios. * * @param formData: Los datos del formulario de creación de cliente. * @returns Un objeto que se puede enviar a la API para crear un cliente, * con todos los campos necesarios. */ export const buildCustomerCreatePayload = (formData: CustomerCreateForm): CustomerCreatePayload => { return { ...formData, // El backend exige que el cliente envíe un id en la creación. id: UniqueID.generateNewID().toString(), }; };