l7note
Version:
Access your notion notes quick
89 lines (88 loc) • 3.44 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 });
exports.RunType = exports.saveConfig = exports.globalConfig = exports.loadSetup = void 0;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const configureSettings_js_1 = require("./configureSettings.js");
let userFolder;
if (process.env.APPDATA) {
userFolder = process.env.APPDATA;
}
else if (process.platform == 'darwin') {
userFolder = process.env.HOME + '/Library/Preferences';
}
else if (process.platform == 'android') {
userFolder = './';
}
else {
userFolder = process.env.HOME + '/.local/share';
}
const settingsFolder = path_1.default.join(userFolder, 'l7Note');
const configPath = path_1.default.join(settingsFolder, 'config.json');
var RunType;
(function (RunType) {
RunType[RunType["LIST"] = 1] = "LIST";
RunType[RunType["ADD"] = 2] = "ADD";
RunType[RunType["REMOVE"] = 3] = "REMOVE";
RunType[RunType["CONFIG"] = 4] = "CONFIG";
RunType[RunType["RESET"] = 5] = "RESET";
RunType[RunType["HELP"] = 6] = "HELP";
RunType[RunType["EXTRA"] = 7] = "EXTRA";
})(RunType || (RunType = {}));
exports.RunType = RunType;
let globalConfig = {
configPath: '',
token: '',
dbId: '',
runType: RunType.LIST,
optionalArgs: [],
};
exports.globalConfig = globalConfig;
const loadConfig = () => {
const myArgs = globalConfig.optionalArgs;
const runType = globalConfig.runType;
const content = fs_1.default.readFileSync(configPath, 'utf8');
exports.globalConfig = globalConfig = JSON.parse(content);
globalConfig.configPath = configPath;
globalConfig.optionalArgs = myArgs;
globalConfig.runType = runType;
};
const saveConfig = () => {
fs_1.default.writeFileSync(configPath, JSON.stringify(globalConfig), 'utf-8');
};
exports.saveConfig = saveConfig;
const checkForFirstInstall = () => {
if (fs_1.default.existsSync(settingsFolder) == false) {
fs_1.default.mkdirSync(settingsFolder, { recursive: true });
return true;
}
if (fs_1.default.existsSync(configPath) == false) {
return true;
}
loadConfig();
if (!globalConfig.dbId || !globalConfig.token) {
return true;
}
return false;
};
const loadSetup = () => __awaiter(void 0, void 0, void 0, function* () {
if (globalConfig.runType == RunType.HELP) {
return;
}
if (checkForFirstInstall()) {
yield (0, configureSettings_js_1.configureSettings)();
}
});
exports.loadSetup = loadSetup;