def register(): """ register a new user using invite code, note that a newly registered user is not administrator, you need to use an admin user to promote it :return: response """ content = request.get_data(True, as_text=True) register_data = json.loads(content) if ('name' in register_data) and ('password' in register_data) and ( 'password_repeat' in register_data) and ( 'invite_code' in register_data) and ('email' in register_data): name = register_data['name'] password = register_data['password'] password_repeat = register_data['password_repeat'] email = register_data['email'] invite_code = register_data['invite_code'] if password != password_repeat: raise ClientError(ClientError.PASSWORD_MISMATCH) if UserCredential.register_user(name=name, password=password, email=email, invite_code=invite_code): # login automatically credential = UserCredential.login_user(name, password) login_user(credential, remember=False) # send email credential.send_confirm_email() return json_resp({'message': 'ok'}, 201) else: raise ClientError(ClientError.INVALID_REQUEST)
def register(): """ register a new user using invite code, note that a newly registered user is not administrator, you need to use an admin user to promote it :return: response """ content = request.get_data(True, as_text=True) register_data = json.loads(content) if ('name' in register_data) and ('password' in register_data) and ('password_repeat' in register_data) and ('invite_code' in register_data) and ('email' in register_data): name = register_data['name'] password = register_data['password'] password_repeat = register_data['password_repeat'] email = register_data['email'] invite_code = register_data['invite_code'] if password != password_repeat: raise ClientError(ClientError.PASSWORD_MISMATCH) if UserCredential.register_user(name=name, password=password, email=email, invite_code=invite_code): # login automatically credential = UserCredential.login_user(name, password) login_user(credential, remember=False) # send email credential.send_confirm_email() return json_resp({'message': 'ok'}, 201) else: raise ClientError(ClientError.INVALID_REQUEST)
def request_reset_pass(): data = json.loads(request.get_data(True, as_text=True)) if 'email' in data: UserCredential.send_pass_reset_email(data['email']) return json_resp({'message': 'ok'}) else: raise ClientError(ClientError.INVALID_REQUEST)
def reset_pass(): """ reset password using token """ data = json.loads(request.get_data(True, as_text=True)) if ('new_pass' in data) and ('new_pass_repeat' in data) and ('token' in data): new_pass = data['new_pass'] new_pass_repeat = data['new_pass_repeat'] if new_pass != new_pass_repeat: raise ClientError(ClientError.PASSWORD_MISMATCH) return UserCredential.update_password_with_token(new_pass, token=data['token']) else: raise ClientError(ClientError.INVALID_REQUEST)
def login(): """ login a user :return: response """ content = request.get_data(True, as_text=True) login_data = json.loads(content) if ('name' in login_data) and ('password' in login_data): name = login_data['name'] password = login_data['password'] remember = login_data['remember'] if 'remember' in login_data else False credential = UserCredential.login_user(name, password) login_user(credential, remember=remember) return json_resp({'msg': 'OK'}) else: raise ClientError(ClientError.INVALID_REQUEST)
def login(): ''' login a user :return: response ''' content = request.get_data(True, as_text=True) login_data = json.loads(content) if ('name' in login_data) and ('password' in login_data): name = login_data['name'] password = login_data['password'] remember = login_data['remember'] if 'remember' in login_data else False credential = UserCredential.login_user(name, password) login_user(credential, remember=remember) return json_resp({'msg': 'OK'}) else: raise ClientError(ClientError.INVALID_REQUEST)
def reset_pass(): ''' reset a user password, invite_code is required :return: ''' content = request.get_data(True, as_text=True) user_data = json.loads(content) if ('name' in user_data) and ('password' in user_data) and ( 'password_repeat' in user_data) and ('invite_code' in user_data): name = user_data['name'] password = user_data['password'] password_repeat = user_data['password_repeat'] invite_code = user_data['invite_code'] if password != password_repeat: raise ClientError('password not match') if UserCredential.reset_pass(name, password, invite_code): return json_resp({'msg': 'OK'}) else: raise ClientError('invalid parameters')
def register(): ''' register a new user using invite code, note that a newly registered user is not administrator, you need to use an admin user to promote it :return: response ''' content = request.get_data(True, as_text=True) register_data = json.loads(content) if ('name' in register_data) and ('password' in register_data) and ( 'password_repeat' in register_data) and ('invite_code' in register_data): name = register_data['name'] password = register_data['password'] password_repeat = register_data['password_repeat'] invite_code = register_data['invite_code'] if password != password_repeat: raise ClientError(ClientError.PASSWORD_MISMATCH) if UserCredential.register_user(name, password, invite_code): return json_resp({'msg': 'OK'}) else: raise ClientError(ClientError.INVALID_REQUEST)
def reset_pass(): ''' reset a user password, invite_code is required :return: ''' try: content = request.get_data(True, as_text=True) user_data = json.loads(content) if ('name' in user_data) and ('password' in user_data) and ('password_repeat' in user_data) and ('invite_code' in user_data): name = user_data['name'] password = user_data['password'] password_repeat = user_data['password_repeat'] invite_code = user_data['invite_code'] if password != password_repeat: raise ClientError('password not match') if UserCredential.reset_pass(name, password, invite_code): return json_resp({'msg': 'OK'}) else: raise ClientError('invalid parameters') except Exception as exception: raise exception
def register(): ''' register a new user using invite code, note that a newly registered user is not administrator, you need to use an admin user to promote it :return: response ''' try: content = request.get_data(True, as_text=True) register_data = json.loads(content) if ('name' in register_data) and ('password' in register_data) and ('password_repeat' in register_data) and ('invite_code' in register_data): name = register_data['name'] password = register_data['password'] password_repeat = register_data['password_repeat'] invite_code = register_data['invite_code'] if password != password_repeat: raise ClientError(ClientError.PASSWORD_MISMATCH) if UserCredential.register_user(name, password, invite_code): return json_resp({'msg': 'OK'}) else: raise ClientError(ClientError.INVALID_REQUEST) except Exception as exception: raise exception
def load_user(user_id): return UserCredential.get(user_id)