UNPKG

firebase-tools

Version:
37 lines (36 loc) 1.44 kB
"use strict"; 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)); });