def send_get_products_message(self, basket_code): """ Send a get products from a basket message basket_code: uuid return: Message object """ message = MessageManager.get_products_message(basket_code=basket_code) message_response = Message.deserialize( self._send_message(message.serialize())) return message_response.content['products']
def message_handler(self, message): """ Message handler. Translate every received message in a valid manager action and returns a valid message with the response of the action. message: MessageItem object return: MessageItem object """ if message.code == Message.CREATE_BASKET_MESSAGE: basket_code = self.manager.create() return MessageManager.create_basket_message(basket_code) if message.code == Message.REMOVE_BASKET_MESSAGE: basket_code = message.content['basket_code'] self.manager.remove(basket_code) return MessageManager.create_ack_message() if message.code == Message.ADD_PRODUCT_MESSAGE: basket_code = message.content['basket_code'] product_code = message.content['product_code'] self.manager.add_product(basket_code, product_code) return MessageManager.create_ack_message() if message.code == Message.REMOVE_PRODUCT_MESSAGE: basket_code = message.content['basket_code'] product_code = message.content['product_code'] self.manager.remove_product(basket_code, product_code) return MessageManager.create_ack_message() if message.code == Message.GET_PRODUCTS_MESSAGE: basket_code = message.content['basket_code'] products = self.manager.get_products(basket_code) return MessageManager.get_products_message(products=products) if message.code == Message.GET_CHECKOUT_MESSAGE: basket_code = message.content['basket_code'] total = self.manager.checkout(basket_code) return MessageManager.get_checkout_message(total=total) return MessageManager.create_invalid_message()
def get_products(basket_code): products = manager.get_products(basket_code) return MessageManager.get_products_message(products=products)