dependencies
FastAPI dependencies for DM Product Service.
Classes
A class to encapsulate all common dependencies. |
|
A class to encapsulate all permissions based dependencies. |
Module Contents
- class dependencies.Common
A class to encapsulate all common dependencies.
- async increment_request_counter()
Increment the request counter.
- static increment_requests_counter_depends(request)
- Async:
- Parameters:
request (starlette.requests.Request) –
Dependency for increment_request_counter().
- requests_counter = 0
- requests_counter_lock
- class dependencies.Permissions(permissions, permissions_service_name, permissions_service_version)
A class to encapsulate all permissions based dependencies.
- permissions
- permissions_service_name
- permissions_service_version
- async verify_permission_for_service_route(request, authorization)
Validate the caller token by checking route-level permissions via PAPI.
- Parameters:
request (starlette.requests.Request) –
authorization (Optional[fastapi.security.HTTPAuthorizationCredentials]) –
- static verify_permission_for_service_route_depends(request, authorization=Depends(HTTPBearer(auto_error=False)))
- Async:
- Parameters:
request (starlette.requests.Request) –
authorization (Optional[fastapi.security.HTTPAuthorizationCredentials]) –
Dependency wrapper for verify_permission_for_service_route.
Skips the PAPI check entirely when DISABLE_AUTHENTICATION=yes so that app.state.permission_dependencies is never accessed in dev/test mode. Token presence is still enforced by the route handler body.