/** * `celilo subscribers remove ` — remove a subscriber by URL. */ import { removeSubscriberByUrl, subscriberStorePath } from '../../services/build-bus'; import type { CommandResult } from '../types'; export function handleSubscribersRemove(args: string[]): CommandResult { const url = args[0]; if (!url) { return { success: false, error: 'Subscriber URL required.\n\nUsage:\n celilo subscribers remove ', }; } let removed: ReturnType; try { removed = removeSubscriberByUrl(url); } catch (err) { return { success: false, error: `Could not update subscriber store: ${err instanceof Error ? err.message : String(err)}`, }; } if (!removed) { return { success: false, error: `No subscriber found with URL "${url}".\n\nStore: ${subscriberStorePath()}\nList current subscribers with: celilo subscribers list`, }; } return { success: true, message: `Removed subscriber ${removed.name ?? removed.url}.`, }; }