Coverage for backend \ app \ Caja \ schemas \ cajaSchemas.py: 100.00%
27 statements
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-29 16:13 -0500
1from pydantic import BaseModel, Field, validator
2from typing import Dict, Optional, List
3from datetime import datetime, date
4from app.Usuarios.schemas.usuarioSchemas import UsuarioPublicoSchema
6class CajaCrearSchema(BaseModel):
7 # Enviar únicamente el monto inicial como número (ej. 95.0)
8 montoInicial: float = Field(..., example=95.0)
10 class Config:
11 schema_extra = {
12 "example": {
13 "montoInicial": 95.0,
14 "montoFinal": 120.5
15 }
16 }
18class CajaCerrarSchema(BaseModel):
19 # Enviar únicamente el monto final declarado como número (ej. 120.5)
20 montoFinal: float = Field(..., example=120.5)
22class CajaHistorialRespuestaSchema(BaseModel):
23 idCaja: int
24 usuario: Optional[UsuarioPublicoSchema] = None
25 fechaAperturaCaja: datetime
26 fechaCierreCaja: Optional[datetime] = None
27 montoInicialDeclarado: float
28 montoCierreDeclarado: Optional[float] = None
29 montoCierreSistema: Optional[float] = None
30 diferenciaCaja: Optional[float] = None
31 estadoCaja: str
32 detalle: Optional[str] = None
34 class Config:
35 from_attributes = True
37class CajaListaRespuestaSchema(BaseModel):
38 cajas: List[CajaHistorialRespuestaSchema] = []
40 class Config:
41 from_attributes = True