trust_api.services.task_handlers ================================ .. py:module:: trust_api.services.task_handlers .. autoapi-nested-parse:: Task handlers for processing tasks received from the central hub via polling. Each handler processes a specific task type and returns a result dict. Attributes ---------- .. autoapisummary:: trust_api.services.task_handlers.DATA_ACCESS_API_URL trust_api.services.task_handlers.CENTRAL_HUB_API_URL trust_api.services.task_handlers.IMAGING_API_URL trust_api.services.task_handlers.TRUST_API_KEY trust_api.services.task_handlers.TRUST_API_KEY_HEADER trust_api.services.task_handlers.TRUST_INTERNAL_SERVICE_KEY trust_api.services.task_handlers.TRUST_INTERNAL_SERVICE_KEY_HEADER trust_api.services.task_handlers.TASK_COHORT_QUERY trust_api.services.task_handlers.TASK_CREATE_IMAGING trust_api.services.task_handlers.TASK_DELETE_IMAGING trust_api.services.task_handlers.TASK_GET_IMAGING_STATUS trust_api.services.task_handlers.TASK_REIMPORT_STUDIES trust_api.services.task_handlers.TASK_UPDATE_USER_PROFILE trust_api.services.task_handlers.TASK_HANDLERS Functions --------- .. autoapisummary:: trust_api.services.task_handlers._trust_internal_headers trust_api.services.task_handlers.handle_cohort_query trust_api.services.task_handlers.handle_create_imaging trust_api.services.task_handlers.handle_delete_imaging trust_api.services.task_handlers.handle_get_imaging_status trust_api.services.task_handlers.handle_reimport_studies trust_api.services.task_handlers.handle_update_user_profile Module Contents --------------- .. py:data:: DATA_ACCESS_API_URL .. py:data:: CENTRAL_HUB_API_URL .. py:data:: IMAGING_API_URL .. py:data:: TRUST_API_KEY .. py:data:: TRUST_API_KEY_HEADER .. py:data:: TRUST_INTERNAL_SERVICE_KEY :value: '' .. py:data:: TRUST_INTERNAL_SERVICE_KEY_HEADER :value: 'X-Trust-Internal-Service-Key' .. py:function:: _trust_internal_headers() -> dict[str, str] Return the auth header sent on every trust-internal call. Used for imaging-api and data-access-api requests; both validate the same per-trust ``TRUST_INTERNAL_SERVICE_KEY`` against their stored hash. :returns: Single-entry dict mapping the configured header name to the trust-internal service key. :rtype: dict[str, str] .. py:data:: TASK_COHORT_QUERY :value: 'cohort_query' .. py:data:: TASK_CREATE_IMAGING :value: 'create_imaging' .. py:data:: TASK_DELETE_IMAGING :value: 'delete_imaging' .. py:data:: TASK_GET_IMAGING_STATUS :value: 'get_imaging_status' .. py:data:: TASK_REIMPORT_STUDIES :value: 'reimport_studies' .. py:data:: TASK_UPDATE_USER_PROFILE :value: 'update_user_profile' .. py:function:: handle_cohort_query(payload: dict[str, Any]) -> dict[str, Any] :async: Process a cohort query task. Calls the local data-access-api, then pushes results back to the central hub. :param payload: Task payload containing query details (query, query_name, encrypted_project_id, etc.) :returns: dict with success status and any error details. .. py:function:: handle_create_imaging(payload: dict[str, Any]) -> dict[str, Any] :async: Process an imaging project creation task. Calls the local imaging-api to create the project. :param payload: Task payload containing project details. :returns: dict with success status and imaging project result. .. py:function:: handle_delete_imaging(payload: dict[str, Any]) -> dict[str, Any] :async: Process an imaging project deletion task. :param payload: Task payload containing imaging_project_id. :returns: dict with success status. .. py:function:: handle_get_imaging_status(payload: dict[str, Any]) -> dict[str, Any] :async: Process an imaging status retrieval task. Gets the import status from the local imaging-api and reports back to the hub. :param payload: Task payload containing imaging_project_id and encoded_query. :returns: dict with success status and imaging status result. .. py:function:: handle_reimport_studies(payload: dict[str, Any]) -> dict[str, Any] :async: Process a reimport studies task. :param payload: Task payload containing imaging_project_id and encoded_query. :returns: dict with success status. .. py:function:: handle_update_user_profile(payload: dict[str, Any]) -> dict[str, Any] :async: Process a user profile update task. :param payload: Task payload containing email and enabled fields. :returns: dict with success status. .. py:data:: TASK_HANDLERS