Search in sources :

Example 1 with Role

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;
}
Also used : Role(org.usermanagement.model.Role) Permission(org.usermanagement.model.Permission) UserEntity(org.usermanagement.dao.entity.UserEntity) HashSet(java.util.HashSet)

Example 2 with Role

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);
}
Also used : Role(org.usermanagement.model.Role) RoleEntity(org.usermanagement.dao.entity.RoleEntity) PermissionEntity(org.usermanagement.dao.entity.PermissionEntity) RequestValidationException(org.usermanagement.exception.RequestValidationException) Transactional(org.springframework.transaction.annotation.Transactional)

Example 3 with Role

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;
}
Also used : Role(org.usermanagement.model.Role) RoleEntity(org.usermanagement.dao.entity.RoleEntity) ArrayList(java.util.ArrayList) RequestValidationException(org.usermanagement.exception.RequestValidationException) Transactional(org.springframework.transaction.annotation.Transactional)

Example 4 with Role

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;
}
Also used : Role(org.usermanagement.model.Role) RoleEntity(org.usermanagement.dao.entity.RoleEntity) Permission(org.usermanagement.model.Permission) ArrayList(java.util.ArrayList)

Example 5 with Role

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;
}
Also used : Role(org.usermanagement.model.Role) RoleEntity(org.usermanagement.dao.entity.RoleEntity) Permission(org.usermanagement.model.Permission) ArrayList(java.util.ArrayList)

Aggregations

Role (org.usermanagement.model.Role)6 ArrayList (java.util.ArrayList)4 RoleEntity (org.usermanagement.dao.entity.RoleEntity)4 Permission (org.usermanagement.model.Permission)4 Transactional (org.springframework.transaction.annotation.Transactional)2 PermissionEntity (org.usermanagement.dao.entity.PermissionEntity)2 UserEntity (org.usermanagement.dao.entity.UserEntity)2 RequestValidationException (org.usermanagement.exception.RequestValidationException)2 HashSet (java.util.HashSet)1 UserInfo (org.usermanagement.model.UserInfo)1