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:
@@ -2,6 +2,7 @@
|
||||
Router principal de API v1
|
||||
Agrega todos los módulos de la aplicación
|
||||
"""
|
||||
|
||||
from fastapi import APIRouter
|
||||
|
||||
# Importar routers de módulos
|
||||
@@ -38,15 +39,23 @@ router.include_router(tenants_router, prefix="/a76", tags=["a76 / tenants"])
|
||||
router.include_router(user_tenant_router, prefix="/a76", tags=["a76 / user-tenants"])
|
||||
router.include_router(licenses_router, prefix="/a76", tags=["a76 / licenses"])
|
||||
router.include_router(pedimentos_router, prefix="/a76")
|
||||
router.include_router(client_and_provider_router, prefix="/a76", tags=["a76 / clients and providers"])
|
||||
router.include_router(
|
||||
client_and_provider_router, prefix="/a76", tags=["a76 / clients and providers"]
|
||||
)
|
||||
router.include_router(company_router, prefix="/a76", tags=["a76 / company"])
|
||||
router.include_router(classes_router, prefix="/a76", tags=["a76 / classes"])
|
||||
router.include_router(parts_router, prefix="/a76", tags=["a76 / parts"])
|
||||
router.include_router(permission_rule_oct_router, prefix="/a76", tags=["a76 / PermissionRuleOct"])
|
||||
router.include_router(
|
||||
permission_rule_oct_router, prefix="/a76", tags=["a76 / PermissionRuleOct"]
|
||||
)
|
||||
router.include_router(package_router, prefix="/a76", tags=["a76 / Package"])
|
||||
router.include_router(seal_router, prefix="/a76", tags=["a76 / Seal"])
|
||||
router.include_router(fraction_rule_octave_router, prefix="/a76", tags=["a76 / FractionRuleOctave"])
|
||||
router.include_router(country_rule_oct_router, prefix="/a76", tags=["a76 / CountryRuleOct"])
|
||||
router.include_router(
|
||||
fraction_rule_octave_router, prefix="/a76", tags=["a76 / FractionRuleOctave"]
|
||||
)
|
||||
router.include_router(
|
||||
country_rule_oct_router, prefix="/a76", tags=["a76 / CountryRuleOct"]
|
||||
)
|
||||
router.include_router(exchange_rate_router, prefix="/a76", tags=["a76 / ExchangeRate"])
|
||||
router.include_router(transport_types_router, prefix="/a76", tags=["a76 / TransportTypes"])
|
||||
router.include_router(trailers_router, prefix="/a76", tags=["a76 / Trailers"])
|
||||
|
||||
Reference in New Issue
Block a user