UPDATE: Added util function to get session data via email, added session update in OAuth

This commit is contained in:
JustIceO7
2025-02-06 14:07:53 +00:00
parent b6ccd18fac
commit 1f952b172f
2 changed files with 16 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
from authlib.integrations.flask_client import OAuth, OAuthError
from flask import Blueprint, url_for, jsonify, session
from utils.user_utils import get_session_info_email
oauth_bp = Blueprint("oauth", __name__)
def init_oauth(app):
@@ -34,10 +35,11 @@ def init_oauth(app):
# check if email exists else create a database entry
user_email = user.get("email")
user_data = get_session_info_email(user_email)
session.clear()
session["username"] = "a"
session["user_id"] = 1
session["username"] = user_data["username"]
session["user_id"] = user_data["user_id"]
return jsonify({
'message': 'User authenticated successfully',

View File

@@ -33,6 +33,18 @@ def get_username(user_id: str) -> Optional[str]:
""", (user_id,))
return data['username'] if data else None
def get_session_info_email(email: str) -> dict:
"""
Returns username and user_id given email
"""
with Database as db:
session_info = db.fetchone("""
SELECT user_id, username
FROM user
WHERE email = ?
""", (email,))
return session_info
def is_user_partner(user_id: int) -> bool:
"""
Returns True if user is a partner, else False