Beispiel #1
0
def put_workflow(workflow):
    """ :type workflow: dart.model.workflow.Workflow """
    updated_workflow = Workflow.from_dict(request.get_json())
    if updated_workflow.data.state not in [WorkflowState.ACTIVE, WorkflowState.INACTIVE]:
        return {'results': 'ERROR', 'error_message': 'state must be ACTIVE or INACTIVE'}, 400, None
    workflow = workflow_service().update_workflow_state(workflow, updated_workflow.data.state)
    return {'results': workflow.to_dict()}
Beispiel #2
0
def post_workflow(datastore):
    """ :type datastore: dart.model.datastore.Datastore """
    workflow = Workflow.from_dict(request.get_json())
    workflow.data.datastore_id = datastore.id
    workflow.data.engine_name = datastore.data.engine_name
    if datastore.data.state == DatastoreState.ACTIVE:
        # only templated datastores can use concurrencies > 1
        workflow.data.concurrency = 1
    workflow = workflow_service().save_workflow(workflow)
    return {'results': workflow.to_dict()}
Beispiel #3
0
def post_workflow(datastore):
    """ :type datastore: dart.model.datastore.Datastore """
    workflow = Workflow.from_dict(request.get_json())
    workflow.data.datastore_id = datastore.id
    workflow.data.engine_name = datastore.data.engine_name
    if datastore.data.state == DatastoreState.ACTIVE:
        # only templated datastores can use concurrencies > 1
        workflow.data.concurrency = 1
    workflow = workflow_service().save_workflow(workflow)
    return {'results': workflow.to_dict()}
Beispiel #4
0
 def _resolve_and_save_workflow(self, entity_id, entity_map, actual_entities_by_node_id, actual_entities_by_unsaved_id):
     actual_id, unsaved_id = self._resolve(EntityType.workflow, entity_id, entity_map, actual_entities_by_unsaved_id)
     if actual_id:
         return actual_id
     node_id = self._node_id(EntityType.workflow, unsaved_id)
     workflow = Workflow.from_dict(entity_map['unsaved_entities'][node_id])
     assert isinstance(workflow, Workflow)
     workflow.data.datastore_id = self._resolve_and_save_datastore(workflow.data.datastore_id, entity_map, actual_entities_by_node_id, actual_entities_by_unsaved_id)
     workflow = self._workflow_service.save_workflow(workflow, commit=False, flush=True)
     actual_entities_by_node_id[node_id] = workflow
     actual_entities_by_unsaved_id[unsaved_id] = workflow
     return workflow.id
Beispiel #5
0
 def _resolve_and_save_workflow(self, entity_id, entity_map, actual_entities_by_node_id, actual_entities_by_unsaved_id):
     actual_id, unsaved_id = self._resolve(EntityType.workflow, entity_id, entity_map, actual_entities_by_unsaved_id)
     if actual_id:
         return actual_id
     node_id = self._node_id(EntityType.workflow, unsaved_id)
     workflow = Workflow.from_dict(entity_map['unsaved_entities'][node_id])
     assert isinstance(workflow, Workflow)
     workflow.data.datastore_id = self._resolve_and_save_datastore(workflow.data.datastore_id, entity_map, actual_entities_by_node_id, actual_entities_by_unsaved_id)
     workflow = self._workflow_service.save_workflow(workflow, commit=False, flush=True)
     actual_entities_by_node_id[node_id] = workflow
     actual_entities_by_unsaved_id[unsaved_id] = workflow
     return workflow.id
Beispiel #6
0
def put_workflow(workflow):
    """ :type workflow: dart.model.workflow.Workflow """
    updated_workflow = Workflow.from_dict(request.get_json())
    if updated_workflow.data.state not in [
            WorkflowState.ACTIVE, WorkflowState.INACTIVE
    ]:
        return {
            'results': 'ERROR',
            'error_message': 'state must be ACTIVE or INACTIVE'
        }, 400, None
    workflow = workflow_service().update_workflow_state(
        workflow, updated_workflow.data.state)
    return {'results': workflow.to_dict()}
Beispiel #7
0
def put_workflow(workflow):
    """ :type workflow: dart.model.workflow.Workflow """
    return update_workflow(workflow, Workflow.from_dict(request.get_json()))
Beispiel #8
0
def patch_workflow(workflow):
    """ :type workflow: dart.model.workflow.Workflow """
    p = JsonPatch(request.get_json())
    return update_workflow(workflow, Workflow.from_dict(p.apply(workflow.to_dict())))
Beispiel #9
0
def patch_workflow(workflow):
    """ :type workflow: dart.model.workflow.Workflow """
    p = JsonPatch(request.get_json())
    return update_workflow(workflow,
                           Workflow.from_dict(p.apply(workflow.to_dict())))
Beispiel #10
0
def put_workflow(workflow):
    """ :type workflow: dart.model.workflow.Workflow """
    return update_workflow(workflow, Workflow.from_dict(request.get_json()))