"""Interface to the ows-carveouts microservice. Used for instant grats stores validation. """ from oto import response from owsrequest import request from backend.constants import error from backend.constants import services from backend.utils import model_utils def get_stores_allowed_for_instant_grats(): """Get list of stores allowed for Instant Grats. Returns: response.Response: list of stores data in format [{'id': store_id, 'name': store_name}, ...] """ endpoint = '/stores/grats' carveouts_get_response = request.get(services.OWS_CARVEOUTS, endpoint) if carveouts_get_response.status_code == 200: result = [] for store_id, store_name in carveouts_get_response.json().items(): result.append({'id': store_id, 'name': store_name}) return response.Response(message=result) return model_utils.process_error_response( carveouts_get_response, code=error.OWS_CARVEOUTS_ERROR_CODE)