def add(cls, **kwargs): existed = User.get_by(username=kwargs['username'], email=kwargs['email']) existed and abort( 400, "User <{0}> is already existed".format(kwargs['username'])) kwargs['nickname'] = kwargs.get('nickname') or kwargs['username'] kwargs['block'] = 0 kwargs['key'], kwargs['secret'] = cls._gen_key_secret() user = User.create(**kwargs) RoleCRUD.add_role(user.username, uid=user.uid) return user
def clean_db(): """clean all data but not drop table""" for table in reversed(db.metadata.sorted_tables): if table.fullname in ["users"]: continue db.session.execute(table.delete()) db.session.commit() if not User.get_by(email="*****@*****.**"): print("hello world xxxxx") u = User.create(flush=True, username="******", nickname="测试", email="*****@*****.**", key="", secret="") u._set_password("123456") u.save()
def add(cls, **kwargs): existed = User.get_by(username=kwargs['username'], email=kwargs['email']) existed and abort( 400, "User <{0}> is already existed".format(kwargs['username'])) is_admin = kwargs.pop('is_admin', False) kwargs['nickname'] = kwargs.get('nickname') or kwargs['username'] kwargs['block'] = 0 kwargs['key'], kwargs['secret'] = cls._gen_key_secret() user = User.create(**kwargs) role = RoleCRUD.add_role(user.username, uid=user.uid) if is_admin: from api.lib.perm.acl.cache import AppCache from api.lib.perm.acl.role import RoleRelationCRUD admin_r = Role.get_by(name='admin', first=True, to_dict=False) or \ RoleCRUD.add_role('admin', AppCache.get('cmdb').id, True) RoleRelationCRUD.add(admin_r.id, role.id) return user