You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
2.1 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. from flask import Flask, request, jsonify
  2. from flask_sqlalchemy import SQLAlchemy
  3. from flask_cors import CORS
  4. import time
  5. app = Flask(__name__)
  6. app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///primemeat.db"
  7. CORS(app)
  8. # DB
  9. db = SQLAlchemy(app)
  10. class Umsatz(db.Model):
  11. id = db.Column('id', db.Integer, primary_key = True)
  12. monat = db.Column(db.String(7))
  13. wert = db.Column(db.Integer)
  14. def __init__(self, monat, wert):
  15. self.monat = monat
  16. self.wert = wert
  17. @app.route("/")
  18. def hello():
  19. db.create_all()
  20. return "<h1 style='color:blue'>Hello, Prime Meat!<h1>"
  21. @app.route('/time')
  22. def get_current_time():
  23. return jsonify({'time': time.time()})
  24. @app.route("/api/umsatz", methods=["GET", "POST", "DELETE"])
  25. def umsatz():
  26. method = request.method
  27. if (method.lower() == "get"):
  28. umsatz = Umsatz.query.all()
  29. return jsonify([{"id": i.id, "monat": i.monat, "wert": i.wert} for i in umsatz])
  30. elif (method.lower() == "post"):
  31. try:
  32. monat = request.json["monat"]
  33. wert = request.json["wert"]
  34. if (monat and wert):
  35. try:
  36. umsatz = Umsatz(monat, wert)
  37. db.session.add(umsatz)
  38. db.session.commit()
  39. return jsonify({"success": True})
  40. except Exception as e:
  41. return ({"error": e})
  42. else:
  43. return jsonify({"error": "Invalid form"})
  44. except:
  45. return jsonify({"error": "Invalid form"})
  46. elif (method.lower() == "delete"):
  47. try:
  48. uid = request.json["id"]
  49. if (uid):
  50. try:
  51. umsatz = Umsatz.query.get(uid)
  52. db.session.delete(umsatz)
  53. db.session.commit()
  54. return jsonify({"success": True})
  55. except Exception as e:
  56. return jsonify({"error": e})
  57. else:
  58. return jsonify({"error": "Invalid form"})
  59. except:
  60. return jsonify({"error": "m"})
  61. if __name__ == "__main__":
  62. app.run(host='0.0.0.0')