Skip to content
Snippets Groups Projects
Commit 26b37862 authored by Charlotte Hausman's avatar Charlotte Hausman
Browse files

workflow and capability request submission

parent df79a180
No related branches found
No related tags found
1 merge request!66workflow and capability request submission
Pipeline #465 passed
......@@ -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",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment