class CompetitionInviteRestServiceImpl extends BaseRestService implements CompetitionInviteRestService {

    @Override
    public RestResult<List<Long>> getAssessorsNotAcceptedInviteIds(long competitionId,
                                                                   List<ParticipantStatusResource> participantStatuses,
                                                                   Optional<Boolean> compliant,
                                                                   Optional<String> assessorName) {
        String baseUrl = format("%s/%s/%s", COMPETITION_INVITE_REST_URL, "get-assessors-not-accepted-invite-ids", competitionId);

        UriComponentsBuilder builder = UriComponentsBuilder.fromPath(baseUrl);
        builder.queryParam("statuses", simpleJoiner(participantStatuses, ","));
        compliant.ifPresent(hasContract -> builder.queryParam("compliant", hasContract));
        assessorName.ifPresent(hasContract -> builder.queryParam("assessorName", hasContract));

        return getWithRestResult(builder.toUriString(), ParameterizedTypeReferences.longsListType());
    }

}