create static method

CloudCliCommandRunner create({
  1. required CommandLogger logger,
  2. Version? version,
  3. CloudCliServiceProvider? serviceProvider,
  4. bool? adminUserMode,
})

Implementation

static CloudCliCommandRunner create({
  required final CommandLogger logger,
  final Version? version,
  final CloudCliServiceProvider? serviceProvider,
  bool? adminUserMode,
}) {
  final runner = CloudCliCommandRunner._(
    logger: logger,
    version: version ?? cliVersion,
    serviceProvider: serviceProvider ?? CloudCliServiceProvider(),
    setLogLevel: ({
      final String? commandName,
      required final CommandRunnerLogLevel parsedLogLevel,
    }) =>
        _configureLogLevel(
      logger: logger,
      parsedLogLevel: parsedLogLevel,
      commandName: commandName,
    ),
  );

  adminUserMode ??= bool.tryParse(
        Platform.environment['SERVERPOD_CLOUD_ADMIN_USER_MODE'] ?? 'false',
        caseSensitive: false,
      ) ??
      false;

  // Add commands (which may in turn have their own options and subcommands)
  runner.addCommands([
    runner._versionCommand,
    CloudAuthCommand(logger: logger),
    CloudProjectCommand(logger: logger),
    CloudDeployCommand(logger: logger),
    CloudEnvCommand(logger: logger),
    CloudCustomDomainCommand(logger: logger),
    CloudLogCommand(logger: logger),
    CloudStatusCommand(logger: logger),
    CloudSecretCommand(logger: logger),
    CloudDbCommand(logger: logger),
    CloudLaunchCommand(logger: logger),
    CloudUserCommand(logger: logger),
    if (adminUserMode) CloudAdminCommand(logger: logger, hidden: false),
  ]);

  return runner;
}