dnsweeper
Version:
Advanced CLI tool for DNS record risk analysis and cleanup. Features CSV import for Cloudflare/Route53, automated risk assessment, and parallel DNS validation.
43 lines • 1.77 kB
JavaScript
import { Command } from 'commander';
import inquirer from 'inquirer';
import { Logger } from '../lib/logger.js';
export function createDeleteCommand() {
const deleteCmd = new Command('delete')
.alias('rm')
.description('Delete a DNS record')
.argument('<id>', 'Record ID to delete')
.option('-f, --force', 'Skip confirmation prompt')
.option('-v, --verbose', 'Show detailed output')
.option('-q, --quiet', 'Suppress non-error output')
.action(async (id, options) => {
const logger = new Logger({ verbose: options.verbose, quiet: options.quiet });
try {
if (!options.force) {
const { confirm } = await inquirer.prompt([
{
type: 'confirm',
name: 'confirm',
message: `Are you sure you want to delete record ${id}?`,
default: false,
},
]);
if (!confirm) {
logger.info('Deletion cancelled');
return;
}
}
logger.startSpinner(`Deleting DNS record ${id}...`);
// TODO: Implement actual DNS record deletion logic
await new Promise((resolve) => setTimeout(resolve, 1000));
logger.stopSpinner(true, 'DNS record deleted successfully');
logger.success(`Deleted DNS record: ${id}`);
}
catch (error) {
logger.stopSpinner(false, 'Failed to delete DNS record');
logger.error(error instanceof Error ? error.message : 'Unknown error occurred');
process.exit(1);
}
});
return deleteCmd;
}
//# sourceMappingURL=delete.js.map