def receipts(user_id): user = User.query.filter_by(id=user_id).first() if not user: return make_response("User " + str(user_id) + " doesn't exist", 404) if request.method == "POST": if validate_request_receipt(): receipt_date = date_string_to_datetime(request.json["date_time"]) receipt = Receipt(request.json["store_name"], request.json["category"], request.json["total_transaction"], receipt_date) user.receipts.append(receipt) for item in request.json["items"]: if validate_item(item): item = PurchasedItem(item["name"], request.json["category"], item["price_per_item"], item["quantity"]) receipt.purchased_items.append(item) db.add(user) db.commit() return json.dumps({"receipt": receipt.serialize()}) else: #request is a get and return the receipts of the user return get_user_receipts(user)