Merge branch 'RED-8414-fix' into 'main'
RED-8414: create new role admin See merge request fforesight/tenant-user-management-service!75
This commit is contained in:
commit
86e676cc51
@ -1,5 +1,6 @@
|
||||
package com.knecon.fforesight.tenantusermanagement.controller.external;
|
||||
|
||||
import static com.knecon.fforesight.tenantusermanagement.permissions.UserManagementPermissions.DELETE_TENANT;
|
||||
import static com.knecon.fforesight.tenantusermanagement.permissions.UserManagementPermissions.READ_ALL_USERS;
|
||||
import static com.knecon.fforesight.tenantusermanagement.permissions.UserManagementPermissions.READ_USERS;
|
||||
import static com.knecon.fforesight.tenantusermanagement.permissions.UserManagementPermissions.UPDATE_MY_PROFILE;
|
||||
@ -62,7 +63,21 @@ public class UserController implements UserResource, PublicResource {
|
||||
userService.evictUserCache();
|
||||
}
|
||||
|
||||
return userService.getAllUsers();
|
||||
var kneconAdminRole = "KNECON_ADMIN";
|
||||
|
||||
return userService.getAllUsers().stream().filter(user -> {
|
||||
if(user.getRoles().contains(kneconAdminRole))
|
||||
{
|
||||
//user should be filtered out because he has only role knecon_admin
|
||||
if(user.getRoles().size() == 1) {
|
||||
return false;
|
||||
}
|
||||
//remove knecon_admin role
|
||||
user.getRoles().remove(kneconAdminRole);
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}).toList();
|
||||
}
|
||||
|
||||
|
||||
@ -113,7 +128,15 @@ public class UserController implements UserResource, PublicResource {
|
||||
if (StringUtils.isEmpty(userId)) {
|
||||
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "The userId should not be empty.");
|
||||
}
|
||||
return userService.getUserById(userId).orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "User not found"));
|
||||
var kneconAdminRole = "KNECON_ADMIN";
|
||||
var user = userService.getUserById(userId).orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "User not found"));
|
||||
if (user.getRoles().contains(kneconAdminRole)) {
|
||||
if(user.getRoles().size() == 1) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_FOUND, "User not found");
|
||||
}
|
||||
user.getRoles().remove(kneconAdminRole);
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user