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