Update endpoints.py
This commit is contained in:
parent
98007a3a5a
commit
5fe92bfc8e
1 changed files with 21 additions and 10 deletions
|
@ -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})
|
||||
|
|
Reference in a new issue