"""Interface to the ows-product-digital microservice.""" from oto import response from owsrequest import request as requests from sales_goals.constants import ows_services def get_marketing_priorities(product_id): """Get the marketing priority.""" request_url = ( '/product/{}/mkt_priority' ).format(product_id) product_response = requests.get( ows_services.OWS_PRODUCT_DIGITAL_SERVICE_NAME, request_url, ) if product_response.status_code == 200: result = product_response.json()['mkt_priority'] return response.Response( status=product_response.status_code, message=result) return response.Response(status=product_response.status_code) def dataload_marketing_priorities(product_ids): """Dataload marketing priorities.""" product_response = requests.post( ows_services.OWS_PRODUCT_DIGITAL_SERVICE_NAME, '/product/mkt_priority/dataloader', json=product_ids, ) if product_response.status_code == 200: result = product_response.json()['mkt_priority'] return response.Response( status=product_response.status_code, message=result) return response.Response(status=product_response.status_code) def set_marketing_priority(product_id, country_id, priority): """Set the marketing priority.""" request_url = ( '/product/{}/mkt_priority' ).format(product_id) data = {'country_id': country_id, 'priority': priority} product_response = requests.post( ows_services.OWS_PRODUCT_DIGITAL_SERVICE_NAME, request_url, json=data, ) return response.Response(status=product_response.status_code) def delete_marketing_priority(product_id, country_id): """Delete the marketing priority.""" request_url = ( '/product/{}/mkt_priority/{}' ).format(product_id, country_id) product_response = requests.delete( ows_services.OWS_PRODUCT_DIGITAL_SERVICE_NAME, request_url, ) return response.Response(status=product_response.status_code) def delete_marketing_priority_for_product(product_id): """Delete the marketing priority.""" request_url = ( '/product/{}/mkt_priority' ).format(product_id) product_response = requests.delete( ows_services.OWS_PRODUCT_DIGITAL_SERVICE_NAME, request_url, ) return response.Response(status=product_response.status_code) def get_project_for_product(product_id): """Get the project for product.""" request_url = ( '/product/audio/{}' ).format(product_id) product_response = requests.get( ows_services.OWS_PRODUCT_DIGITAL_SERVICE_NAME, request_url, ) if product_response.status_code == 200: return product_response.json()['project_id'] return response.Response(status=product_response.status_code)