Initial commit
This commit is contained in:
59
app/models/pedido_proveedor.py
Normal file
59
app/models/pedido_proveedor.py
Normal file
@@ -0,0 +1,59 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user