dependencies ============ .. py:module:: dependencies .. autoapi-nested-parse:: FastAPI dependencies for DM Product Service. Classes ------- .. autoapisummary:: dependencies.Common dependencies.Permissions Module Contents --------------- .. py:class:: Common A class to encapsulate all common dependencies. .. py:method:: increment_request_counter() :async: Increment the request counter. .. py:method:: increment_requests_counter_depends(request) :staticmethod: :async: Dependency for increment_request_counter(). .. py:attribute:: requests_counter :value: 0 .. py:attribute:: requests_counter_lock .. py:class:: Permissions(permissions, permissions_service_name, permissions_service_version) A class to encapsulate all permissions based dependencies. .. py:attribute:: permissions .. py:attribute:: permissions_service_name .. py:attribute:: permissions_service_version .. py:method:: verify_permission_for_service_route(request, authorization) :async: Validate the caller token by checking route-level permissions via PAPI. .. py:method:: verify_permission_for_service_route_depends(request, authorization = Depends(HTTPBearer(auto_error=False))) :staticmethod: :async: 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.