"""Interface for the ows-account microservice.""" from ddtrace import tracer from oto import response from owsrequest import request from notifications_delivery import config from notifications_delivery.constants import error, ows_services @tracer.wrap(service='ows-account') def get_vendor_info(vendor_id): """Get vendor's info from ows-account. Args: vendor_id (str): the vendor id Returns: response.Response: containing the vendor's info. """ path = '/vendor/{vendor_id}'.format(vendor_id=vendor_id) result = request.process( application=ows_services.APPLICATION_NAME, environment=config.ENVIRONMENT, method=ows_services.METHOD_GET, service_name=ows_services.OWS_ACCOUNT, path=path) if result.status_code != 200: return response.create_error_response( status=result.status_code, code=error.ERROR_CODE_OWS_ACCOUNT_REQUEST, message=result.text) return response.Response(result.json()) @tracer.wrap(service='ows-account') def get_vendor_company_brand(vendor_id): """Get vendor's company brand from ows-account. Args: vendor_id (str): vendor id Returns: response.Response: containing company brand. """ path = '/vendor/brand/{vendor_id}'.format(vendor_id=vendor_id) result = request.process( application=ows_services.APPLICATION_NAME, environment=config.ENVIRONMENT, method=ows_services.METHOD_GET, service_name=ows_services.OWS_ACCOUNT, path=path) if result.status_code != 200: return response.create_error_response( status=result.status_code, code=error.ERROR_CODE_OWS_ACCOUNT_REQUEST, message=result.text) return response.Response(result.text)