UNPKG

@nodearch/vault

Version:
107 lines 3.79 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import axios from 'axios'; import { Service } from '@nodearch/core'; import { VaultConfig } from '../vault.config.js'; import { VaultError } from '../../vault.error.js'; let KVSecretEngine = class KVSecretEngine { constructor(vaultConfig) { this.vaultConfig = vaultConfig; } async createSecret(options, secretKey, data) { try { const url = `${this.vaultConfig.hostname}/v1/${options.engine}/${secretKey}`; await axios.request({ method: 'POST', url, headers: { 'X-Vault-Token': options.token }, data }); } catch (error) { if (error.response) { throw new VaultError(error.response); } else { throw new VaultError({ data: error.message, status: 500 }); } } } async getSecret(options, secretKey) { try { const url = `${this.vaultConfig.hostname}/v1/${options.engine}/${secretKey}`; const result = await axios.request({ method: 'GET', url, headers: { 'X-Vault-Token': options.token } }); return result.data; } catch (error) { if (error.response) { throw new VaultError(error.response); } else { throw new VaultError({ data: error.message, status: 500 }); } } } async listSecrets(options, path) { try { const url = `${this.vaultConfig.hostname}/v1/${options.engine}${path ? '/' + path : ''}`; const result = await axios.request({ method: 'LIST', url, headers: { 'X-Vault-Token': options.token } }); return result.data; } catch (error) { if (error.response) { throw new VaultError(error.response); } else { throw new VaultError({ data: error.message, status: 500 }); } } } async deleteSecret(options, secretKey) { try { const url = `${this.vaultConfig.hostname}/v1/${options.engine}/${secretKey}`; await axios.request({ method: 'DELETE', url, headers: { 'X-Vault-Token': options.token } }); } catch (error) { if (error.response) { throw new VaultError(error.response); } else { throw new VaultError({ data: error.message, status: 500 }); } } } }; KVSecretEngine = __decorate([ Service({ export: true }), __metadata("design:paramtypes", [VaultConfig]) ], KVSecretEngine); export { KVSecretEngine }; //# sourceMappingURL=kv.js.map