Skip to content
Snippets Groups Projects
Commit e7507ec7 authored by Daniel Nemergut's avatar Daniel Nemergut Committed by Sam Kagan
Browse files

Modified the casa matrix endpoint to accept a list of capabilities and return...

Modified the casa matrix endpoint to accept a list of capabilities and return a dict mapping each capability to a version list
parent 5f768af5
No related branches found
No related tags found
No related merge requests found
......@@ -77,17 +77,20 @@ def get_casa_versions(request: Request) -> Response:
"""
body = parse_body(request)
if "capability" not in body:
return HTTPBadRequest(detail=f"Capability not given")
if "capabilities" not in body:
return HTTPBadRequest(detail=f"Capabilities not given")
params = {
"version": body["version"] if "version" in body else None,
"capability": body["capability"],
"telescope": body["telescope"] if "telescope" in body else None,
}
params = {k: v for k, v in params.items() if v is not None}
casa_versions = {}
for capability in body["capabilities"]:
params = {
"version": body["version"] if "version" in body else None,
"capability": capability,
"telescope": body["telescope"] if "telescope" in body else None,
}
params = {k: v for k, v in params.items() if v is not None}
casa_versions = request.casa_matrix_service.get_versions(**params)
casa_versions[capability] = request.casa_matrix_service.get_versions(**params)
if casa_versions:
return Response(status_int=http.HTTPStatus.OK, json_body=casa_versions)
......
......@@ -647,7 +647,7 @@ paths:
/casa_matrix/versions:
parameters:
- $ref: "#/parameters/casa-version"
- $ref: "#/parameters/casa-capability"
- $ref: "#/parameters/casa-capabilities"
- $ref: "#/parameters/casa-telescope"
get:
tags:
......@@ -665,7 +665,7 @@ paths:
200:
description: "successful operation"
schema:
$ref: "#/definitions/CasaVersions"
$ref: "#/definitions/CasaVersionDict"
/casa_matrix/recipe:
parameters:
- $ref: "#/parameters/casa-capability"
......@@ -905,6 +905,13 @@ definitions:
type: "array"
items:
$ref: "#/definitions/CasaVersion"
CasaVersionDict:
type: "object"
properties:
capability:
type: "string"
casa_versions:
$ref: "#/definitions/CasaVersions"
WorkflowList:
type: "array"
items:
......
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