in src/main/java/com/epam/digital/data/platform/keycloak/rest/api/ext/UserApiProvider.java [92:111]
public List<UserRepresentation> searchUsersByAttributes(@Context final HttpRequest request,
SearchUsersByEqualsAndStartsWithAttributesRequestDto requestDto) {
authenticateRealmAdminRequest(request.getHttpHeaders());
validateRequestRealm(request, session.getContext().getRealm().getName());
if (requestDto.attributesEquals == null || requestDto.attributesEquals.isEmpty()) {
var userModels = userFilter.filterUsersByAttributesInvertedStartsWith(
session.users().getUsersStream(session.getContext().getRealm()),
requestDto.attributesStartsWith);
return toRepresentation(userModels);
}
if (requestDto.attributesStartsWith == null || requestDto.attributesStartsWith.isEmpty()) {
return toRepresentation(
userFilter.filterUsersByAttributesEquals(session, requestDto.attributesEquals));
}
var userModels = userFilter.filterUsersByAttributesEquals(session, requestDto.attributesEquals);
userModels = userFilter.filterUsersByAttributesInvertedStartsWith(userModels,
requestDto.attributesStartsWith);
return toRepresentation(userModels);
}