"""Approval logic for product reviews.""" from content_utils.exceptions import InvalidMessageException from owsrequest import request from src import config USER_UUID = config.ORCHARD_IDENTITY_ID NOTE = 'Content Review Auto Approved' headers = { 'Orchard-Identity-Id': USER_UUID, 'Orchard-Profile-Id': config.ORCHARD_PROFILE_ID, 'Orchard-Profile-Type': config.ORCHARD_PROFILE_TYPE } def process_event(event): """Process event.""" return approve_product( event['review_queue_id'], USER_UUID, ) def approve_product( review_queue_id, user_uuid ): """Approve product.""" data = {'user_id': user_uuid, 'note': NOTE} result = save_in_ows(review_queue_id, data) return { 'review_queue_id': review_queue_id, 'status': result.status_code, 'response_text': result.text } def save_in_ows(review_queue_id, data): """Save review result in ows-product-review.""" result = request.process( config.APPLICATION_NAME, config.ENVIRONMENT, 'POST', 'ows-product-review', f'/approve/{review_queue_id}', json=data, headers=headers ) if result.status_code != 200: raise InvalidMessageException(result.text) return result