12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.displayExportInfo = exports.setSecretParamsToLatest = exports.parameterizeProject = void 0;
- const planner_1 = require("../deploy/extensions/planner");
- const deploymentSummary_1 = require("../deploy/extensions/deploymentSummary");
- const logger_1 = require("../logger");
- const secretManager_1 = require("../gcp/secretManager");
- const secretsUtils_1 = require("./secretsUtils");
- function parameterizeProject(projectId, projectNumber, spec) {
- const newParams = {};
- for (const [key, val] of Object.entries(spec.params)) {
- const p1 = val.replace(projectId, "${param:PROJECT_ID}");
- const p2 = p1.replace(projectNumber, "${param:PROJECT_NUMBER}");
- newParams[key] = p2;
- }
- const newSpec = Object.assign({}, spec);
- newSpec.params = newParams;
- return newSpec;
- }
- exports.parameterizeProject = parameterizeProject;
- async function setSecretParamsToLatest(spec) {
- const newParams = Object.assign({}, spec.params);
- const extensionVersion = await (0, planner_1.getExtensionVersion)(spec);
- const activeSecrets = (0, secretsUtils_1.getActiveSecrets)(extensionVersion.spec, newParams);
- for (const [key, val] of Object.entries(newParams)) {
- if (activeSecrets.includes(val)) {
- const parsed = (0, secretManager_1.parseSecretVersionResourceName)(val);
- parsed.versionId = "latest";
- newParams[key] = (0, secretManager_1.toSecretVersionResourceName)(parsed);
- }
- }
- return Object.assign(Object.assign({}, spec), { params: newParams });
- }
- exports.setSecretParamsToLatest = setSecretParamsToLatest;
- function displayExportInfo(withRef, withoutRef) {
- logger_1.logger.info("The following Extension instances will be saved locally:");
- logger_1.logger.info("");
- displaySpecs(withRef);
- if (withoutRef.length) {
- logger_1.logger.info(`Your project also has the following instances installed from local sources. These will not be saved to firebase.json:`);
- for (const spec of withoutRef) {
- logger_1.logger.info(spec.instanceId);
- }
- }
- }
- exports.displayExportInfo = displayExportInfo;
- function displaySpecs(specs) {
- var _a;
- for (let i = 0; i < specs.length; i++) {
- const spec = specs[i];
- logger_1.logger.info(`${i + 1}. ${(0, deploymentSummary_1.humanReadable)(spec)}`);
- logger_1.logger.info(`Configuration will be written to 'extensions/${spec.instanceId}.env'`);
- for (const p of Object.entries(spec.params)) {
- logger_1.logger.info(`\t${p[0]}=${p[1]}`);
- }
- if ((_a = spec.allowedEventTypes) === null || _a === void 0 ? void 0 : _a.length) {
- logger_1.logger.info(`\tALLOWED_EVENTS=${spec.allowedEventTypes}`);
- }
- if (spec.eventarcChannel) {
- logger_1.logger.info(`\tEVENTARC_CHANNEL=${spec.eventarcChannel}`);
- }
- logger_1.logger.info("");
- }
- }
|