exam-manager.app.dal.workflow_dal ================================= .. py:module:: exam-manager.app.dal.workflow_dal .. autoapi-nested-parse:: Data acess layer (DAL) between fastapi endpoint and sql database. Functions --------- .. autoapisummary:: exam-manager.app.dal.workflow_dal.add_workflow_data exam-manager.app.dal.workflow_dal.get_workflow_data exam-manager.app.dal.workflow_dal.get_all_workflow_data exam-manager.app.dal.workflow_dal.get_all_workflows_template_data exam-manager.app.dal.workflow_dal.delete_workflow_data exam-manager.app.dal.workflow_dal.update_workflow_data Module Contents --------------- .. py:function:: add_workflow_data(payload: scanhub_libraries.models.BaseWorkflow, creator: str) -> app.db.postgres.Workflow :async: Add new workflow. Parameters ---------- payload Workflow pydantic base model with data for workflow creation creator The username/id of the user who creats this exam Returns ------- Database orm model of created workflow .. py:function:: get_workflow_data(workflow_id: uuid.UUID) -> app.db.postgres.Workflow | None :async: Get workflow by id. Parameters ---------- workflow_id Id of the requested workflow Returns ------- Database orm model with data of requested workflow .. py:function:: get_all_workflow_data(exam_id: uuid.UUID) -> list[app.db.postgres.Workflow] :async: Get a list of all workflows assigned to a certain exam. Parameters ---------- exam_id Id of the parent exam entry, workflows are assigned to Returns ------- List of workflow data base orm models .. py:function:: get_all_workflows_template_data() -> list[app.db.postgres.Workflow] :async: Get a list of all workflows assigned to a certain exam. Parameters ---------- exam_id Id of the parent exam entry, workflows are assigned to Returns ------- List of workflow data base orm models .. py:function:: delete_workflow_data(workflow_id: uuid.UUID) -> bool :async: Delete a workflow by ID. Cascade delete the associated tasks. Parameters ---------- workflow_id ID of workflow to be deleted Returns ------- Success of delete event .. py:function:: update_workflow_data(workflow_id: uuid.UUID, payload: scanhub_libraries.models.BaseWorkflow) -> app.db.postgres.Workflow | None :async: Update existing workflow in database. Parameters ---------- workflow_id Id of the workflow to be updateed payload Workflow pydantic base model with data to be updated Returns ------- Workflow database orm model of updated workflow