Skip to content
Snippets Groups Projects

workflow and capability request submission

Merged Charlotte Hausman requested to merge SWS-29-workflow_and_capability_requests into main
1 file
+ 17
9
Compare changes
  • Side-by-side
  • Inline
@@ -27,6 +27,11 @@ def lookup_workflow(request):
return request.info.lookup_workflow_definition(request.matchdict["name"])
def lookup_workflow_json(request):
req = request.json_body
return request.info.lookup_workflow_definition(req["workflow"])
def lookup_request(request):
return request.info.lookup_workflow_request(request.matchdict["request_id"])
@@ -94,12 +99,9 @@ class WorkflowRequestRestService:
Audience: front-end and CLI
:return:
"""
# all we should have to do here is take the WorkflowRequest from the context and
# hand it to WorkflowInfo to save it, but we're still conflating
# workflows and workflow requests right now
request = self.request.info.create_workflow_request(
self.request.context, self.request.GET.getall("args")
)
req = self.request.json_body
request = self.request.info.create_workflow_request(req["workflow"], req["args"])
return request
@view_config(request_method="POST", route_name="submit_workflow_request")
@@ -111,8 +113,9 @@ class WorkflowRequestRestService:
:return:
"""
print(f"Submitting workflow {self.request.context}")
return self.request.workflows.execute(
self.request.context, self.request.GET.getall("files")
self.request.context, self.request.json_body["files"]
)
@@ -246,10 +249,12 @@ def main(global_config, **settings):
config.add_route("workflows", "/workflows")
config.add_route("workflow", "/workflows/{name}", factory=lookup_workflow)
# parameters are passed with json: {workflow:<name>, args: <args>}
config.add_route(
"create_workflow_request",
"/workflows/{name}/requests/create",
factory=lookup_workflow,
"/workflows/requests/create",
factory=lookup_workflow_json,
)
config.add_route(
"workflow_request",
@@ -266,6 +271,9 @@ def main(global_config, **settings):
"/workflows/requests/{request_id}/files/{filename}",
factory=lookup_request,
)
# parameters are passed with json: {files:{<name>}}.
# Use empty braces for no additional files
config.add_route(
"submit_workflow_request",
"/workflows/requests/{request_id}/submit",
Loading