diff --git a/README.adoc b/README.adoc index 1e6586a2d444af99fb22f87e30e60ccb29ab6263..bd47e45aba2b84e395b15ce9ddbd8a1a4d14f380 100644 --- a/README.adoc +++ b/README.adoc @@ -53,7 +53,7 @@ Die Routen sind Passwort geschützt. # passwort: admin ---- -* Dies kann via `curl --user admin:admin -X GET http://localhost:5000/benutzer/1` getestet werden. Ohne Zugangsdaten bekommt man ein `Unauthorized Access` zurück. +* Dies kann via `curl -X GET http://localhost:5000/benutzer/1` getestet werden. Ohne Zugangsdaten bekommt man ein `Unauthorized Access` zurück. === GET diff --git a/app/app.py b/app/app.py index c403d373e215aedb2c97c88509a211f36ca7ad77..23101ae163599c39c608850c4444b4e5ef547e04 100644 --- a/app/app.py +++ b/app/app.py @@ -35,12 +35,20 @@ def index(): @app.route("/benutzer/<id>", methods=["GET"]) @auth.login_required def get_email(id): - benutzer_email = db.session.query(Benutzer.email).filter(Benutzer.customerid == id).first()[0] - return jsonify(email=benutzer_email) + + exists = db.session.query(db.exists().where(Benutzer.customerid == id)).scalar() + + if exists: + benutzer_email = db.session.query(Benutzer.email).filter(Benutzer.customerid == id).first()[0] + return jsonify(email=benutzer_email) + else: + return json.dumps({'Benutzer': 'existiert nicht'}) + @app.route("/benutzer", methods=["POST"]) @auth.login_required def create_user(): + new_user = Benutzer( vorname=request.json['vorname'], nachname=request.json['nachname'], @@ -48,15 +56,30 @@ def create_user(): ) db.session.add(new_user) db.session.commit() - return json.dumps({'Benutzer': 'hinzugefügt'}) + + benutzer = json.dumps( + {"vorname": new_user.vorname, + "nachname": new_user.nachname, + "email": new_user.email + }) + + #return benutzer + return jsonify(benutzer) @app.route("/benutzer/<id>", methods=["DELETE"]) @auth.login_required def delete_user(id): - Benutzer.query.filter_by(customerid=id).delete() - db.session.commit() - return json.dumps({'Benutzer': 'gelöscht'}) + + exists = db.session.query(db.exists().where(Benutzer.customerid == id)).scalar() + + if exists: + Benutzer.query.filter_by(customerid=id).delete() + db.session.commit() + return json.dumps({'Benutzer': 'geloescht'}) + else: + return json.dumps({'Benutzer': 'existiert nicht'}) + if __name__ == "__main__": app.run(debug=True) \ No newline at end of file diff --git a/app/models.py b/app/models.py index 8254fc749e026e47fb72fa50e3c4fe3e75f4825c..a22447e44566dde8ae00d1344b462dda08eeeae8 100644 --- a/app/models.py +++ b/app/models.py @@ -1,4 +1,5 @@ from flask_sqlalchemy import SQLAlchemy +import json db = SQLAlchemy() @@ -17,4 +18,5 @@ class Benutzer(db.Model): self.email = email def __repr__(self): - return f"{self.customerID}:{self.vorname}:{self.nachname}:{self.email}" \ No newline at end of file + benutzer = json.dumps({"vorname": self.vorname, "nachname": self.nachname, "email": self.email}) + return benutzer \ No newline at end of file