UNPKG

vinz

Version:

Enables secure storage of credentials right in your repo using AWS KMS.

42 lines (31 loc) 1.04 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _awsConfig = require('./lib/aws-config'); var _awsConfig2 = _interopRequireDefault(_awsConfig); var _awsKms = require('./lib/aws-kms'); var _awsKms2 = _interopRequireDefault(_awsKms); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class Vinz { constructor(region) { this.kmsClient = new _awsConfig2.default(null, null, region).KMS; } get() { const promises = []; for (var _len = arguments.length, secretNames = Array(_len), _key = 0; _key < _len; _key++) { secretNames[_key] = arguments[_key]; } secretNames.forEach(secretName => { promises.push(_awsKms2.default.retrieveAndDecrypt(this.kmsClient, secretName)); }); return Promise.all(promises).then(allDecryptedSecrets => { if (allDecryptedSecrets.length === 1) { return allDecryptedSecrets[0]; } else { return allDecryptedSecrets; } }); } } exports.default = Vinz;