summaryrefslogtreecommitdiff
path: root/fbin/login.py
diff options
context:
space:
mode:
Diffstat (limited to 'fbin/login.py')
-rw-r--r--fbin/login.py20
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