Uecko_ERP/modules/customers/src/web/create/entities/customer-create-payload.entity.ts
2026-04-04 12:44:26 +02:00

24 lines
939 B
TypeScript

import type { CustomerCreateForm } from "./customer-create-form.entity";
/**
* CustomerCreatePayload es un tipo que representa un objeto con las mismas
* propiedades que CustomerCreateForm, pero todas ellas son opcionales.
*
* Esto es útil para representar los datos que se van a enviar a la API para crear un cliente,
* ya que en una creación parcial (POST) no es necesario enviar todos los campos,
* sino solo aquellos que se quieren modificar.
*
* Reglas:
* - debe ser un Partial de CustomerCreateForm
* - no debe tener campos adicionales ni transformaciones
* - debe ser un shape orientado a la API, no a la UI ni al dominio
* - sin shape DTO, solo tipos simples y directos
*/
export type CustomerCreatePayload = Partial<CustomerCreateForm> & {
// Aquí se añaden los campos que la API requiera para la creación de un cliente y que no estén en el formulario.
// Por ejemplo:
// - id: string;
id: string;
};