def init_auth_group(app): ''' 默认的权限组,必须存在于数据库, 项目启动后自动导入。 ''' from app.models.group import Group as GroupModel auth_groups = app.config['AUTH_GROUPS'] for key, value in auth_groups.items(): group = GroupModel.get(name=value.name) if not group: group = GroupModel.create(name=value.name, info=value.info) value = value._replace(id=str(group.id)) app.config['AUTH_GROUPS'][key] = value
def create_group(): '''新建权限组''' validator = BaseValidator.get_json() name = validator['name'] # 权限组名 auth_ids = validator['auth_ids'] # 权限IDs auth_list = [get_ep_name(auth_id) for auth_id in auth_ids] # 权限名列表 info = validator['info'] # 权限组名描述 group = GroupModel.create(name=name, info=info) for auth in auth_list: meta = find_auth_module(auth) if meta: AuthModel.create(auth=meta.auth, module=meta.module, group_id=group.id) return Success(error_code=1)
def create_group(name, auth_ids, info): ''' :param name: 权限组名 :param auth_ids: 权限ids :param info: 权限组名描述 :return: ''' auth_list = [get_ep_name(auth_id) for auth_id in auth_ids] # 权限名列表 with db.auto_commit(): group = Group.create(name=name, info=info, commit=False) db.session.flush() for auth in auth_list: meta = find_auth_module(auth) if meta: Auth.create(auth=meta.name, module=meta.module, group_id=group.id, commit=False)