diff --git a/services/capability/capability/views/capability.py b/services/capability/capability/views/capability.py index 9dd94bbc4b416e762e9b1d636a03b85911604abd..aef1c7f9015985f54f24e4bb5d5e7d0d499691d1 100644 --- a/services/capability/capability/views/capability.py +++ b/services/capability/capability/views/capability.py @@ -160,7 +160,8 @@ def edit_capability(request: Request) -> Response: if success: return Response(body="Capability successfully edited!") else: - return HTTPExpectationFailed(detail=f"Unable to edit capability {capability_name}.") + # Need to raise on failure when a transaction is in-progress so that it rolls back instead of committing + raise HTTPExpectationFailed(detail=f"Unable to edit capability {capability_name}.") @view_config(route_name="enable_capability", renderer="json") @@ -184,7 +185,8 @@ def enable_capability(request: Request) -> Response: if success: return Response(body="Capability successfully enabled!") else: - return HTTPExpectationFailed(detail=f"Unable to enable capability {capability_name}.") + # Need to raise on failure when a transaction is in-progress so that it rolls back instead of committing + raise HTTPExpectationFailed(detail=f"Unable to enable capability {capability_name}.") @view_config(route_name="disable_capability", renderer="json") @@ -208,7 +210,8 @@ def disable_capability(request: Request) -> Response: if success: return Response(body="Capability successfully disabled!") else: - return HTTPExpectationFailed(detail=f"Unable to disable capability {capability_name}.") + # Need to raise on failure when a transaction is in-progress so that it rolls back instead of committing + raise HTTPExpectationFailed(detail=f"Unable to disable capability {capability_name}.") @view_config(route_name="pause_capability", renderer="json") diff --git a/services/capability/capability/views/capability_request.py b/services/capability/capability/views/capability_request.py index dc4e7f859f1c58b3f817edb787681c6c06246936..30878378f3a1681743a3ba66def00c13d8c4cb3b 100644 --- a/services/capability/capability/views/capability_request.py +++ b/services/capability/capability/views/capability_request.py @@ -237,7 +237,8 @@ def close_capability_request(request: Request) -> Response: request.capability_info.save_entity(capability_request) except Exception as exc: detail = f"sealing of {capability_request.id} failed: {exc}" - return HTTPBadRequest(detail=detail) + # Need to raise on failure when a transaction is in-progress so that it rolls back instead of committing + raise HTTPBadRequest(detail=detail) return Response(body=f"Capability request with ID {request_id} successfully closed.") else: @@ -277,7 +278,8 @@ def delete_capability_request(request: Request) -> Response: f"Capability request for {capability_name} with ID {request_id} cannot be deleted;", "it has existing executions.", ) - return HTTPBadRequest(detail=bad_request_msg) + # Need to raise on failure when a transaction is in-progress so that it rolls back instead of committing + raise HTTPBadRequest(detail=bad_request_msg) return Response(body=f"Capability request for {capability_name} with ID {request_id} successfully deleted.") @@ -335,7 +337,8 @@ def assign_capability_request(request: Request) -> Response: request.capability_info.save_entity(capability_request) except Exception as exc: detail = f"assignment of {user_name} as {group} to request {request_id} failed: {exc}" - return HTTPBadRequest(detail=detail) + # Need to raise on failure when a transaction is in-progress so that it rolls back instead of committing + raise HTTPBadRequest(detail=detail) return Response(json_body={"resp": response_body}) @@ -409,6 +412,7 @@ def change_srdp_compatibility_version_metadata(request: Request) -> Response: r = requests.post(change_srdp_url, json=request.json_body) if r.status_code != requests.codes.ok: srdp_change_failed_msg = f"SRDP-Compatibility change failed: {r.status_code}" - return HTTPInternalServerError(detail=srdp_change_failed_msg) + # Need to raise on failure when a transaction is in-progress so that it rolls back instead of committing + raise HTTPInternalServerError(detail=srdp_change_failed_msg) return request.json_body diff --git a/services/capability/capability/views/capability_version.py b/services/capability/capability/views/capability_version.py index 803231f0983364a2607b48b30a1390db426b1319..6348ba3f6265b28045e8578b0f79a92a646130f9 100644 --- a/services/capability/capability/views/capability_version.py +++ b/services/capability/capability/views/capability_version.py @@ -177,7 +177,8 @@ def update_internal_notes(request: Request) -> Response: ) else: no_versions_msg = f"Capability request with ID {capability_request_id} has no version {version_id}" - return HTTPPreconditionFailed(no_versions_msg) + # Need to raise on failure when a transaction is in-progress so that it rolls back instead of committing + raise HTTPPreconditionFailed(no_versions_msg) else: not_found_msg = f"Capability request with ID {capability_request_id} not found." return HTTPNotFound(detail=not_found_msg)