runWithOutput method

  1. @override
Future<void> runWithOutput(
  1. Configuration<DbBackupDeleteOption> commandConfig,
  2. CommandOutput output
)
override

Runs this command with prepared configuration and output.

Subclasses should override this method.

Implementation

@override
Future<void> runWithOutput(
  final Configuration<DbBackupDeleteOption> commandConfig,
  final CommandOutput output,
) async {
  final projectId = commandConfig.value(DbBackupDeleteOption.projectId);
  final snapshotId = commandConfig.value(DbBackupDeleteOption.snapshotId);

  await confirmToContinue(
    output,
    message:
        'Permanently delete snapshot "$snapshotId" for project "$projectId"? '
        'This action cannot be undone.',
    defaultValue: false,
  );

  await renderCommand(
    output,
    operation: () => DbBackupOperations.deleteSnapshot(
      runner.serviceProvider.cloudApiClient,
      projectId: projectId,
      snapshotId: snapshotId,
    ),
    textOutputUi: const BackupSnapshotDeleteTextUi(),
  );
}