Feat: User Relationships and Session Members.

This commit is contained in:
2026-02-28 19:53:50 +00:00
parent c7db290aaf
commit e8e9a02e7b
73 changed files with 3818 additions and 571 deletions

View File

@@ -82,20 +82,22 @@ def login():
, state = quote(hash_callback)
)
except Exception as e:
Helper_App.console_log(f"Error: {str(e)}")
Helper_App.console_log(f"Login error: {str(e)}")
# Helper_App.console_log(f'redirect: {red}')
headers = red.headers['Location']
# Helper_App.console_log(f'headers: {headers}')
parsed_url = urlparse(headers)
query_params = parse_qs(parsed_url.query)
Helper_App.console_log(f"""
"""
Helper_App.console_log(f"" "
OAuth Authorize Redirect URL:
Base URL: {parsed_url.scheme}://{parsed_url.netloc}{parsed_url.path}
{parsed_url}
Query Parameters: {query_params}
""")
"" ")
"""
return jsonify({'Success': True, Model_View_Base.FLAG_STATUS: Model_View_Base.FLAG_SUCCESS, f'{Model_View_Base.FLAG_CALLBACK}': headers})
except Exception as e:
@@ -113,17 +115,17 @@ def login_callback():
try:
token = oauth.auth0.authorize_access_token()
except Exception as e:
Helper_App.console_log(f"Error: {str(e)}")
Helper_App.console_log(f"Login callback token error: {str(e)}")
session[current_app.config['ID_TOKEN_USER']] = token
try:
hash_callback = token.get('hash_callback')
if hash_callback is None:
Helper_App.console_log('hash is none')
# Helper_App.console_log('hash is none')
state = request.args.get('state')
Helper_App.console_log(f'state: {state}')
# Helper_App.console_log(f'state: {state}')
hash_callback = state
Helper_App.console_log(f'hash_callback: {hash_callback}')
# Helper_App.console_log(f'hash_callback: {hash_callback}')
except:
Helper_App.console_log("get hash callback failed")
@@ -136,7 +138,7 @@ def login_callback():
return redirect(f"{current_app.config['URL_HOST']}{hash_callback}") # login()
user = User.from_json_auth0(token)
Helper_App.console_log(f'user: {user}')
# Helper_App.console_log(f'User from Auth0 json: {user}')
"""
session[Model_View_Base.FLAG_USER] = user.to_json()
Helper_App.console_log(f'user stored on session')
@@ -146,18 +148,19 @@ def login_callback():
try:
saved_user, errors = datastore_user.login_user(user)
if (len(errors) > 0): raise ValueError(f'Database errors: {errors}')
Helper_App.console_log('User logged in')
Helper_App.console_log(f'user ({str(type(saved_user))}): {saved_user}')
Helper_App.console_log(f'user key: {Model_View_Base.FLAG_USER}')
if (saved_user is None): raise ValueError(f'Not found.')
# Helper_App.console_log('User logged in')
# Helper_App.console_log(f'user ({str(type(saved_user))}): {saved_user}')
# Helper_App.console_log(f'user key: {Model_View_Base.FLAG_USER}')
saved_user_json = saved_user.to_json()
Helper_App.console_log(f'User JSON: {saved_user_json}')
# Helper_App.console_log(f'Saved user JSON: {saved_user_json}')
session[Model_View_Base.FLAG_USER] = saved_user_json
Helper_App.console_log(f'user stored on session')
# Helper_App.console_log(f'user stored on session')
except Exception as e:
Helper_App.console_log(f'User not found: {saved_user}\nDatabase query error: {errors}')
Helper_App.console_log(f'user session: {session.get(Model_View_Base.FLAG_USER, "(Key not found)")}')
# Helper_App.console_log(f'user session: {session.get(Model_View_Base.FLAG_USER, "(Key not found)")}')
return redirect(f"{current_app.config['URL_HOST']}{hash_callback}")
except Exception as e:
return jsonify({Model_View_Base.FLAG_STATUS: Model_View_Base.FLAG_FAILURE, Model_View_Base.FLAG_MESSAGE: f'Controller error.\n{e}'})
@@ -171,7 +174,7 @@ def logout():
"client_id": current_app.config['ID_AUTH0_CLIENT'],
}
)
Helper_App.console_log(f"Redirecting to {url_logout}")
# Helper_App.console_log(f"Redirecting to {url_logout}")
return redirect(url_logout)
@routes_user.route("/logout_callback")
@@ -197,14 +200,14 @@ def user():
@routes_user.route(Model_View_User.HASH_PAGE_USER_ACCOUNTS)
def users():
try:
Helper_App.console_log(f'request_args: {request.args}')
# Helper_App.console_log(f'request_args: {request.args}')
user_session = Model_View_User.get_user_session()
if (not user_session.get_is_logged_in()) or (not user_session.can_admin_user):
return redirect(url_for('routes_mtg_game.home'))
try:
form_filters = Filters_User.from_json(request.args)
except Exception as e:
Helper_App.console_log(f'Error: {e}')
# Helper_App.console_log(f'Error: {e}')
form_filters = Filters_User.get_default()
model = Model_View_User(form_filters, hash_page_current = Model_View_User.HASH_PAGE_USER_ACCOUNTS)
html_body = render_template('pages/user/_users.html', model = model)
@@ -236,7 +239,7 @@ def save_user():
objs_user = []
for user in users:
objs_user.append(User.from_json(user))
Helper_App.console_log(f'objs_user={objs_user}')
# Helper_App.console_log(f'objs_user={objs_user}')
errors = DataStore_User.save_users(data.get('comment', 'No comment'), objs_user)
if (len(errors) > 0):