use of org.usermanagement.model.Role in project open-kilda by telstra.
the class RequestInterceptor method availablePermissions.
private Set<String> availablePermissions(final UserInfo userInfo) {
Set<String> availablePermissions = new HashSet<>();
UserEntity userEntity = userRepository.findByUserId(userInfo.getUserId());
if (userInfo.getUserId() != 1 && userEntity != null && Status.ACTIVE.getStatusEntity().equals(userEntity.getStatusEntity())) {
Set<String> roles = userInfo.getRoles();
if (roles != null && roles.size() > 0) {
List<Role> roleList = roleService.getRoleByName(roles);
for (Role role : roleList) {
if (Status.ACTIVE.getStatusEntity().getStatus().equalsIgnoreCase(role.getStatus()) && role.getPermissions() != null) {
for (Permission permission : role.getPermissions()) {
if (Status.ACTIVE.getStatusEntity().getStatus().equalsIgnoreCase(permission.getStatus())) {
availablePermissions.add(permission.getName());
}
}
}
}
}
} else {
List<Permission> permissions = permissionService.getAllPermission(userInfo.getUserId());
for (Permission permission : permissions) {
availablePermissions.add(permission.getName());
}
}
userInfo.setPermissions(availablePermissions);
return availablePermissions;
}
use of org.usermanagement.model.Role in project open-kilda by telstra.
the class RoleService method assignRoleByPermissionId.
/**
* Assign role by permission id.
*
* @param permissionId the permission id
* @param request the request
* @return the permission
*/
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public Permission assignRoleByPermissionId(final Long permissionId, final Permission request) {
PermissionEntity permissionEntity = permissionRepository.findByPermissionId(permissionId);
if (ValidatorUtil.isNull(permissionEntity)) {
LOGGER.warn("Permission with permissionId '" + permissionId + "' not found. Error: " + messageUtil.getAttributeInvalid("permissionId", permissionId + ""));
throw new RequestValidationException(messageUtil.getAttributeInvalid("permissionId", permissionId + ""));
}
permissionEntity.getRoles().clear();
if (request.getRoles() != null) {
for (Role role : request.getRoles()) {
RoleEntity roleEntity = roleRepository.findByRoleId(role.getRoleId());
permissionEntity.getRoles().add(roleEntity);
}
}
permissionRepository.save(permissionEntity);
activityLogger.log(ActivityType.ASSIGN_ROLES_TO_PERMISSION, permissionEntity.getName());
LOGGER.info("Roles assigned with permission successfully (permissionId: " + permissionId + ")");
return RoleConversionUtil.toPermissionByRole(permissionEntity.getRoles(), permissionEntity);
}
use of org.usermanagement.model.Role in project open-kilda by telstra.
the class RoleService method getRoleByName.
/**
* Gets the role by name.
*
* @param role the role
* @return the role by name
*/
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public List<Role> getRoleByName(final Set<String> role) {
List<Role> roles = new ArrayList<Role>();
List<RoleEntity> roleEntities = roleRepository.findByNameIn(role);
if (ValidatorUtil.isNull(roleEntities)) {
LOGGER.warn("Roles with name '" + role + "' not found. Error: " + messageUtil.getAttributeInvalid("role", role + ""));
throw new RequestValidationException(messageUtil.getAttributeInvalid("role", role + ""));
}
for (RoleEntity roleEntity : roleEntities) {
if (Status.ACTIVE.getStatusEntity().getStatus().equalsIgnoreCase(roleEntity.getStatusEntity().getStatus())) {
roles.add(RoleConversionUtil.toRole(roleEntity, true, false));
}
}
return roles;
}
use of org.usermanagement.model.Role in project open-kilda by telstra.
the class PermissionConversionUtil method toPermission.
/**
* To permission.
*
* @param permissionEntity the permission entity
* @param roleEntities the role entities
* @return the permission
*/
public static Permission toPermission(final PermissionEntity permissionEntity, final Set<RoleEntity> roleEntities) {
Permission permission = new Permission();
permission.setName(permissionEntity.getName());
permission.setPermissionId(permissionEntity.getPermissionId());
permission.setIsEditable(permissionEntity.getIsEditable());
permission.setIsAdminPermission(permissionEntity.getIsAdminPermission());
permission.setStatus(permissionEntity.getStatusEntity().getStatus());
permission.setDescription(permissionEntity.getDescription());
if (!ValidatorUtil.isNull(roleEntities)) {
List<Role> roles = new ArrayList<>();
for (RoleEntity entity : roleEntities) {
Role role = new Role();
role.setRoleId(entity.getRoleId());
role.setName(entity.getName());
roles.add(role);
}
permission.setRoles(roles);
}
return permission;
}
use of org.usermanagement.model.Role in project open-kilda by telstra.
the class RoleConversionUtil method toPermissionByRole.
/**
* To permission by role.
*
* @param roleEntityList the role entity list
* @param permissionEntity the permission entity
* @return the permission
*/
public static Permission toPermissionByRole(final Set<RoleEntity> roleEntityList, final PermissionEntity permissionEntity) {
Permission permission = new Permission();
permission.setName(permissionEntity.getName());
permission.setDescription(permissionEntity.getDescription());
permission.setPermissionId(permissionEntity.getPermissionId());
List<Role> role = new ArrayList<>();
for (RoleEntity roleEntity : roleEntityList) {
Role roles = new Role();
roles.setRoleId(roleEntity.getRoleId());
roles.setName(roleEntity.getName());
role.add(roles);
}
permission.setRoles(role);
return permission;
}
Aggregations