Files
pedidosClientes/app/models/pedido_proveedor.py
2025-12-05 11:27:16 -03:00

60 lines
1.5 KiB
Python

from pydantic import BaseModel
from typing import Optional, List
from datetime import datetime
class ReferenciaPedidoProveedorBase(BaseModel):
referencia: str
denominacion: str
unidades_pedidas: int = 1
estado: str = "pendiente"
class ReferenciaPedidoProveedorCreate(ReferenciaPedidoProveedorBase):
referencia_pedido_cliente_id: Optional[int] = None
class ReferenciaPedidoProveedorResponse(ReferenciaPedidoProveedorBase):
id: int
pedido_proveedor_id: int
referencia_pedido_cliente_id: Optional[int] = None
unidades_recibidas: int = 0
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
class PedidoProveedorBase(BaseModel):
proveedor_id: int
numero_pedido: Optional[str] = None
tipo: str = "web"
estado: str = "pendiente_recepcion"
email_confirmacion_path: Optional[str] = None
class PedidoProveedorCreate(PedidoProveedorBase):
referencias: Optional[List[ReferenciaPedidoProveedorCreate]] = []
class PedidoProveedorUpdate(BaseModel):
proveedor_id: Optional[int] = None
numero_pedido: Optional[str] = None
tipo: Optional[str] = None
estado: Optional[str] = None
email_confirmacion_path: Optional[str] = None
class PedidoProveedorResponse(PedidoProveedorBase):
id: int
fecha_pedido: datetime
created_at: datetime
updated_at: datetime
proveedor: Optional[dict] = None
referencias: Optional[List[ReferenciaPedidoProveedorResponse]] = []
class Config:
from_attributes = True