File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212from src .core .middleware .request_size import LimitRequestSizeMiddleware
1313from src .core .middleware .security_headers import SecurityHeadersMiddleware
1414from src .core .middleware .structured_logging import StructuredLoggingMiddleware
15+ from src .core .middleware .tenant import TenantMiddleware
1516from src .core .security .providers import JWTAuthProvider
1617
1718settings = get_settings ()
@@ -42,6 +43,7 @@ def register_middleware(app: FastAPI):
4243 app .add_middleware (MetricsMiddleware )
4344 app .add_middleware (StructuredLoggingMiddleware )
4445 app .add_middleware (AuditLoggingMiddleware )
46+ app .add_middleware (TenantMiddleware )
4547 app .add_middleware (
4648 AuthenticationMiddleware ,
4749 providers = [JWTAuthProvider ()],
Original file line number Diff line number Diff line change 1+ from uuid import UUID
2+
3+ from fastapi import HTTPException , Request
4+ from starlette .status import HTTP_400_BAD_REQUEST
5+
6+
7+ def get_current_tenant_id (request : Request ) -> UUID :
8+ tenant_id : UUID | None = getattr (request .state , "tenant_id" , None )
9+ if tenant_id is None :
10+ raise HTTPException (
11+ status_code = HTTP_400_BAD_REQUEST ,
12+ detail = "Tenant not identified" ,
13+ )
14+ return tenant_id
15+
16+
17+ def get_optional_tenant_id (request : Request ) -> UUID | None :
18+ return getattr (request .state , "tenant_id" , None )
You can’t perform that action at this time.
0 commit comments