dce-dev-wizard
Version:
Wizard for managing development apps at Harvard DCE.
118 lines • 4.76 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// Import libs
const clear_1 = __importDefault(require("clear"));
// Import shared helpers
const validateWizardVersion_1 = __importDefault(require("./validateWizardVersion"));
// Import screens
const chooseDeployment_1 = __importDefault(require("./screens/chooseDeployment"));
const showChooser_1 = __importDefault(require("./helpers/showChooser"));
const showModifyEnvVars_1 = __importDefault(require("./screens/showModifyEnvVars"));
const chooseTarget_1 = __importDefault(require("./screens/chooseTarget"));
const deployNow_1 = __importDefault(require("./screens/deployNow"));
const viewLogs_1 = __importDefault(require("./screens/viewLogs"));
const connectToDatabase_1 = __importDefault(require("./screens/connectToDatabase"));
const relatedClusters_1 = __importDefault(require("./screens/relatedClusters"));
const reviewCVEs_1 = __importDefault(require("./screens/reviewCVEs"));
const setNumInstances_1 = __importDefault(require("./screens/setNumInstances"));
/* eslint-disable no-console */
/**
* Show the wizard
* @author Gabe Abrams
*/
const showWizard = () => __awaiter(void 0, void 0, void 0, function* () {
// Validate version of dev wizard
(0, validateWizardVersion_1.default)();
// The current chosen deployment
let deployment = (0, chooseDeployment_1.default)();
// Endless work loop
while (true) {
(0, clear_1.default)();
// Ask user to choose a menu option
const menuOption = (0, showChooser_1.default)({
question: 'What do you want to show/modify?',
options: [
{
description: 'Environment Vars',
tag: 'E',
},
{
description: 'Target of Deployment (version or branch)',
tag: 'T',
},
{
description: 'Number of Instances',
tag: 'N',
},
{
description: 'Deploy/Redeploy',
tag: 'D',
},
{
description: 'Switch Deployment',
tag: 'S',
},
{
description: 'Log Viewer (App Logs from Today)',
tag: 'L',
},
{
description: 'Related Clusters',
tag: 'R',
},
{
description: 'Connect to database',
tag: 'C',
},
{
description: 'Vulnerability Checker',
tag: 'V',
},
],
title: `${deployment.name} | Main Menu`,
});
// Handle each case
if (menuOption.tag === 'E') {
yield (0, showModifyEnvVars_1.default)(deployment);
}
else if (menuOption.tag === 'T') {
yield (0, chooseTarget_1.default)(deployment);
}
else if (menuOption.tag === 'D') {
yield (0, deployNow_1.default)(deployment);
}
else if (menuOption.tag === 'S') {
deployment = yield (0, chooseDeployment_1.default)();
}
else if (menuOption.tag === 'L') {
yield (0, viewLogs_1.default)(deployment);
}
else if (menuOption.tag === 'R') {
yield (0, relatedClusters_1.default)(deployment);
}
else if (menuOption.tag === 'C') {
yield (0, connectToDatabase_1.default)(deployment);
}
else if (menuOption.tag === 'V') {
yield (0, reviewCVEs_1.default)();
}
else if (menuOption.tag === 'N') {
yield (0, setNumInstances_1.default)(deployment);
}
}
});
// Start
showWizard();
//# sourceMappingURL=index.js.map