Files
ATLAS/backend/app/schemas/grupo_vehiculos.py
FlotillasGPS Developer 51d78bacf4 FlotillasGPS - Sistema completo de monitoreo de flotillas GPS
Sistema completo para monitoreo y gestion de flotas de vehiculos con:
- Backend FastAPI con PostgreSQL/TimescaleDB
- Frontend React con TypeScript y TailwindCSS
- App movil React Native con Expo
- Soporte para dispositivos GPS, Meshtastic y celulares
- Video streaming en vivo con MediaMTX
- Geocercas, alertas, viajes y reportes
- Autenticacion JWT y WebSockets en tiempo real

Documentacion completa y guias de usuario incluidas.
2026-01-21 08:18:00 +00:00

53 lines
1.4 KiB
Python

"""
Schemas Pydantic para Grupo de Vehículos.
"""
from typing import List, Optional
from pydantic import Field
from app.schemas.base import BaseSchema, TimestampSchema
class GrupoVehiculosBase(BaseSchema):
"""Schema base de grupo de vehículos."""
nombre: str = Field(..., min_length=2, max_length=100)
descripcion: Optional[str] = None
color: str = Field(default="#3B82F6", pattern=r"^#[0-9A-Fa-f]{6}$")
icono: Optional[str] = Field(None, max_length=50)
class GrupoVehiculosCreate(GrupoVehiculosBase):
"""Schema para crear grupo de vehículos."""
pass
class GrupoVehiculosUpdate(BaseSchema):
"""Schema para actualizar grupo de vehículos."""
nombre: Optional[str] = Field(None, min_length=2, max_length=100)
descripcion: Optional[str] = None
color: Optional[str] = Field(None, pattern=r"^#[0-9A-Fa-f]{6}$")
icono: Optional[str] = Field(None, max_length=50)
class GrupoVehiculosResponse(GrupoVehiculosBase, TimestampSchema):
"""Schema de respuesta de grupo de vehículos."""
id: int
cantidad_vehiculos: Optional[int] = None
class GrupoVehiculosConVehiculos(GrupoVehiculosResponse):
"""Schema con lista de vehículos del grupo."""
vehiculos: List["VehiculoResumen"] = []
# Import circular fix
from app.schemas.vehiculo import VehiculoResumen # noqa: E402
GrupoVehiculosConVehiculos.model_rebuild()