def login_temporal(guid=None): if "X-Forwarded-For" in request.headers and request.headers.getlist("X-Forwarded-For"): ip = request.headers.getlist("X-Forwarded-For")[0] elif "X-Real-Ip" in request.headers and request.headers.getlist("X-Real-Ip"): ip = request.headers.getlist("X-Real-Ip")[0] else: ip = request.remote_addr if ip in current_app.config['OFFICE_IP']: test_user = True else: test_user = False user = None if current_user and current_user.is_anonymous: user = UserManager.create_temp_user() if user: login_user(user) user.last_login_date = datetime.utcnow() user.is_tester = test_user elif current_user: user = current_user if not user: raise errors.UserNotFound() data = get_user_api_structure(user) return {"result": data}
def confirm_account(code=None, user_id=None): if len(code) != current_app.config['max_activation_link_length'] and \ len(code) != current_app.config['digital_activation_link_length']: raise errors.InvalidParameterValue('code') if len(code) == current_app.config['digital_activation_link_length'] and not user_id: raise errors.MissingRequiredParameter('code') link_type = ConfirmationLinkTypeEnum.CLT_MOBILE if ( len(code) == current_app.config['digital_activation_link_length']) else ConfirmationLinkTypeEnum.CLT_EMAIL user = UserManager.confirm_email_or_mobile(code, user_id if user_id else None, link_type) if not user: raise errors.UserNotFound() data = get_user_api_structure(user) return {"result": data}
def account_by_code(user_id=None, code=None): user = UserManager.get_user_by_code(user_id, code) data = get_user_api_structure(user) return {"result": data}
def update_profile(email=None, notifications=None, mobile=None): UserManager.update_profile(current_user, email, new_mobile=mobile) data = get_user_api_structure(current_user) return {"result": data}
def get_profile(): data = get_user_api_structure(current_user) return {"result": data}
def signup(email=None, access_token=None, password=None, social_network=None): if "X-Forwarded-For" in request.headers and request.headers.getlist("X-Forwarded-For"): ip = request.headers.getlist("X-Forwarded-For")[0] elif "X-Real-Ip" in request.headers and request.headers.getlist("X-Real-Ip"): ip = request.headers.getlist("X-Real-Ip")[0] else: ip = request.remote_addr if ip in current_app.config['OFFICE_IP']: is_test_user = True else: is_test_user = False if not email and not access_token: raise errors.MissingRequiredParameter('email') if not EmailAddressValidator().validate(email) and not access_token: raise errors.InvalidParameterValue('email') if access_token: password = '' if social_network and social_network not in SocialServiceEnum.TAG_ALL: raise errors.InvalidParameterValue('social_network') if not PasswordValidator().validate(password) and not access_token: raise errors.MissingRequiredParameter('password') if current_user and not current_user.is_anonymous: if not current_user.temporal: raise errors.InvalidParameterValue('email') new_user = UserManager.promote_temp_user(current_user, access_token, None, email, u"", u"", u"", password, social_network) new_user.is_tester = is_test_user else: new_user = UserManager.register_user(access_token, None, email, u"", u"", u"", password, social_network) new_user.is_tester = is_test_user google_client_id = request.cookies.get('_ga_cid') if google_client_id and not new_user.temporal: metrics.update_user_info(new_user, google_client_id=google_client_id) new_user.email = new_user.email.lower() if new_user.email else u"" data = get_user_api_structure(new_user) result = {"result": data} if not email and access_token: login_user(new_user) my_resp = MyResp() current_app.session_interface.save_session(current_app, flask.session, my_resp) return result user = UserManager.login_user(email, password) if user: login_user(user) my_resp = MyResp() current_app.session_interface.save_session(current_app, flask.session, my_resp) user.last_login_date = datetime.utcnow() return result