github.com/SupenBysz/gf-admin-community@v0.7.4/sys_controller/sys_permission.go (about)

     1  package sys_controller
     2  
     3  import (
     4  	"context"
     5  	"github.com/SupenBysz/gf-admin-community/api_v1"
     6  	"github.com/SupenBysz/gf-admin-community/api_v1/sys_api"
     7  	"github.com/SupenBysz/gf-admin-community/sys_model"
     8  	"github.com/SupenBysz/gf-admin-community/sys_model/sys_enum"
     9  	"github.com/SupenBysz/gf-admin-community/sys_service"
    10  )
    11  
    12  // SysPermission 权限管理
    13  var SysPermission = cSysPermission{}
    14  
    15  type cSysPermission struct{}
    16  
    17  // GetPermissionById 根据权限ID获取权限信|息
    18  func (c *cSysPermission) GetPermissionById(ctx context.Context, req *sys_api.GetPermissionByIdReq) (*sys_model.SysPermissionInfoRes, error) {
    19  	// 权限判断
    20  	if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Permissions.PermissionType.ViewDetail); has != true {
    21  		return nil, err
    22  	}
    23  
    24  	result, err := sys_service.SysPermission().GetPermissionById(ctx, req.Id)
    25  	return (*sys_model.SysPermissionInfoRes)(result), err
    26  }
    27  
    28  // GetPermissionByIdentifier 根据权限标识符获取权限|信息
    29  func (c *cSysPermission) GetPermissionByIdentifier(ctx context.Context, req *sys_api.GetPermissionByIdentifierReq) (*sys_model.SysPermissionInfoRes, error) {
    30  	// 权限判断
    31  	if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Permissions.PermissionType.ViewDetail); has != true {
    32  		return nil, err
    33  	}
    34  
    35  	result, err := sys_service.SysPermission().GetPermissionByIdentifier(ctx, req.Identifier)
    36  	return (*sys_model.SysPermissionInfoRes)(result), err
    37  }
    38  
    39  // QueryPermissionListReq 查询权限|列表
    40  func (c *cSysPermission) QueryPermissionListReq(ctx context.Context, req *sys_api.QueryPermissionListReq) (*sys_model.SysPermissionInfoListRes, error) {
    41  	// 权限判断
    42  	if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Permissions.PermissionType.List); has != true {
    43  		return nil, err
    44  	}
    45  
    46  	return sys_service.SysPermission().QueryPermissionList(ctx, req.SearchParams)
    47  }
    48  
    49  // GetPermissionList 根据ID获取下级权限|列表
    50  // func (c *cSysPermission) GetPermissionList(ctx context.Context, req *sys_api.GetPermissionListReq) (*sys_api.SysPermissionInfoListRes, error) {
    51  //	data, err := sys_service.SysPermission().GetPermissionList(ctx, req.Id, req.IsRecursive)
    52  //	if err != nil {
    53  //		return nil, err
    54  //	}
    55  //
    56  //	count := len(*data)
    57  //
    58  //	return &sys_api.SysPermissionInfoListRes{
    59  //		List: data,
    60  //		PaginationRes: model.PaginationRes{
    61  //			Pagination: model.Pagination{
    62  //				Page:     1,
    63  //				PageSize: count,
    64  //			},
    65  //			PageTotal: 1,
    66  //		},
    67  //	}, err
    68  // }
    69  
    70  // GetPermissionTree 根据ID获取下级权限|树
    71  func (c *cSysPermission) GetPermissionTree(ctx context.Context, req *sys_api.GetPermissionTreeReq) (*sys_model.SysPermissionInfoTreeRes, error) {
    72  	// 权限判断
    73  	if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Permissions.PermissionType.List); has != true {
    74  		return nil, err
    75  	}
    76  
    77  	result, err := sys_service.SysPermission().GetPermissionTree(ctx, req.Id, req.Type)
    78  
    79  	return (*sys_model.SysPermissionInfoTreeRes)(&result), err
    80  
    81  	//return kconv.Struct(result, &sys_model.SysPermissionInfoTreeRes{}), err
    82  }
    83  
    84  // CreatePermission 新增权限|信息
    85  func (c *cSysPermission) CreatePermission(ctx context.Context, req *sys_api.CreatePermissionReq) (*sys_model.SysPermissionInfoRes, error) {
    86  	// 权限判断
    87  	if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Permissions.PermissionType.Create); has != true {
    88  		return nil, err
    89  	}
    90  
    91  	result, err := sys_service.SysPermission().CreatePermission(ctx, req.SysPermission)
    92  	return (*sys_model.SysPermissionInfoRes)(result), err
    93  }
    94  
    95  // UpdatePermission 更新权限|信息
    96  func (c *cSysPermission) UpdatePermission(ctx context.Context, req *sys_api.UpdatePermissionReq) (*sys_model.SysPermissionInfoRes, error) {
    97  	// 权限判断
    98  	if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Permissions.PermissionType.Update); has != true {
    99  		return nil, err
   100  	}
   101  
   102  	result, err := sys_service.SysPermission().UpdatePermission(ctx, &req.UpdateSysPermission)
   103  	return (*sys_model.SysPermissionInfoRes)(result), err
   104  }
   105  
   106  // DeletePermission 删除权限
   107  func (c *cSysPermission) DeletePermission(ctx context.Context, req *sys_api.DeletePermissionReq) (api_v1.BoolRes, error) {
   108  	// 权限判断
   109  	if has, err := sys_service.SysPermission().CheckPermission(ctx, sys_enum.Permissions.PermissionType.Delete); has != true {
   110  		return false, err
   111  	}
   112  
   113  	result, err := sys_service.SysPermission().DeletePermission(ctx, req.Id)
   114  	return result == true, err
   115  }