def invoices(id=None): if request.method == 'GET': if id is not None: invoice = Invoice.query.get(id) if invoice: return jsonify(invoice.serialize()), 200 return jsonify({"msg": "This invoice not found!"}), 404 else: invoices = Invoice.query.all() invoices = list(map(lambda invoice: invoice.serialize(), invoices)) return jsonify(invoices), 200 elif request.method == 'PUT': invoice = Invoice.query.get(id) invoice.email_paypal = request.json.get("email_paypal", "") invoice.payment = request.json.get("payment", "") invoice.date = request.json.get("date", "") invoice.validity = request.json.get("validity", "") invoice.update() return jsonify('Actualizado correctamente'), 200 elif request.method == 'DELETE': invoice = Invoice.query.get(id) invoice.delete() return jsonify('Borrado'), 200 elif request.method == "POST": invoice = Invoice() invoice.email_paypal = request.json.get("email_paypal", "") invoice.payment = request.json.get("payment", "") invoice.date = request.json.get("date", "") invoice.validity = request.json.get("validity", "") invoice.premium = request.json.get("premium", "") invoice.save() return jsonify(invoice.serialize()), 201