public List searchUsersByAttributes()

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);
  }