aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wqflask/wqflask/oauth2/users.py26
-rw-r--r--wqflask/wqflask/user_login.py31
2 files changed, 55 insertions, 2 deletions
diff --git a/wqflask/wqflask/oauth2/users.py b/wqflask/wqflask/oauth2/users.py
index d1bf0e5b..510b629f 100644
--- a/wqflask/wqflask/oauth2/users.py
+++ b/wqflask/wqflask/oauth2/users.py
@@ -26,6 +26,32 @@ def user_profile():
for privilege in role["privileges"]),
**kwargs)
+ def __migrate_user_data_error__(
+ error, user_details, roles, group_join_request):
+ flash(f"Data Migration: {error['error']}: {error['error_description']}",
+ "alert-warning")
+ return __render__(
+ user_details, roles, group_join_request=group_join_request)
+
+ def __migrate_user_data_success__(
+ msg, user_details, roles, group_join_request):
+ flash(f"Data Migration: {msg['description']}",
+ "alert-success")
+ return __render__(
+ user_details, roles, group_join_request=group_join_request)
+
+ def __migrate_user_data__(user_details, roles, group_join_request):
+ return oauth2_post(
+ f"oauth2/data/user/{user_details['user_id']}/migrate",
+ data={
+ "user_id": user_details["user_id"]
+ }).either(
+ lambda err: __migrate_user_data_error__(
+ process_error(err), user_details, roles,
+ group_join_request),
+ lambda mig_suc_msg: __migrate_user_data_success__(
+ mig_suc_msg, user_details, roles, group_join_request))
+
def __roles_success__(roles):
if bool(usr_dets.get("group")):
return __render__(usr_dets, roles)
diff --git a/wqflask/wqflask/user_login.py b/wqflask/wqflask/user_login.py
index ae61edb0..03f968d9 100644
--- a/wqflask/wqflask/user_login.py
+++ b/wqflask/wqflask/user_login.py
@@ -10,7 +10,7 @@ import requests
import simplejson as json
from flask import (Flask, g, render_template, url_for, request, make_response,
- redirect, flash, abort)
+ redirect, flash, abort, current_app as app)
from wqflask import app
from wqflask import pbkdf2
@@ -236,7 +236,34 @@ def login():
url_for('index_page', import_collections=import_col, anon_id=anon_id)))
response.set_cookie(
UserSession.user_cookie_name, session_id_signed, max_age=None)
- return response
+ ## BEGIN: Data migration from redis to auth's SQLite DB
+ ## =====================================
+ from wqflask.wqflask.oauth2.client import oauth2_get, oauth2_post
+ from wqflask.wqflask.oauth2.request_utils import process_error
+ def __user_dets_migrate_error(error):
+ flash(f"Data Migration: {error['error']}: "
+ f"{error['error_description']}",
+ "alert-info")
+ return response
+
+ def __user_dets_migrate_success(msg):
+ flash(f"Data Migration: {msg['description']}",
+ "alert-success")
+ return response
+
+ return oauth2_post("oauth2/data/user/migrate", data={
+ "email": ,
+ "full_name": ,
+ "password": submitted_password,
+ "confirm_password": submitted_password,
+ "client_id": app.config["OAUTH2_CLIENT_ID"],
+ "client_secret": app.config["OAUTH2_CLIENT_SECRET"]
+ }).either(
+ lambda err: __user_dets_migrate_error__(process_error(err)),
+ __user_dets_migrate_success)
+ # return response
+ ## =====================================
+ ## END: Data migration from redis to auth's SQLite DB
else:
email_ob = send_verification_email(
user_details, template_name="email/user_verification.txt")