"""Score logic.""" from owsresponse import response from owsresponse import status as owsresponse_status from product_review.constants.error import ERROR_CODE_NOT_FOUND, ERROR_MESSAGE_NOT_FOUND from product_review.models import score_history as score_history_model from product_review.util.exception import raise_exception_for_ows_response def score_review_queue_item(review_queue_id, validation_result, failed_validations, confidence_score, score_reasoning, auto_approved, score_version): """Save a score history record.""" score_history_model.add_score( review_queue_id, validation_result, failed_validations, confidence_score, score_reasoning, auto_approved, score_version ) return response.Response("Successfully added score history record.") def get_score(review_queue_id): """Get score by review_queue_id.""" result = score_history_model.get_score(review_queue_id) if not result: raise_exception_for_ows_response( status=owsresponse_status.NOT_FOUND, code=ERROR_CODE_NOT_FOUND, message=ERROR_MESSAGE_NOT_FOUND, ) return response.Response(result)