@s-hiroshi/bks
Version:
Cli bookmarks application
80 lines • 3.21 kB
JavaScript
;
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