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.
This commit is contained in:
52
backend/app/schemas/grupo_vehiculos.py
Normal file
52
backend/app/schemas/grupo_vehiculos.py
Normal file
@@ -0,0 +1,52 @@
|
||||
"""
|
||||
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()
|
||||
Reference in New Issue
Block a user