"""Interface to the ows-product-workflow microservice.""" from owsrequest import request from owsresponse import status from product_review.constants import error, services from product_review.util import exception as exception_util def get_error_correction(product_id): """Get last error correction for product_id. Args: product_id (int): unique identifier for the product Returns: response.Response status of create call and dictionary of results """ result = request.get( services.OWS_PRODUCT_WORKFLOW, f"/product/{product_id}/correction" ) if result.status_code == status.NOT_FOUND: return {} if result.status_code != status.OK: exception_util.raise_exception_for_ows_response( status=result.status_code, code=error.OWS_PRODUCT_WORKFLOW_ERROR_CODE, message=result.text, ) return result.json() def get_submitted_revisions(product_id): """Return revisions for a given product if it exists.""" revisions = get_error_correction(product_id) if revisions.get("status") != "submitted": return None return revisions