feat: Implement multi-tenancy support in middleware and security layers

- Enhanced TenantMiddleware to validate tenant information from JWT tokens.
- Added LicenseValidationMiddleware to check tenant licenses before processing requests.
- Updated security utilities to extract tenant information from tokens and validate company access.
- Introduced CompanyStore to manage active company state and handle company switching in the frontend.
- Modified API routes to include company_id in requests for better resource management.
- Improved logging and error handling throughout the middleware and API layers.
- Updated frontend components to reflect changes in company management and selection.
- Added new API route for fetching user's companies with proper authentication handling.
This commit is contained in:
2025-11-11 14:00:56 -06:00
parent e1eb6bbd01
commit 52b8fcd434
242 changed files with 7067 additions and 3274 deletions

View File

@@ -1,13 +1,13 @@
seed = [
("1", "CONTENEDOR ESTANDAR 20' (STANDARD CONTAINER 20')."),
("2", "CONTENEDOR ESTANDAR 40' (STANDARD CONTAINER 40')."),
("3", "CONTENEDOR ESTANDAR DE CUBO ALTO 40' (HIGH CUBE STANDARD CONTAINER 40')."),
("4", "CONTENEDOR TAPA DURA 20 (HARDTOP CONTAINER 20')."),
("5", "CONTENEDOR TAPA DURA 40 (HARDTOP CONTAINER 40')."),
("6", "CONTENEDOR TAPA ABIERTA 20 (OPEN TOP CONTAINER 20')."),
("7", "CONTENEDOR TAPA ABIERTA 40' (OPEN TOP CONTAINER 40')."),
("8", "FLAT 20' (FLAT 20')."),
("9", "FLAT 40' (FLAT 40')."),
("1", "CONTENEDOR ESTANDAR 20' (STANDARD CONTAINER 20')."),
("2", "CONTENEDOR ESTANDAR 40' (STANDARD CONTAINER 40')."),
("3", "CONTENEDOR ESTANDAR DE CUBO ALTO 40' (HIGH CUBE STANDARD CONTAINER 40')."),
("4", "CONTENEDOR TAPA DURA 20 (HARDTOP CONTAINER 20')."),
("5", "CONTENEDOR TAPA DURA 40 (HARDTOP CONTAINER 40')."),
("6", "CONTENEDOR TAPA ABIERTA 20 (OPEN TOP CONTAINER 20')."),
("7", "CONTENEDOR TAPA ABIERTA 40' (OPEN TOP CONTAINER 40')."),
("8", "FLAT 20' (FLAT 20')."),
("9", "FLAT 40' (FLAT 40')."),
("10", "PLATAFORMA 20' (PLATFORM 20')."),
("11", "PLATAFORMA 40' (PLATFORM 40')."),
("12", "CONTENEDOR VENTILADO 20 (VENTILATED CONTAINER 20')."),
@@ -15,9 +15,12 @@ seed = [
("14", "CONTENEDOR TERMICO 40' (INSULATED CONTAINER 40')."),
("15", "CONTENEDOR REFRIGERANTE 20 (REFRIGERATED CONTAINER 20')."),
("16", "CONTENEDOR REFRIGERANTE 40 (REFRIGERATED CONTAINER 40')."),
("17", "CONTENEDOR REFRIGERANTE CUBO ALTO 40 (HIGH CUBE REFRIGERATED CONTAINER 40')."),
(
"17",
"CONTENEDOR REFRIGERANTE CUBO ALTO 40 (HIGH CUBE REFRIGERATED CONTAINER 40').",
),
("18", "CONTENEDOR CARGA A GRANEL 20 (BULK CONTAINER 20')."),
("19", "CONTENEDOR TIPO TANQUE 20 (TANK CONTAINER 20')."),
("19", "CONTENEDOR TIPO TANQUE 20 (TANK CONTAINER 20')."),
("20", "CONTENEDOR ESTANDAR 45' (STANDARD CONTAINER 45')."),
("21", "CONTENEDOR ESTANDAR 48' (STANDARD CONTAINER 48')."),
("22", "CONTENEDOR ESTANDAR 53' (STANDARD CONTAINER 53')."),
@@ -27,7 +30,7 @@ seed = [
("26", "SEMIRREMOLQUE CON RACKS PARA ENVASES DE BEBIDAS."),
("27", "SEMIRREMOLQUE CUELLO DE GANZO."),
("28", "SEMIRREMOLQUE TOLVA CUBIERTO."),
("29", "SEMIRREMOLQUE TOLVA (ABIERTO)."),
("29", "SEMIRREMOLQUE TOLVA (ABIERTO)."),
("30", "AUTO-TOLVA CUBIERTO/DESCARGA NEUMATICA."),
("31", "SEMIRREMOLQUE CHASIS."),
("32", "SEMIRREMOLQUE AUTOCARGABLE (CON SISTEMA DE ELEVACION)."),
@@ -37,7 +40,7 @@ seed = [
("36", "PLATAFORMA DE 28."),
("37", "PLATAFORMA DE 45."),
("38", "PLATAFORMA DE 48."),
("39", "SEMIRREMOLQUE PARA TRANSPORTE DE CABALLOS."),
("39", "SEMIRREMOLQUE PARA TRANSPORTE DE CABALLOS."),
("40", "SEMIRREMOLQUE PARA TRANSPORTE DE GANADO."),
("41", "SEMIRREMOLQUE TANQUE (LIQUIDOS)/SIN CALEFACCION/SIN AISLAR."),
("42", "SEMIRREOLQUE TANQUE (LIQUIDOS)/CON CALEFACCION/SIN AISLAR."),
@@ -47,7 +50,7 @@ seed = [
("46", "SEMIRREMOLQUE TANQUE (GAS)/CON CALEFACCION/SIN AISLAR."),
("47", "SEMIRREMOLQUE TANQUE (GAS)/SIN CALEFACCION/AISLADO."),
("48", "SEMIRREMOLQUE TANQUE (GAS)/CON CALEFACCION/AISLADO."),
("49", "SEMIRREMOLQUE TANQUE (QUIMICOS)/SIN CALEFACCION/SIN AISLAR."),
("49", "SEMIRREMOLQUE TANQUE (QUIMICOS)/SIN CALEFACCION/SIN AISLAR."),
("50", "SEMIRREMOLQUE TANQUE (QUIMICOS)/CON CALEFACCION/SIN AISLAR."),
("51", "SEMIRREMOLQUE TANQUE (QUIMICOS)/SIN CALEFACCION/AISLADO."),
("52", "SEMIRREMOLQUE TANQUE (QUIMICOS)/CON CALEFACCION/AISLADO."),
@@ -68,4 +71,4 @@ seed = [
("67", "CAMIÓN UNITARIO DE TRES EJES"),
("68", "VEHÍCULOS CON CAPACIDAD DE CARGA DE HASTA 3.5. TONELADAS"),
("69", "TRACTOCAMIÓN"),
]
]