vinz
Version:
Enables secure storage of credentials right in your repo using AWS KMS.
54 lines (44 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.readFromFile = exports.prepSecretDir = exports.writeToFile = undefined;
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _constants = require('../constants');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const writeToFile = exports.writeToFile = (fileName, encryptedData) => {
const secretPath = _path2.default.join(process.cwd(), _constants.SECRET_DIR_NAME, fileName);
return new Promise((resolve, reject) => {
_fs2.default.writeFile(secretPath, encryptedData, err => {
if (err) {
reject(err);
} else {
resolve('success');
}
});
}).catch(err => {
throw new Error(`Error writing to ${ secretPath }. Details: \n\n${ err }`);
});
};
const prepSecretDir = exports.prepSecretDir = () => {
const secretsDir = _path2.default.join(process.cwd(), _constants.SECRET_DIR_NAME);
try {
_fs2.default.statSync(secretsDir);
} catch (e) {
_fs2.default.mkdir(secretsDir);
}
};
const readFromFile = exports.readFromFile = secretName => {
return new Promise((resolve, reject) => {
_fs2.default.readFile(_path2.default.join(process.cwd(), _constants.SECRET_DIR_NAME, secretName), (err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
};