Update endpoints.py

This commit is contained in:
akp 2022-10-30 07:57:12 +00:00
parent 19faf948ef
commit 6884b95249
No known key found for this signature in database
GPG key ID: AA5726202C8879B7

View file

@ -15,7 +15,7 @@ class Endpoints:
app.add_url_rule(paths.ENTRIES, view_func=self.list_entries, methods=["GET"])
app.add_url_rule(paths.GET_ENTRY, view_func=self.get_entry, methods=["GET"])
app.add_url_rule(
paths.UPDATE_ENTRY, view_func=self.update_entry, methods=["PATCH"]
paths.UPDATE_ENTRY, view_func=self.update_entry, methods=["PUT"]
)
app.add_url_rule(
paths.CREATE_ENTRY, view_func=self.create_entry, methods=["POST"]
@ -44,20 +44,36 @@ class Endpoints:
try:
new_entry = db.Entry(
uuid.uuid4(),
str(uuid.uuid4()),
body.get("name"),
float(coordinates.get("lat")),
float(coordinates.get("long")),
0,
body.get("votes", 0),
body.get("imageURL"),
)
except ValueError:
return flask.abort(400, "invalid coordinate format")
validation_result, error_text = new_entry.validate()
if not validation_result:
return flask.abort(400, error_text)
return new_entry
def update_entry(self):
return "", 204
def update_entry(self, entry_id: str):
res = self._get_entry_from_request()
if type(res) != db.Entry:
return res
entry = res
entry.id = entry_id
self.db.updateEntry(entry)
return "", 204
def create_entry(self):
res = self._get_entry_from_request()
@ -67,11 +83,6 @@ class Endpoints:
new_entry = res
validation_result, error_text = new_entry.validate()
if not validation_result:
return flask.abort(400, error_text)
self.db.addEntry(new_entry)
return flask.jsonify({"id": new_entry.id})