Package com.bytedesk.core.rbac.role
Class RoleRestService
java.lang.Object
com.bytedesk.core.base.BaseRestService<RoleEntity,RoleRequest,RoleResponse>
com.bytedesk.core.rbac.role.RoleRestService
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AuthorityRestServiceprivate final AuthServiceprivate final org.springframework.cache.CacheManagerprivate final org.modelmapper.ModelMapperprivate final PermissionServiceprivate final RoleRepositoryprivate final UidUtils -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddAuthorities(RoleRequest request) private RoleResponseaddAuthoritiesInternal(RoleRequest request, boolean systemContext) addAuthoritiesSystem(RoleRequest request) private voidassertRoleAccessible(RoleEntity role, UserEntity user) private voidbindOrgUidForNonSuper(RoleRequest request, UserEntity user) private static booleancontainsLevelMarker(String authorityValue) convertToExcel(RoleEntity entity) convertToResponse(RoleEntity entity) create(RoleRequest request) protected org.springframework.data.jpa.domain.Specification<RoleEntity>createSpecification(RoleRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现voiddelete(RoleRequest request) voiddeleteByUid(String uid) protected RoleEntitydoSave(RoleEntity entity) 子类实现具体的保存逻辑protected org.springframework.data.domain.Page<RoleEntity>executePageQuery(org.springframework.data.jpa.domain.Specification<RoleEntity> spec, org.springframework.data.domain.Pageable pageable) 执行分页查询,子类必须实现 用于queryByOrg的通用实现existsByNameAndOrgUid(String name, String orgUid) existsByNamePlatform(String name) existsByUid(String uid) findByNameAndOrgUid(String name, String orgUid) findByNamePlatform(String name) handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, RoleEntity entity) org.springframework.data.domain.Page<RoleResponse>queryByOrg(RoleRequest request) 通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法queryByUid(RoleRequest request) 通用的queryByUid实现org.springframework.data.domain.Page<RoleResponse>queryByUser(RoleRequest request) 通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法removeAuthorities(RoleRequest request) private RoleResponseremoveAuthoritiesInternal(RoleRequest request, boolean systemContext) resetAuthorities(RoleRequest request) save(RoleEntity role) 保存实体,带重试机制update(RoleRequest request) private voidvalidateDelegableAuthorities(Set<String> authorityUids, UserEntity user) Methods inherited from class com.bytedesk.core.base.BaseRestService
deleteByOrgUid, findByOrgUid, getUidFromRequest, recover, setUserUidToRequest
-
Field Details
-
roleRepository
-
uidUtils
-
authorityRestService
-
authService
-
permissionService
-
modelMapper
private final org.modelmapper.ModelMapper modelMapper -
cacheManager
private final org.springframework.cache.CacheManager cacheManager
-
-
Constructor Details
-
RoleRestService
public RoleRestService()
-
-
Method Details
-
queryByOrg
Description copied from class:BaseRestService通用的queryByOrg实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByOrgin classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
queryByUser
Description copied from class:BaseRestService通用的queryByUser实现 子类如果有特殊逻辑可以重写此方法- Overrides:
queryByUserin classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
queryByUid
Description copied from class:BaseRestService通用的queryByUid实现- Overrides:
queryByUidin classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
findByUid
@Cacheable(value="role", key="\'uid:\' + #p0", unless="#result == null") public Optional<RoleEntity> findByUid(String uid) - Specified by:
findByUidin classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
findByNameAndOrgUid
@Cacheable(value="role", key="\'nameOrg:\' + #p0 + \'-\' + #p1", unless="#result == null") public Optional<RoleEntity> findByNameAndOrgUid(String name, String orgUid) -
findByNamePlatform
@Cacheable(value="role", key="\'namePlatform:\' + #p0", unless="#result == null") public Optional<RoleEntity> findByNamePlatform(String name) -
existsByUid
-
create
- Specified by:
createin classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
update
- Specified by:
updatein classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
deleteByUid
- Specified by:
deleteByUidin classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
delete
- Specified by:
deletein classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
convertToResponse
- Specified by:
convertToResponsein classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
convertToExcel
-
existsByNameAndOrgUid
-
existsByNamePlatform
-
save
@CacheEvict(value="role",key="\'resp:\' + #role.uid") @CacheEvict(value="role",key="\'uid:\' + #role.uid") @CacheEvict(value="role",key="\'nameOrg:\' + #role.name + \'-\' + #role.orgUid") public RoleEntity save(RoleEntity role) Description copied from class:BaseRestService保存实体,带重试机制- Overrides:
savein classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
doSave
Description copied from class:BaseRestService子类实现具体的保存逻辑- Specified by:
doSavein classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
handleOptimisticLockingFailureException
public RoleEntity handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, RoleEntity entity) - Specified by:
handleOptimisticLockingFailureExceptionin classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
createSpecification
protected org.springframework.data.jpa.domain.Specification<RoleEntity> createSpecification(RoleRequest request) Description copied from class:BaseRestService创建Specification对象,子类必须实现 用于queryByOrg的通用实现- Specified by:
createSpecificationin classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
executePageQuery
protected org.springframework.data.domain.Page<RoleEntity> executePageQuery(org.springframework.data.jpa.domain.Specification<RoleEntity> spec, org.springframework.data.domain.Pageable pageable) Description copied from class:BaseRestService执行分页查询,子类必须实现 用于queryByOrg的通用实现- Specified by:
executePageQueryin classBaseRestService<RoleEntity,RoleRequest, RoleResponse>
-
resetAuthorities
-
containsLevelMarker
-
addAuthoritiesSystem
-
addAuthorities
-
removeAuthorities
-
removeAuthoritiesInternal
-
addAuthoritiesInternal
-
bindOrgUidForNonSuper
-
assertRoleAccessible
-
validateDelegableAuthorities
-