Skip to content
Snippets Groups Projects
Commit 925be674 authored by Yannic Nevado Hidalgo's avatar Yannic Nevado Hidalgo
Browse files

fix(error-handling): sicherstellen das benutzer existieren müssen vor GET und DELETE

parent b7d8f8d5
Branches
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment