import inquirer from "inquirer"; import { searchItems } from "../directus/client.js"; export const promptForMultipleRelations = async (collection, label = collection) => { const selectedIds = new Set(); while (true) { const { query } = await inquirer.prompt({ name: "query", message: `🔍 Search ${label} (or leave blank to finish):` }); const trimmed = query.trim(); if (!trimmed) break; const results = await searchItems(collection, trimmed); if (!results.length) { console.warn(`⚠️ No ${collection} found for "${query}".`); continue; } const { selected } = await inquirer.prompt({ type: "checkbox", name: "selected", message: `✔ Select ${label} to add:`, choices: results.map((item) => ({ name: item.name || item.title || item.id, value: item.id })) }); selected.forEach((id) => selectedIds.add(id)); const { again } = await inquirer.prompt({ type: "confirm", name: "again", message: `Search and add more ${label}?`, default: false }); if (!again) break; } return Array.from(selectedIds); };