示例#1
0
def payments(id=None):
    if request.method == 'GET':
        if id is not None:
            payment = Payment.query.get(
                id)  # None por defecto si no consigue el registro
            if payment:
                return jsonify(payment.serialize()), 200
            return jsonify({"msg": "Financing Agreement not found"}), 404
        else:
            payment = Payment.query.all()
            payment = list(map(lambda payment: payment.serialize(), payment))
            return jsonify(payment), 200

    if request.method == 'POST':

        urlPDF = request.json.get("urlPDF", None)
        amount = request.json.get("amount", None)
        bank = request.json.get("bank", None)
        payment_method = request.json.get("payment_method", None)
        rut = request.json.get("rut", None)

        if not urlPDF:
            return jsonify({"msg": "URL is required"}), 400
        if not amount:
            return jsonify({"msg": "Amount is required"}), 400
        if not bank:
            return jsonify({"msg": "Bank is required"}), 400
        if not payment_method:
            return jsonify({"msg": "Payment Method is required"}), 400
        if not rut:
            return jsonify({"msg": "RUT is required"}), 400

        payment = Payment.query.filter_by(id=id).first()
        if payment:
            return jsonify({"msg": "Payment already exists"}), 400

        payment = Payment()
        payment.urlPDF = urlPDF
        payment.amount = amount
        payment.bank = bank
        payment.payment_method = payment_method
        payment.rut = rut

        payment.save()

        return jsonify({"success": "Payment Register Successfully"}), 200