firebase-tools
Version:
Command-Line Interface for Firebase
37 lines (36 loc) • 1.44 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.list_collections = void 0;
const zod_1 = require("zod");
const tool_js_1 = require("../../tool.js");
const util_js_1 = require("../../util.js");
const firestore_js_1 = require("../../../gcp/firestore.js");
const errors_js_1 = require("../../errors.js");
const types_js_1 = require("../../../emulator/types.js");
exports.list_collections = (0, tool_js_1.tool)({
name: "list_collections",
description: "Retrieves a list of collections from a Firestore database in the current project.",
inputSchema: zod_1.z.object({
database: zod_1.z
.string()
.optional()
.describe("Database id to use. Defaults to `(default)` if unspecified."),
use_emulator: zod_1.z.boolean().default(false).describe("Target the Firestore emulator if true."),
}),
annotations: {
title: "List Firestore collections",
readOnlyHint: true,
},
_meta: {
requiresAuth: true,
requiresProject: true,
},
}, async ({ database, use_emulator }, { projectId, host }) => {
let emulatorUrl;
if (use_emulator) {
emulatorUrl = await host.getEmulatorUrl(types_js_1.Emulators.FIRESTORE);
}
if (!projectId)
return errors_js_1.NO_PROJECT_ERROR;
return (0, util_js_1.toContent)(await (0, firestore_js_1.listCollectionIds)(projectId, database, emulatorUrl));
});
;