"""Logic for sending the auto approval results to ows product review service.""" from typing import Any import config from lambdacommon.common_config import logger from owsclient import M2MTokenManager, OwsClient from secrets_manager.python_ext import PythonSecretsManager secrets_manager = PythonSecretsManager( application_context=False, environment=config.ENVIRONMENT, service_name=config.APPLICATION_NAME, ) client = OwsClient( config.ENVIRONMENT, config.APPLICATION_NAME, retries=config.OWS_RETRIES, m2m_token_manager=( M2MTokenManager( secrets_manager=secrets_manager, environment=config.TOKEN_MANAGER_ENVIRONMENT, service_name=config.APPLICATION_NAME, ) ), ) def save_auto_approval_results(review_queue_id: int, data: dict[str, Any]) -> Any: """Save review result in ows-product-review.""" logger.info( f"Saving auto approval results for review_queue_id {review_queue_id}" ) response = client.post( "ows-product-review", f"/score/{review_queue_id}", json=data ) if response.status_code != 200: error_message = ( f"Failed to save auto approval results in score_history " f"table for review_queue_id {review_queue_id}.\n" f"Status code: {response.status_code}, " f"Error: {response.text}" ) raise Exception(error_message) logger.info( f"Saved auto approval results for review_queue_id {review_queue_id}" )