plus4u-insomnia-keystore-vault
Version:
CLI tool for managing access codes for insomnia-plugin-oidc-plus4u.
28 lines (21 loc) • 783 B
JavaScript
const path = require("path");
const fs = require("fs");
const {promisify} = require('util');
const mkdirp = promisify(require("mkdirp"));
const homedir = require('os').homedir();
const secureStoreLoc = path.join(homedir, ".oidc-plus4u-vault", "vault.data");
const mycrypto = require("./mycrypto");
function write(content, password) {
mkdirp(path.dirname(secureStoreLoc));
let encrypted = mycrypto.encrypt(JSON.stringify(content), password);
fs.writeFileSync(secureStoreLoc, encrypted);
}
function read(password) {
let encrypted = fs.readFileSync(secureStoreLoc);
let decrypted = mycrypto.decrypt(encrypted.toString(),password);
return JSON.parse(decrypted);
}
function exists() {
return fs.existsSync(secureStoreLoc);
}
module.exports = { read, write, exists };