def delete(uuid, gateway: AbstractJSONStorageGateway = None): gateway = gateway if gateway is not None else get_default_gateway() response = requests.get( f"{current_app.config['ORDERS_SERVICE_URL']}/?product_uuid={uuid}") if response.ok: raise IntegrityError('product is booked in order') else: return gateway.delete(uuid)
def create(data, gateway: AbstractJSONStorageGateway = None): gateway = gateway if gateway is not None else get_default_gateway() response = requests.get( f"{current_app.config['PRODUCTS_SERVICE_URL']}/{data['product_uuid']}/" ) if response.ok: return gateway.create(data) else: raise IntegrityError('product not found')
def create(data, gateway: AbstractJSONStorageGateway = None): gateway = gateway if gateway is not None else get_default_gateway() return gateway.create(data)
def list_(gateway: AbstractJSONStorageGateway = None): gateway = gateway if gateway is not None else get_default_gateway() return gateway.list_()
def update(uuid, data, gateway: AbstractJSONStorageGateway = None): gateway = gateway if gateway is not None else get_default_gateway() return gateway.update(uuid=uuid, data=data)
def retrieve(uuid, gateway: AbstractJSONStorageGateway = None): gateway = gateway if gateway is not None else get_default_gateway() return gateway.retrieve(uuid)
def list_(gateway: AbstractJSONStorageGateway = None, conditions: dict = None): gateway = gateway if gateway is not None else get_default_gateway() if conditions: return gateway.search(conditions=conditions) return gateway.list_()
def delete(uuid, gateway: AbstractJSONStorageGateway = None): gateway = gateway if gateway is not None else get_default_gateway() return gateway.delete(uuid=uuid)