Search in sources :

Example 1 with Users

use of com.google.api.services.directory.model.Users in project workbench by all-of-us.

the class DirectoryServiceImpl method getAllTwoFactorAuthStatuses.

@Override
public Map<String, Boolean> getAllTwoFactorAuthStatuses() {
    final String domain = gSuiteDomain();
    Map<String, Boolean> statuses = Maps.newHashMap();
    Users response = null;
    do {
        final String pageToken = Optional.ofNullable(response).map(r -> r.getNextPageToken()).orElse(null);
        try {
            response = retryHandler.runAndThrowChecked((context) -> getGoogleDirectoryService().users().list().setProjection("basic").setDomain(domain).setPageToken(pageToken).execute());
        } catch (IOException e) {
            throw ExceptionUtils.convertGoogleIOException(e);
        }
        for (User u : response.getUsers()) {
            statuses.put(u.getPrimaryEmail(), u.getIsEnrolledIn2Sv());
        }
    } while (!Strings.isNullOrEmpty(response.getNextPageToken()));
    return statuses;
}
Also used : IntStream(java.util.stream.IntStream) Directory(com.google.api.services.directory.Directory) DirectoryScopes(com.google.api.services.directory.DirectoryScopes) Arrays(java.util.Arrays) Provider(javax.inject.Provider) IamCredentialsClient(com.google.cloud.iam.credentials.v1.IamCredentialsClient) LoggerFactory(org.slf4j.LoggerFactory) Autowired(org.springframework.beans.factory.annotation.Autowired) HashMap(java.util.HashMap) SecureRandom(java.security.SecureRandom) UserEmail(com.google.api.services.directory.model.UserEmail) Strings(com.google.common.base.Strings) GoogleJsonResponseException(com.google.api.client.googleapis.json.GoogleJsonResponseException) Lists(com.google.common.collect.Lists) OAuth2Credentials(com.google.auth.oauth2.OAuth2Credentials) Service(org.springframework.stereotype.Service) Map(java.util.Map) User(com.google.api.services.directory.model.User) ServiceAccounts(org.pmiops.workbench.auth.ServiceAccounts) ExceptionUtils(org.pmiops.workbench.exceptions.ExceptionUtils) ImmutableSet(com.google.common.collect.ImmutableSet) MeasurementBundle(org.pmiops.workbench.monitoring.MeasurementBundle) Logger(org.slf4j.Logger) GaugeDataCollector(org.pmiops.workbench.monitoring.GaugeDataCollector) Collection(java.util.Collection) HttpTransport(com.google.api.client.http.HttpTransport) MetricLabel(org.pmiops.workbench.monitoring.labels.MetricLabel) IOException(java.io.IOException) GaugeMetric(org.pmiops.workbench.monitoring.views.GaugeMetric) Maps(com.google.common.collect.Maps) Collectors(java.util.stream.Collectors) UserName(com.google.api.services.directory.model.UserName) HttpStatus(org.springframework.http.HttpStatus) List(java.util.List) WorkbenchConfig(org.pmiops.workbench.config.WorkbenchConfig) HttpCredentialsAdapter(com.google.auth.http.HttpCredentialsAdapter) NotFoundException(org.pmiops.workbench.exceptions.NotFoundException) Utils.getDefaultJsonFactory(com.google.api.client.googleapis.util.Utils.getDefaultJsonFactory) Optional(java.util.Optional) Users(com.google.api.services.directory.model.Users) DelegatedUserCredentials(org.pmiops.workbench.auth.DelegatedUserCredentials) Collections(java.util.Collections) User(com.google.api.services.directory.model.User) Users(com.google.api.services.directory.model.Users) IOException(java.io.IOException)

Example 2 with Users

use of com.google.api.services.directory.model.Users in project workbench by all-of-us.

the class DirectoryServiceImpl method countUsersInDomain.

private long countUsersInDomain(String gSuiteDomain) {
    long result = 0;
    try {
        final Directory directoryService = getGoogleDirectoryService();
        Optional<String> nextPageToken = Optional.empty();
        do {
            final Directory.Users.List listQuery = directoryService.users().list().setDomain(gSuiteDomain).setViewType(USER_VIEW_TYPE).setCustomFieldMask("email").setMaxResults(MAX_USERS_LIST_PAGE_SIZE).setOrderBy(EMAIL_USER_FIELD);
            nextPageToken.ifPresent(listQuery::setPageToken);
            final Users usersQueryResult = listQuery.execute();
            result += usersQueryResult.getUsers().size();
            nextPageToken = Optional.ofNullable(usersQueryResult.getNextPageToken());
        } while (nextPageToken.isPresent());
        return result;
    } catch (IOException e) {
        log.warn("Failed to retrieve GSuite User List.", e);
        return 0;
    }
}
Also used : Users(com.google.api.services.directory.model.Users) IOException(java.io.IOException) Directory(com.google.api.services.directory.Directory)

Aggregations

Directory (com.google.api.services.directory.Directory)2 Users (com.google.api.services.directory.model.Users)2 IOException (java.io.IOException)2 GoogleJsonResponseException (com.google.api.client.googleapis.json.GoogleJsonResponseException)1 Utils.getDefaultJsonFactory (com.google.api.client.googleapis.util.Utils.getDefaultJsonFactory)1 HttpTransport (com.google.api.client.http.HttpTransport)1 DirectoryScopes (com.google.api.services.directory.DirectoryScopes)1 User (com.google.api.services.directory.model.User)1 UserEmail (com.google.api.services.directory.model.UserEmail)1 UserName (com.google.api.services.directory.model.UserName)1 HttpCredentialsAdapter (com.google.auth.http.HttpCredentialsAdapter)1 OAuth2Credentials (com.google.auth.oauth2.OAuth2Credentials)1 IamCredentialsClient (com.google.cloud.iam.credentials.v1.IamCredentialsClient)1 Strings (com.google.common.base.Strings)1 ImmutableSet (com.google.common.collect.ImmutableSet)1 Lists (com.google.common.collect.Lists)1 Maps (com.google.common.collect.Maps)1 SecureRandom (java.security.SecureRandom)1 Arrays (java.util.Arrays)1 Collection (java.util.Collection)1