aboutsummaryrefslogtreecommitdiff
path: root/wqflask/wqflask/collect.py
diff options
context:
space:
mode:
Diffstat (limited to 'wqflask/wqflask/collect.py')
-rw-r--r--wqflask/wqflask/collect.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index b64270e0..ad0820c2 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -27,7 +27,8 @@ from wqflask.oauth2 import session
from wqflask.oauth2.session import session_info
from wqflask.oauth2.checks import user_logged_in
from wqflask.oauth2.request_utils import process_error
-from wqflask.oauth2.client import oauth2_get, no_token_get, no_token_post
+from wqflask.oauth2.client import (
+ oauth2_get, oauth2_post, no_token_get, no_token_post)
Redis = get_redis_conn()
@@ -188,6 +189,26 @@ def list_collections():
**user_collections,
**anon_collections)
+@app.route("/collections/handle_anonymous", methods=["POST"])
+def handle_anonymous_collections():
+ """Handle any anonymous collection on logging in."""
+ choice = request.form.get("anon_choice")
+ if choice not in ("import", "delete"):
+ flash("Invalid choice!", "alert-danger")
+ return redirect("/")
+ def __impdel_error__(err):
+ error = process_error(err)
+ flash(f"{error['error']}: {error['error_description']}",
+ "alert-danger")
+ return redirect("/")
+ def __impdel_success__(msg):
+ flash(f"Success: {msg['message']}", "alert-success")
+ return redirect("/")
+ return oauth2_post(
+ f"oauth2/user/collections/anonymous/{choice}",
+ json={
+ "anon_id": str(session_info()["anon_id"])
+ }).either(__impdel_error__, __impdel_success__)
@app.route("/collections/remove", methods=('POST',))
def remove_traits():