diff options
Diffstat (limited to 'fbin/login.py')
-rw-r--r-- | fbin/login.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/fbin/login.py b/fbin/login.py index b365e75..b9602a8 100644 --- a/fbin/login.py +++ b/fbin/login.py @@ -7,11 +7,11 @@ from flask_login import LoginManager import jwt import requests -from . import db +from .db import db, User, UserSession login_manager = LoginManager() -class User: +class BinUser: def __init__(self, user, user_session): self.user = user self.user_session = user_session @@ -38,12 +38,11 @@ class User: traceback.print_exc() flash('Failed to refresh authentication token (verification failed)', 'error') return - with db.session_scope() as sess: - self.user_session.access_token = token['access_token'] - self.user_session.refresh_token = token['refresh_token'] - self.user_session.updated = datetime.datetime.utcnow() - sess.add(self.user_session) - sess.commit() + self.user_session.access_token = token['access_token'] + self.user_session.refresh_token = token['refresh_token'] + self.user_session.updated = datetime.datetime.utcnow() + db.session.add(self.user_session) + db.session.commit() return True @property @@ -88,9 +87,8 @@ class User: def load_user(user_id): user_id, session_id = map(int, user_id.split(':', 1)) try: - with db.session_scope() as sess: - user, user_session = sess.query(db.User, db.UserSession).join(db.UserSession).filter(db.User.id == user_id, db.UserSession.id == session_id).one() - return User(user, user_session) + user, user_session = db.session.query(User, UserSession).join(UserSession).filter(User.id == user_id, UserSession.id == session_id).one() + return BinUser(user, user_session) except: traceback.print_exc() return None |