UNPKG

@topgroup/diginext

Version:

A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.

77 lines (76 loc) 3.56 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateAppConfig = void 0; const log_1 = require("diginext-utils/dist/xconsole/log"); const mongodb_1 = require("../../plugins/mongodb"); const app_helper_1 = require("./app-helper"); const updateAppConfig = async (app, env, serverDeployEnvironment, options) => { if (!options) options = {}; const { DB } = await Promise.resolve().then(() => __importStar(require("../api/DB"))); if (options === null || options === void 0 ? void 0 : options.isDebugging) console.log("updateAppConfig() > app.project :>> ", app.project); if (options === null || options === void 0 ? void 0 : options.isDebugging) console.log("updateAppConfig() > isValidObjectId(app.project) :>> ", mongodb_1.MongoDB.isValidObjectId(app.project)); let project; if (mongodb_1.MongoDB.isValidObjectId(app.project)) { project = await DB.findOne("project", { _id: app.project }, { isDebugging: options.isDebugging }); if (options === null || options === void 0 ? void 0 : options.isDebugging) console.log("updateAppConfig() > project :>> ", project); } else if (app.project._id) { project = app.project; } if (options === null || options === void 0 ? void 0 : options.isDebugging) console.log("updateAppConfig() > project :>> ", project); if (!project) throw new Error(`Unable to update app config: Project ${app.project} not found.`); // ! IMPORTANT: In case app was moved to another project const updateAppData = { slug: app.slug, projectSlug: project.slug, project: project._id, // <-- update old app's project -> new app's project (if any) }; // update new app's deploy environment if (env && serverDeployEnvironment) { Object.keys(serverDeployEnvironment).map((key) => { updateAppData[`deployEnvironment.${env}.${key}`] = serverDeployEnvironment[key]; }); } // update to database const updatedApp = await DB.updateOne("app", { slug: app.slug }, updateAppData, { populate: ["owner", "workspace"], isDebugging: options === null || options === void 0 ? void 0 : options.isDebugging, }); if (!updatedApp) { (0, log_1.logError)(`App not found (probably deleted?)`); return; } // return app config const appConfig = (0, app_helper_1.getAppConfigFromApp)(updatedApp); return appConfig; }; exports.updateAppConfig = updateAppConfig;