@eightshone/sshman
Version:
A simple cli ssh manager
73 lines • 3.74 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());
});
};
import goodbye from "../../utils/goodbye.js";
import deleteConnection from "./connections/delete.js";
import displayConnection from "./connections/display.js";
import editConnection from "./connections/edit.js";
import listConnections from "./connections/list.js";
import mainMenu from "./mainMenu.js";
import newConnection from "./connections/new.js";
import searchConnections from "./connections/search.js";
import sshConnect from "../functions/sshConnect.js";
import manual from "./manual.js";
import settings from "./settings/settings.js";
import editDefault from "./settings/editDefault.js";
import displayLogs from "./logs.js";
import exportConnections from "./connections/export.js";
function interactive(initialConfig, initialLogs, program) {
return __awaiter(this, void 0, void 0, function* () {
let currentMenu = "main", options = null, config = Object.assign({}, initialConfig), logs = [...initialLogs];
while (currentMenu !== "exit") {
if (currentMenu === "main") {
[currentMenu, options] = yield mainMenu(config.recentServers);
}
if (currentMenu === "ssh-new") {
[currentMenu, config, logs] = yield newConnection(config, logs);
}
if (currentMenu === "ssh-list") {
[currentMenu, options] = yield listConnections(config.servers);
}
if (currentMenu === "ssh-search") {
[currentMenu, options] = yield searchConnections(config.servers);
}
if (currentMenu === "ssh-display") {
[currentMenu, options] = yield displayConnection(JSON.parse(options[0]), parseInt(options[1]), options.length === 3 && options[2] === "true");
}
if (currentMenu === "ssh-connect") {
[currentMenu, config, logs] = yield sshConnect(config, logs, JSON.parse(options[0]));
console.clear();
}
if (currentMenu === "ssh-edit") {
[currentMenu, options, config] = yield editConnection(config, parseInt(options[1]), logs);
}
if (currentMenu === "ssh-delete") {
[currentMenu, options] = yield deleteConnection(config, JSON.parse(options[0]), parseInt(options[1]));
}
if (currentMenu === "ssh-export") {
[currentMenu, options] = yield exportConnections(config.servers);
}
if (currentMenu === "manual") {
[currentMenu] = yield manual(program);
}
if (currentMenu === "settings") {
[currentMenu, options] = yield settings(config);
}
if (currentMenu === "settings-defaults-edit") {
[currentMenu, config] = yield editDefault(JSON.parse(options[0]), config);
}
if (currentMenu === "logs") {
[currentMenu] = yield displayLogs(logs);
}
}
goodbye();
});
}
export default interactive;
//# sourceMappingURL=interactive.js.map