github.com/SupenBysz/gf-admin-community@v0.7.4/sys_service/sys_permission.go (about) 1 // ================================================================================ 2 // Code generated and maintained by GoFrame CLI tool. DO NOT EDIT. 3 // You can delete these comments if you wish manually maintain this interface file. 4 // ================================================================================ 5 6 package sys_service 7 8 import ( 9 "context" 10 11 "github.com/SupenBysz/gf-admin-community/sys_model" 12 "github.com/SupenBysz/gf-admin-community/sys_model/sys_entity" 13 "github.com/gogf/gf/v2/container/gmap" 14 "github.com/kysion/base-library/base_model" 15 "github.com/kysion/base-library/utility/base_permission" 16 ) 17 18 type ( 19 ISysPermission interface { 20 // GetPermissionById 根据权限ID获取权限信息 21 GetPermissionById(ctx context.Context, permissionId int64) (*sys_entity.SysPermission, error) 22 // GetPermissionByIdentifier 根据权限标识符Identifier获取权限信息 23 GetPermissionByIdentifier(ctx context.Context, identifier string) (*sys_entity.SysPermission, error) 24 // QueryPermissionList 查询权限列表 25 QueryPermissionList(ctx context.Context, info base_model.SearchParams) (*sys_model.SysPermissionInfoListRes, error) 26 // GetPermissionsByResource 根据资源获取权限Ids, 资源一般为用户ID、角色ID,员工ID等 27 GetPermissionsByResource(ctx context.Context, resource string) ([]int64, error) 28 // GetPermissionList 根据ID获取下级权限信息,返回列表 29 GetPermissionList(ctx context.Context, parentId int64, IsRecursive bool) ([]*sys_entity.SysPermission, error) 30 // GetPermissionTree 根据ID获取下级权限信息,返回列表树 31 GetPermissionTree(ctx context.Context, parentId int64, permissionType ...int) ([]base_permission.IPermission, error) 32 CreatePermission(ctx context.Context, info sys_model.SysPermission) (*sys_entity.SysPermission, error) 33 UpdatePermission(ctx context.Context, info *sys_model.UpdateSysPermission) (*sys_entity.SysPermission, error) 34 // SetPermissionsByResource 设置资源权限 35 SetPermissionsByResource(ctx context.Context, resourceIdentifier string, permissionIds []int64) (response bool, err error) 36 // ImportPermissionTree 导入权限,如果存在则忽略,递归导入权限 37 ImportPermissionTree(ctx context.Context, permissionTreeArr []base_permission.IPermission, parent base_permission.IPermission) error 38 // SavePermission 新增/保存权限信息 39 SavePermission(ctx context.Context, info sys_model.SysPermission) (*sys_entity.SysPermission, error) 40 // DeletePermission 删除权限信息 41 DeletePermission(ctx context.Context, permissionId int64) (bool, error) 42 // GetPermissionTreeIdByUrl 根据请求URL去匹配权限树,返回权限 43 GetPermissionTreeIdByUrl(ctx context.Context, path string) (*sys_entity.SysPermission, error) 44 // CheckPermission 校验权限,如果多个则需要同时满足 45 CheckPermission(ctx context.Context, tree ...base_permission.IPermission) (has bool, err error) 46 // CheckPermissionOr 校验权限,任意一个满足则有权限 47 CheckPermissionOr(ctx context.Context, tree ...base_permission.IPermission) (has bool, err error) 48 // CheckPermissionByIdentifier 通过标识符校验权限 49 CheckPermissionByIdentifier(ctx context.Context, identifier string) (bool, error) 50 // PermissionTypeForm 通过枚举值取枚举类型 51 PermissionTypeForm(code int64, mapItems *gmap.StrAnyMap) *sys_model.SysPermission 52 } 53 ) 54 55 var ( 56 localSysPermission ISysPermission 57 ) 58 59 func SysPermission() ISysPermission { 60 if localSysPermission == nil { 61 panic("implement not found for interface ISysPermission, forgot register?") 62 } 63 return localSysPermission 64 } 65 66 func RegisterSysPermission(i ISysPermission) { 67 localSysPermission = i 68 }