aboutsummaryrefslogtreecommitdiff
path: root/api/user/updatePreferences.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/user/updatePreferences.py')
-rw-r--r--api/user/updatePreferences.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/api/user/updatePreferences.py b/api/user/updatePreferences.py
new file mode 100644
index 0000000..2eb6512
--- /dev/null
+++ b/api/user/updatePreferences.py
@@ -0,0 +1,32 @@
+from flask import Blueprint, request
+from db import cursor, connection
+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 ""
+
+updatePreferences = Blueprint('updatePreferences', __name__)
+
+@updatePreferences.route('/updatePreferences', 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", updatePreferences]
+