24 lines
939 B
TypeScript
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;
|
|
};
|