Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
 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)