示例#1
0
def add_purchase():
    buyer_id = request.json["buyer_id"]
    new_purchase = Purchase(buyer_id=buyer_id, status_id=1)
    # commit new_purchase to database to get purchase id
    db.session.add(new_purchase)
    db.session.commit()

    # This is placeholder code so we can test.
    # cart_items = request.json["cart_items"]
    # return jsonify({
    #     "purchase": {
    #         "buyer_id": buyer_id,
    #         "items": cart_items,
    #         "test": cart_items[0]['qty']
    #     },
    #     "total": 1250
    # })

    cart_items = request.json["cart_items"]
    # add purchase_items to new_purchase
    for item in cart_items:
        new_p_item = P_Item(qty=item['qty'],
                            product_id=item['product_id'],
                            purchase_id=new_purchase.id)
        db.session.add(new_p_item)

    new_purchase.total = new_purchase.set_total()
    db.session.add(new_purchase)
    # commit both purchase item and purchase total to db.
    db.session.commit()

    # return purchase
    resp = purchase_schema.dump(new_purchase)
    return jsonify({'msg': 'Your purchase was received', 'purchase': resp})