listUsers static method

Future<void> listUsers(
  1. Client cloudApiClient, {
  2. required CommandLogger logger,
  3. bool inUtc = false,
  4. String? projectId,
  5. UserAccountStatus? ofAccountStatus,
  6. bool includeArchived = false,
})

Implementation

static Future<void> listUsers(
  final Client cloudApiClient, {
  required final CommandLogger logger,
  final bool inUtc = false,
  final String? projectId,
  final UserAccountStatus? ofAccountStatus,
  final bool includeArchived = false,
}) async {
  final users = await cloudApiClient.adminUsers.listUsers(
    cloudProjectId: projectId,
    ofAccountStatus: ofAccountStatus,
    includeArchived: includeArchived,
  );

  final timezoneName = inUtc ? 'UTC' : 'local';

  final table = TablePrinter(
    headers: [
      'User',
      'Account status',
      'Created at ($timezoneName)',
      'Archived at ($timezoneName)',
    ],
    rows: users.map((final user) => [
          user.email,
          user.accountStatus.toString(),
          user.createdAt.toTzString(inUtc, 19),
          user.archivedAt?.toTzString(inUtc, 19),
        ]),
  );
  table.writeLines(logger.line);
}