coryd.dev/cli/lib/directus/relationHelpers.js
Cory Dransfeldt efe701f939
feat(*.liquid): apply prettier to liquid templates
- offer to create tag when none is found while adding a link from cli
- fix tag display in search
2025-06-16 14:41:29 -07:00

47 lines
1.1 KiB
JavaScript

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);
};