def create_order(user_id): cart_items = CartItem.get_by_user(user_id) if not cart_items: raise PoseidonError('Invalid Cart') order_price = sum([i.price * i.quantity for i in cart_items]) order = Order.new(user_id, order_price) for cart_item in cart_items: sku_id = cart_item.sku_id sku = Sku.get(sku_id) # one match one product_id = sku_id product = Product.get(product_id) if not sku: raise PoseidonError('Invalid sku') item_price = cart_item.price * cart_item.quantity OrderItem.new(order_id=order.id, user_id=user_id, item_name=product.name, item_quantity=cart_item.quantity, item_price=item_price) CartItem.mremove(user_id, [item.id for item in cart_items])
def all_order(): orders = Order.all() return map(serialize_order, orders)
def get_order(user_id): orders = Order.get_by_user(user_id) return map(serialize_order, orders)