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.
371 lines
8.3 KiB
Python
371 lines
8.3 KiB
Python
"""
|
|
Módulo de schemas Pydantic.
|
|
|
|
Exporta todos los schemas para facilitar importaciones.
|
|
"""
|
|
|
|
from app.schemas.base import (
|
|
BaseSchema,
|
|
TimestampSchema,
|
|
PaginatedResponse,
|
|
MessageResponse,
|
|
ErrorResponse,
|
|
GeoJSONPoint,
|
|
GeoJSONFeature,
|
|
GeoJSONFeatureCollection,
|
|
CoordenadasSchema,
|
|
RangoFechasSchema,
|
|
)
|
|
|
|
from app.schemas.usuario import (
|
|
UsuarioCreate,
|
|
UsuarioUpdate,
|
|
UsuarioUpdatePassword,
|
|
UsuarioResponse,
|
|
LoginRequest,
|
|
LoginResponse,
|
|
RefreshTokenRequest,
|
|
TokenResponse,
|
|
)
|
|
|
|
from app.schemas.grupo_vehiculos import (
|
|
GrupoVehiculosCreate,
|
|
GrupoVehiculosUpdate,
|
|
GrupoVehiculosResponse,
|
|
GrupoVehiculosConVehiculos,
|
|
)
|
|
|
|
from app.schemas.conductor import (
|
|
ConductorCreate,
|
|
ConductorUpdate,
|
|
ConductorResponse,
|
|
ConductorResumen,
|
|
ConductorEstadisticas,
|
|
)
|
|
|
|
from app.schemas.vehiculo import (
|
|
VehiculoCreate,
|
|
VehiculoUpdate,
|
|
VehiculoResponse,
|
|
VehiculoResumen,
|
|
VehiculoConRelaciones,
|
|
VehiculoUbicacionActual,
|
|
VehiculoEstadisticas,
|
|
)
|
|
|
|
from app.schemas.dispositivo import (
|
|
DispositivoCreate,
|
|
DispositivoUpdate,
|
|
DispositivoResponse,
|
|
DispositivoResumen,
|
|
DispositivoConVehiculo,
|
|
)
|
|
|
|
from app.schemas.ubicacion import (
|
|
UbicacionCreate,
|
|
UbicacionBulkCreate,
|
|
UbicacionResponse,
|
|
UbicacionConVehiculo,
|
|
HistorialUbicacionesRequest,
|
|
HistorialUbicacionesResponse,
|
|
OsmAndLocationCreate,
|
|
TraccarLocationCreate,
|
|
)
|
|
|
|
from app.schemas.viaje import (
|
|
ViajeCreate,
|
|
ViajeUpdate,
|
|
ViajeResponse,
|
|
ViajeResumen,
|
|
ViajeConParadas,
|
|
ViajeReplayData,
|
|
ParadaCreate,
|
|
ParadaUpdate,
|
|
ParadaResponse,
|
|
ParadaResumen,
|
|
)
|
|
|
|
from app.schemas.alerta import (
|
|
TipoAlertaCreate,
|
|
TipoAlertaUpdate,
|
|
TipoAlertaResponse,
|
|
AlertaCreate,
|
|
AlertaUpdate,
|
|
AlertaResponse,
|
|
AlertaConTipo,
|
|
AlertaConRelaciones,
|
|
AlertaResumen,
|
|
AlertasEstadisticas,
|
|
AlertaAtenderRequest,
|
|
)
|
|
|
|
from app.schemas.geocerca import (
|
|
GeocercaCircularCreate,
|
|
GeocercaPoligonoCreate,
|
|
GeocercaUpdate,
|
|
GeocercaResponse,
|
|
GeocercaConVehiculos,
|
|
GeocercaGeoJSON,
|
|
AsignarVehiculosRequest,
|
|
VerificarPuntoRequest,
|
|
VerificarPuntoResponse,
|
|
)
|
|
|
|
from app.schemas.poi import (
|
|
POICreate,
|
|
POIUpdate,
|
|
POIResponse,
|
|
POIResumen,
|
|
POICercano,
|
|
BuscarPOIsCercanosRequest,
|
|
BuscarPOIsCercanosResponse,
|
|
CategoriasPOIResponse,
|
|
)
|
|
|
|
from app.schemas.combustible import (
|
|
CargaCombustibleCreate,
|
|
CargaCombustibleUpdate,
|
|
CargaCombustibleResponse,
|
|
CargaCombustibleConRelaciones,
|
|
RendimientoCombustible,
|
|
ReporteConsumoVehiculo,
|
|
ReporteConsumoFlota,
|
|
)
|
|
|
|
from app.schemas.mantenimiento import (
|
|
TipoMantenimientoCreate,
|
|
TipoMantenimientoUpdate,
|
|
TipoMantenimientoResponse,
|
|
MantenimientoCreate,
|
|
MantenimientoUpdate,
|
|
MantenimientoResponse,
|
|
MantenimientoConRelaciones,
|
|
MantenimientoResumen,
|
|
ProximosMantenimientos,
|
|
CompletarMantenimientoRequest,
|
|
)
|
|
|
|
from app.schemas.video import (
|
|
CamaraCreate,
|
|
CamaraUpdate,
|
|
CamaraResponse,
|
|
CamaraConVehiculo,
|
|
CamaraStreamURL,
|
|
GrabacionCreate,
|
|
GrabacionResponse,
|
|
GrabacionResumen,
|
|
EventoVideoCreate,
|
|
EventoVideoUpdate,
|
|
EventoVideoResponse,
|
|
EventoVideoConRelaciones,
|
|
EventoVideoResumen,
|
|
TiposEventoVideoResponse,
|
|
)
|
|
|
|
from app.schemas.mensaje import (
|
|
MensajeCreate,
|
|
MensajeEnviarAConductores,
|
|
MensajeUpdate,
|
|
MensajeResponse,
|
|
MensajeConConductor,
|
|
MensajeResumen,
|
|
ConversacionConductor,
|
|
MensajesNoLeidosResponse,
|
|
ResponderMensajeRequest,
|
|
)
|
|
|
|
from app.schemas.configuracion import (
|
|
ConfiguracionCreate,
|
|
ConfiguracionUpdate,
|
|
ConfiguracionResponse,
|
|
ConfiguracionResumen,
|
|
ConfiguracionesPorCategoria,
|
|
ConfiguracionesResponse,
|
|
ActualizarConfiguracionesRequest,
|
|
ConfiguracionesAlertasResponse,
|
|
ConfiguracionesViajesResponse,
|
|
ConfiguracionesNotificacionesResponse,
|
|
ConfiguracionesMapaResponse,
|
|
)
|
|
|
|
from app.schemas.reporte import (
|
|
DashboardResumen,
|
|
DashboardGrafico,
|
|
ReporteRequest,
|
|
ReporteResponse,
|
|
ReporteViajesResumen,
|
|
ReporteAlertasResumen,
|
|
ReporteCombustibleResumen,
|
|
ReporteMantenimientoResumen,
|
|
ReporteUbicacionesResumen,
|
|
EstadisticasFlota,
|
|
KPIsFlota,
|
|
)
|
|
|
|
__all__ = [
|
|
# Base
|
|
"BaseSchema",
|
|
"TimestampSchema",
|
|
"PaginatedResponse",
|
|
"MessageResponse",
|
|
"ErrorResponse",
|
|
"GeoJSONPoint",
|
|
"GeoJSONFeature",
|
|
"GeoJSONFeatureCollection",
|
|
"CoordenadasSchema",
|
|
"RangoFechasSchema",
|
|
# Usuario
|
|
"UsuarioCreate",
|
|
"UsuarioUpdate",
|
|
"UsuarioUpdatePassword",
|
|
"UsuarioResponse",
|
|
"LoginRequest",
|
|
"LoginResponse",
|
|
"RefreshTokenRequest",
|
|
"TokenResponse",
|
|
# Grupo Vehículos
|
|
"GrupoVehiculosCreate",
|
|
"GrupoVehiculosUpdate",
|
|
"GrupoVehiculosResponse",
|
|
"GrupoVehiculosConVehiculos",
|
|
# Conductor
|
|
"ConductorCreate",
|
|
"ConductorUpdate",
|
|
"ConductorResponse",
|
|
"ConductorResumen",
|
|
"ConductorEstadisticas",
|
|
# Vehículo
|
|
"VehiculoCreate",
|
|
"VehiculoUpdate",
|
|
"VehiculoResponse",
|
|
"VehiculoResumen",
|
|
"VehiculoConRelaciones",
|
|
"VehiculoUbicacionActual",
|
|
"VehiculoEstadisticas",
|
|
# Dispositivo
|
|
"DispositivoCreate",
|
|
"DispositivoUpdate",
|
|
"DispositivoResponse",
|
|
"DispositivoResumen",
|
|
"DispositivoConVehiculo",
|
|
# Ubicación
|
|
"UbicacionCreate",
|
|
"UbicacionBulkCreate",
|
|
"UbicacionResponse",
|
|
"UbicacionConVehiculo",
|
|
"HistorialUbicacionesRequest",
|
|
"HistorialUbicacionesResponse",
|
|
"OsmAndLocationCreate",
|
|
"TraccarLocationCreate",
|
|
# Viaje
|
|
"ViajeCreate",
|
|
"ViajeUpdate",
|
|
"ViajeResponse",
|
|
"ViajeResumen",
|
|
"ViajeConParadas",
|
|
"ViajeReplayData",
|
|
"ParadaCreate",
|
|
"ParadaUpdate",
|
|
"ParadaResponse",
|
|
"ParadaResumen",
|
|
# Alerta
|
|
"TipoAlertaCreate",
|
|
"TipoAlertaUpdate",
|
|
"TipoAlertaResponse",
|
|
"AlertaCreate",
|
|
"AlertaUpdate",
|
|
"AlertaResponse",
|
|
"AlertaConTipo",
|
|
"AlertaConRelaciones",
|
|
"AlertaResumen",
|
|
"AlertasEstadisticas",
|
|
"AlertaAtenderRequest",
|
|
# Geocerca
|
|
"GeocercaCircularCreate",
|
|
"GeocercaPoligonoCreate",
|
|
"GeocercaUpdate",
|
|
"GeocercaResponse",
|
|
"GeocercaConVehiculos",
|
|
"GeocercaGeoJSON",
|
|
"AsignarVehiculosRequest",
|
|
"VerificarPuntoRequest",
|
|
"VerificarPuntoResponse",
|
|
# POI
|
|
"POICreate",
|
|
"POIUpdate",
|
|
"POIResponse",
|
|
"POIResumen",
|
|
"POICercano",
|
|
"BuscarPOIsCercanosRequest",
|
|
"BuscarPOIsCercanosResponse",
|
|
"CategoriasPOIResponse",
|
|
# Combustible
|
|
"CargaCombustibleCreate",
|
|
"CargaCombustibleUpdate",
|
|
"CargaCombustibleResponse",
|
|
"CargaCombustibleConRelaciones",
|
|
"RendimientoCombustible",
|
|
"ReporteConsumoVehiculo",
|
|
"ReporteConsumoFlota",
|
|
# Mantenimiento
|
|
"TipoMantenimientoCreate",
|
|
"TipoMantenimientoUpdate",
|
|
"TipoMantenimientoResponse",
|
|
"MantenimientoCreate",
|
|
"MantenimientoUpdate",
|
|
"MantenimientoResponse",
|
|
"MantenimientoConRelaciones",
|
|
"MantenimientoResumen",
|
|
"ProximosMantenimientos",
|
|
"CompletarMantenimientoRequest",
|
|
# Video
|
|
"CamaraCreate",
|
|
"CamaraUpdate",
|
|
"CamaraResponse",
|
|
"CamaraConVehiculo",
|
|
"CamaraStreamURL",
|
|
"GrabacionCreate",
|
|
"GrabacionResponse",
|
|
"GrabacionResumen",
|
|
"EventoVideoCreate",
|
|
"EventoVideoUpdate",
|
|
"EventoVideoResponse",
|
|
"EventoVideoConRelaciones",
|
|
"EventoVideoResumen",
|
|
"TiposEventoVideoResponse",
|
|
# Mensaje
|
|
"MensajeCreate",
|
|
"MensajeEnviarAConductores",
|
|
"MensajeUpdate",
|
|
"MensajeResponse",
|
|
"MensajeConConductor",
|
|
"MensajeResumen",
|
|
"ConversacionConductor",
|
|
"MensajesNoLeidosResponse",
|
|
"ResponderMensajeRequest",
|
|
# Configuración
|
|
"ConfiguracionCreate",
|
|
"ConfiguracionUpdate",
|
|
"ConfiguracionResponse",
|
|
"ConfiguracionResumen",
|
|
"ConfiguracionesPorCategoria",
|
|
"ConfiguracionesResponse",
|
|
"ActualizarConfiguracionesRequest",
|
|
"ConfiguracionesAlertasResponse",
|
|
"ConfiguracionesViajesResponse",
|
|
"ConfiguracionesNotificacionesResponse",
|
|
"ConfiguracionesMapaResponse",
|
|
# Reportes
|
|
"DashboardResumen",
|
|
"DashboardGrafico",
|
|
"ReporteRequest",
|
|
"ReporteResponse",
|
|
"ReporteViajesResumen",
|
|
"ReporteAlertasResumen",
|
|
"ReporteCombustibleResumen",
|
|
"ReporteMantenimientoResumen",
|
|
"ReporteUbicacionesResumen",
|
|
"EstadisticasFlota",
|
|
"KPIsFlota",
|
|
]
|