def user_account(self, username, password, fullname=None, email=None): """ Create a new account. Returns None if account is not created successfully.""" # Have to check first if the account with the same username exist. self.session = validate_session(self.session) account = self.session.query(User).filter(User.username == username).first() if account is None: hash = Crypto.hash_scrypt(password) return User(username, hash) else: # Looks like a developer account already exist. return None # Have to check first if the account with the same username exist. self.session = validate_session(self.session) account = self.session.query(Developer).filter(Developer.name == name).first() if account is None: client_id = token.generate_token() client_secret = token.generate_token() return Developer(name, client_id, client_secret, redirect_uri) else: # Looks like a developer account already exist. return None
def change_user_password(self, username, new_password): """ Updates the password of an existing user's account. """ self.session = validate_session(self.session) account = self.session.query(User).filter(User.username == username).first() account.hash = Crypto.hash_scrypt(new_password) self.session.commit() self.session.close()