run method

  1. @override
Future<void> run()

Runs this command. Subclasses should instead override runWithConfig.

Implementation

@override
Future<void> run() async {
  final client = runner.serviceProvider.cloudApiClient;
  final isAuthenticated =
      await client.authKeyProvider?.isAuthenticated == true;

  if (requireLogin && !isAuthenticated) {
    await AuthLoginCommands.login(
      logger: logger,
      globalConfig: globalConfiguration,
      cloudApiClient: client,
      persistent: true,
      openBrowser: globalConfiguration.browser,
    );
  }

  if (isAuthenticated &&
      warnIfBillingOverdue &&
      globalConfiguration.warnBillingOverdue) {
    await BillingCommands.warnIfOverdue(
      logger: logger,
      billing: runner.serviceProvider.cloudApiClient.billing,
    );
  }

  await _runCommand();
}