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
69 lines
2.1 KiB
from flask import Flask, request, jsonify
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
from flask_cors import CORS
|
|
import time
|
|
|
|
app = Flask(__name__)
|
|
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///primemeat.db"
|
|
CORS(app)
|
|
|
|
# DB
|
|
db = SQLAlchemy(app)
|
|
class Umsatz(db.Model):
|
|
id = db.Column('id', db.Integer, primary_key = True)
|
|
monat = db.Column(db.String(7))
|
|
wert = db.Column(db.Integer)
|
|
|
|
def __init__(self, monat, wert):
|
|
self.monat = monat
|
|
self.wert = wert
|
|
|
|
@app.route("/")
|
|
def hello():
|
|
db.create_all()
|
|
return "<h1 style='color:blue'>Hello, Prime Meat!<h1>"
|
|
|
|
@app.route('/time')
|
|
def get_current_time():
|
|
return jsonify({'time': time.time()})
|
|
|
|
@app.route("/api/umsatz", methods=["GET", "POST", "DELETE"])
|
|
def umsatz():
|
|
method = request.method
|
|
if (method.lower() == "get"):
|
|
umsatz = Umsatz.query.all()
|
|
return jsonify([{"id": i.id, "monat": i.monat, "wert": i.wert} for i in umsatz])
|
|
elif (method.lower() == "post"):
|
|
try:
|
|
monat = request.json["monat"]
|
|
wert = request.json["wert"]
|
|
if (monat and wert):
|
|
try:
|
|
umsatz = Umsatz(monat, wert)
|
|
db.session.add(umsatz)
|
|
db.session.commit()
|
|
return jsonify({"success": True})
|
|
except Exception as e:
|
|
return ({"error": e})
|
|
else:
|
|
return jsonify({"error": "Invalid form"})
|
|
except:
|
|
return jsonify({"error": "Invalid form"})
|
|
elif (method.lower() == "delete"):
|
|
try:
|
|
uid = request.json["id"]
|
|
if (uid):
|
|
try:
|
|
umsatz = Umsatz.query.get(uid)
|
|
db.session.delete(umsatz)
|
|
db.session.commit()
|
|
return jsonify({"success": True})
|
|
except Exception as e:
|
|
return jsonify({"error": e})
|
|
else:
|
|
return jsonify({"error": "Invalid form"})
|
|
except:
|
|
return jsonify({"error": "m"})
|
|
|
|
if __name__ == "__main__":
|
|
app.run(host='0.0.0.0')
|