diff options
author | lonkaars <l.leblansch@gmail.com> | 2021-03-12 08:55:40 +0100 |
---|---|---|
committer | lonkaars <l.leblansch@gmail.com> | 2021-03-12 08:55:40 +0100 |
commit | 599108b21979039117ffe1de1817e71644a20fb4 (patch) | |
tree | 3a123627478a5280aeaf65910cbbe6b767f2987f /api/user/preferences.py | |
parent | b34662346733ded378b31d8b1ba1e8b2953ec49a (diff) |
cleaner endpoint names
Diffstat (limited to 'api/user/preferences.py')
-rw-r--r-- | api/user/preferences.py | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/api/user/preferences.py b/api/user/preferences.py index 5d46f5f..bfbfe66 100644 --- a/api/user/preferences.py +++ b/api/user/preferences.py @@ -3,10 +3,13 @@ from db import cursor from auth.login_token import token_login import json +def format_preferences(preferences): #TODO: remove excess properties (create preferences class?) + return json.dumps(preferences) or "" + preferences = Blueprint('preferences', __name__) -@preferences.route('/preferences') -def index(): +@preferences.route('/preferences', methods = ["GET"]) +def get_preferences(): data = request.get_json() token = request.cookies.get("token") or "" @@ -19,5 +22,25 @@ def index(): user_prefs = cursor.execute("select preferences from users where user_id = ?", [login]).fetchone() return { "preferences": json.loads(user_prefs[0]) }, 200 +@preferences.route('/preferences', methods = ["POST"]) +def index(): + data = request.get_json() + + new_preferences = data.get("newPreferences") or "" + token = request.cookies.get("token") or "" + + if not token: return "", 401 + login = token_login(token) or "" + + if not login: return "", 403 + + formatted_json = format_preferences(new_preferences) + if not formatted_json: return "", 400 + + cursor.execute("update users set preferences = ? where user_id = ?", [formatted_json, login]) + connection.commit() + + return "", 200 + dynamic_route = ["/user", preferences] |