Tengo bastantes dudas de como plantear un escenario de este tipo, con estas entidades:
type Producto = {
nombre: string;
precio: number;
}
type Pedido = {
productos: Producto[]
};
El precio de los productos va a ir cambiando, y quiero que en Pedido se quede el precio que tenía en ese momento el producto.
Lo meto al Pedido cuando vale 5, se paga y se hace todo y dentro de 1 año ese producto vale 10, cuando vaya a mirar ese Pedido antiguo necesito que salga 5 que es lo que en su día se pagó, no 10 que tiene ahora
Se me ocurren varias maneras de hacerlo pero no se cual sería la más correcta
Lo que se me ocurre es ir guardando una versión de Producto con cada cambio y apuntar Pedido a la versión que fuera, esto añadiría cierta complejidad para distinguir las versiones, sacar la última versión y demás.
Otra opción es guardar el precio ahí directamente en Pedido, guardando también el producto que es para luego sacar de ahí datos como la imagen.
type Producto = {
nombre: string;
precio: number;
}
type ProductoPedido = {
producto: Producto[];
precio: number;
}
type Pedido = {
productos: ProductoPedido[]
};
Me da la sensación de que lo estoy complicando demasiado y seguro que hay algún patrón bien definido para hacer esto.