def check_user(cls, email, password): dbuser = DBUser.get_user_by_email(email) if dbuser: if dbuser.password == secret_hash(password, salt=dbuser.password[:36]): return cls(dbuser) return None
def check_user(cls, email, password): dbuser = DBUser.get_user_by_email(email) if dbuser: if dbuser.password == secret_hash(password, salt=dbuser.password[:36]): return cls(dbuser) elif not dbuser.password: dbuser.update(password=secret_hash(app.config["DefaultPassword"], salt=None)) return None
def create_user(cls, **settings): password = settings.pop("password") email = settings.pop("email").strip().lower() if User.check_exist(email=email): raise Exception("email address already exist") nickname = settings.get("nickname", "").strip() if User.check_exist(nickname=nickname): raise Exception("nickname already exist") dbuser = DBUser.create(email=email) dbuser.save() _ = dbuser.stats # init stats dbuser.password = secret_hash(password, salt=None) dbuser.update(**settings) return cls(dbuser)
def get_all_users(cls): return [cls(dbuser) for dbuser in DBUser.get_all()]
def get_user_by_email(cls, email): dbuser = DBUser.get_user_by_email(email) return dbuser and cls(dbuser)
def get_by_id(cls, userid): dbuser = DBUser.get_by_id(userid) return dbuser and cls(dbuser)
def check_exist(cls, **kwargs): return DBUser.check_exist(**kwargs)