Change endpoints/common to use a data interface

This commit is contained in:
Joseph Schorr 2017-07-20 15:57:42 -04:00
parent aecec02b6c
commit f976ffbdc7
4 changed files with 67 additions and 12 deletions

View file

@ -14,6 +14,7 @@ from auth import scopes
from auth.permissions import QuayDeferredPermissionUser
from config import frontend_visible_config
from external_libraries import get_external_javascript, get_external_css
from endpoints.common_models_pre_oci import pre_oci_model as model
from util.secscan import PRIORITY_LEVELS
from util.saas.useranalytics import build_error_callback
from util.timedeltastring import convert_to_timedelta
@ -25,8 +26,12 @@ logger = logging.getLogger(__name__)
def common_login(user_uuid, permanent_session=True):
""" Performs login of the given user, with optional non-permanence on the session. """
user = model.get_user(user_uuid)
if user is None:
return False
if login_user(LoginWrappedDBUser(user_uuid)):
logger.debug('Successfully signed in as user with uuid %s', user_uuid)
logger.debug('Successfully signed in as user %s with uuid %s', user.username, user_uuid)
new_identity = QuayDeferredPermissionUser.for_id(user_uuid)
identity_changed.send(app, identity=new_identity)
session['login_time'] = datetime.datetime.now()
@ -37,14 +42,14 @@ def common_login(user_uuid, permanent_session=True):
session.permanent_session_lifetime = convert_to_timedelta(session_timeout_str)
# Inform our user analytics that we have a new "lead"
#create_lead_future = user_analytics.create_lead(
# db_user.email,
# db_user.username,
# db_user.given_name,
# db_user.family_name,
# db_user.company,
#)
#create_lead_future.add_done_callback(build_error_callback('Create lead failed'))
create_lead_future = user_analytics.create_lead(
user.email,
user.username,
user.given_name,
user.family_name,
user.company,
)
create_lead_future.add_done_callback(build_error_callback('Create lead failed'))
return True
logger.debug('User could not be logged in, inactive?')