UNPKG

@s-hiroshi/bks

Version:

Cli bookmarks application

80 lines 3.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigureControl = void 0; const inquirer = require("inquirer"); const fs = require("fs"); const DotEnvHelper_1 = require("../service/DotEnvHelper"); const createStorage_1 = require("../service/createStorage"); const ConfigureSetControl_1 = require("./ConfigureSetControl"); const ConfigureShowControl_1 = require("./ConfigureShowControl"); class ConfigureControl { constructor() { this.controlCharactor = "configure"; this.storageTypes = ["local", "GitHub"]; this.homeDir = process.env[process.platform == "win32" ? "USERPROFILE" : "HOME"]; this.config = { STORAGE_TYPE: "local", STORAGE_PATH: `${this.homeDir}/.config/s-hiroshi/bks/data.json`, GITHUB_TOKEN: "", GIST_ID: "", HISTORY_STORAGE_PATH: `${this.homeDir}/.config/s-hiroshi/bks/.history`, }; } getControlCharactor() { return this.controlCharactor; } async execute(query) { if (query != null) { // TODO: Move to controller.ts switch (query) { case "set": new ConfigureSetControl_1.ConfigureSetControl().execute(); break; case "show": new ConfigureShowControl_1.ConfigureShowControl().execute(); break; default: break; } return; } this.config.STORAGE_TYPE = await inquirer .prompt(DotEnvHelper_1.DotEnvHelper.getPromptOption("STORAGE_TYPE")) .then((answer) => { return answer.context; }); this.config.STORAGE_PATH = await inquirer .prompt(DotEnvHelper_1.DotEnvHelper.getPromptOption("STORAGE_PATH")) .then((answer) => { return answer.context; }); (0, createStorage_1.createStorage)(this.config.STORAGE_PATH); if (this.config.STORAGE_TYPE === "GitHub") { this.config.GITHUB_TOKEN = await inquirer .prompt(DotEnvHelper_1.DotEnvHelper.getPromptOption("GITHUB_TOKEN")) .then((answer) => { return answer.context; }); this.config.GIST_ID = await inquirer .prompt(DotEnvHelper_1.DotEnvHelper.getPromptOption("GIST_ID")) .then((answer) => { return answer.context; }); } this.config.HISTORY_STORAGE_PATH = await inquirer .prompt(DotEnvHelper_1.DotEnvHelper.getPromptOption("HISTORY_STORAGE_PATH")) .then((answer) => { return answer.context; }); fs.writeFileSync(`${this.homeDir}/.config/s-hiroshi/bks/.env`, `STORAGE_TYPE=${this.config.STORAGE_TYPE} STORAGE_PATH=${this.config.STORAGE_PATH} GITHUB_TOKEN=${this.config.GITHUB_TOKEN} GIST_ID=${this.config.GIST_ID} HISTORY_STORAGE_PATH=${this.config.HISTORY_STORAGE_PATH}`, { flag: "w+" }, (err) => { if (err) throw err; }); } } exports.ConfigureControl = ConfigureControl; //# sourceMappingURL=ConfigureControl.js.map