class UserV1Controller implements UserV1Endpoint {

    @Override
    @CustomPermissionCheck
    public SyncOperationStatus synchronizeAllUsers(SynchronizeAllUsersRequest request) {
        String userCrn = checkActorCrn();
        String accountId = determineAccountId(userCrn, request.getAccountId());

        LOGGER.debug("synchronizeAllUsers() requested for account {}", accountId);

        UserSyncRequestFilter userSyncFilter = new UserSyncRequestFilter(nullToEmpty(request.getUsers()),
                nullToEmpty(request.getMachineUsers()),
                getOptionalDeletedWorkloadUser(request.getDeletedWorkloadUsers()));
        Operation syncOperation = userSyncService.synchronizeUsersWithCustomPermissionCheck(accountId, userCrn,
                nullToEmpty(request.getEnvironments()), userSyncFilter, AuthorizationResourceAction.DESCRIBE_ENVIRONMENT);
        return checkOperationRejected(operationToSyncOperationStatus.convert(syncOperation));
    }

}