/** * Storage Verify Command * Test connectivity and permissions for a backup storage destination */ import { getBackupStorageByStorageId, verifyBackupStorage } from '../../services/backup-storage'; import { celiloIntro, celiloOutro } from '../prompts'; import type { CommandResult } from '../types'; export async function handleStorageVerify( args: string[], _flags: Record = {}, ): Promise { try { celiloIntro('Verify Backup Storage'); const storageId = args[0]; if (!storageId) { return { success: false, error: 'Storage ID is required\n\nUsage: celilo storage verify ', }; } const storage = getBackupStorageByStorageId(storageId); if (!storage) { return { success: false, error: `Storage not found: ${storageId}` }; } console.log(`\nVerifying '${storage.storageId}' (${storage.name})...`); const { result } = await verifyBackupStorage(storage.id); if (result.success) { console.log(`✓ ${result.message}`); celiloOutro(`Storage '${storage.storageId}' verified successfully!`); } else { console.log(`✗ ${result.message}`); celiloOutro(`Storage '${storage.storageId}' verification failed.`); } return { success: result.success, ...(result.success ? { message: `Verified: ${storage.storageId}` } : { error: result.message }), } as CommandResult; } catch (error) { return { success: false, error: `Failed to verify storage: ${error instanceof Error ? error.message : String(error)}`, }; } }