UPDATE: Added util function to get session data via email, added session update in OAuth
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
from authlib.integrations.flask_client import OAuth, OAuthError
|
from authlib.integrations.flask_client import OAuth, OAuthError
|
||||||
from flask import Blueprint, url_for, jsonify, session
|
from flask import Blueprint, url_for, jsonify, session
|
||||||
|
from utils.user_utils import get_session_info_email
|
||||||
|
|
||||||
oauth_bp = Blueprint("oauth", __name__)
|
oauth_bp = Blueprint("oauth", __name__)
|
||||||
def init_oauth(app):
|
def init_oauth(app):
|
||||||
@@ -34,10 +35,11 @@ def init_oauth(app):
|
|||||||
|
|
||||||
# check if email exists else create a database entry
|
# check if email exists else create a database entry
|
||||||
user_email = user.get("email")
|
user_email = user.get("email")
|
||||||
|
user_data = get_session_info_email(user_email)
|
||||||
|
|
||||||
session.clear()
|
session.clear()
|
||||||
session["username"] = "a"
|
session["username"] = user_data["username"]
|
||||||
session["user_id"] = 1
|
session["user_id"] = user_data["user_id"]
|
||||||
|
|
||||||
return jsonify({
|
return jsonify({
|
||||||
'message': 'User authenticated successfully',
|
'message': 'User authenticated successfully',
|
||||||
|
|||||||
@@ -33,6 +33,18 @@ def get_username(user_id: str) -> Optional[str]:
|
|||||||
""", (user_id,))
|
""", (user_id,))
|
||||||
return data['username'] if data else None
|
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:
|
def is_user_partner(user_id: int) -> bool:
|
||||||
"""
|
"""
|
||||||
Returns True if user is a partner, else False
|
Returns True if user is a partner, else False
|
||||||
|
|||||||
Reference in New Issue
Block a user