@rockcarver/frodo-lib 0.12.2-2 → 0.12.2-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.12.2-3] - 2022-09-09
11
+
10
12
  ## [0.12.2-2] - 2022-09-09
11
13
 
12
14
  ## [0.12.2-1] - 2022-09-08
@@ -457,7 +459,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
457
459
  - Fixed problem with adding connection profiles
458
460
  - Miscellaneous bug fixes
459
461
 
460
- [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-2...HEAD
462
+ [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-3...HEAD
463
+
464
+ [0.12.2-3]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-2...v0.12.2-3
461
465
 
462
466
  [0.12.2-2]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-1...v0.12.2-2
463
467
 
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.VersionOfSecretStatus = void 0;
6
7
  exports.createNewVersionOfSecret = createNewVersionOfSecret;
7
8
  exports.deleteSecret = deleteSecret;
8
9
  exports.deleteVersionOfSecret = deleteVersionOfSecret;
@@ -43,10 +44,21 @@ var getApiConfig = () => ({
43
44
  path: "/environment/secrets",
44
45
  apiVersion
45
46
  });
47
+ /**
48
+ * Get all secrets
49
+ * @returns {Promise<unknown[]>} a promise that resolves to an array of secrets
50
+ */
51
+
46
52
 
47
53
  function getSecrets() {
48
54
  return _getSecrets.apply(this, arguments);
49
55
  }
56
+ /**
57
+ * Get secret
58
+ * @param secretId secret id/name
59
+ * @returns {Promise<unknown>} a promise that resolves to a secret
60
+ */
61
+
50
62
 
51
63
  function _getSecrets() {
52
64
  _getSecrets = _asyncToGenerator(function* () {
@@ -57,7 +69,7 @@ function _getSecrets() {
57
69
  } = yield (0, _BaseApi.generateESVApi)(getApiConfig()).get(urlString, {
58
70
  withCredentials: true
59
71
  });
60
- return data.result;
72
+ return data;
61
73
  });
62
74
  return _getSecrets.apply(this, arguments);
63
75
  }
@@ -65,6 +77,16 @@ function _getSecrets() {
65
77
  function getSecret(_x) {
66
78
  return _getSecret.apply(this, arguments);
67
79
  }
80
+ /**
81
+ * Create secret
82
+ * @param {string} secretId secret id/name
83
+ * @param {string} value secret value
84
+ * @param {string} description secret description
85
+ * @param {string} encoding secret encoding (only `generic` is supported)
86
+ * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders
87
+ * @returns {Promise<unknown>} a promise that resolves to a secret
88
+ */
89
+
68
90
 
69
91
  function _getSecret() {
70
92
  _getSecret = _asyncToGenerator(function* (secretId) {
@@ -83,6 +105,13 @@ function _getSecret() {
83
105
  function putSecret(_x2, _x3, _x4) {
84
106
  return _putSecret.apply(this, arguments);
85
107
  }
108
+ /**
109
+ * Set secret description
110
+ * @param {string} secretId secret id/name
111
+ * @param {string} description secret description
112
+ * @returns {Promise<unknown>} a promise that resolves to a status object
113
+ */
114
+
86
115
 
87
116
  function _putSecret() {
88
117
  _putSecret = _asyncToGenerator(function* (secretId, value, description) {
@@ -111,6 +140,12 @@ function _putSecret() {
111
140
  function setSecretDescription(_x5, _x6) {
112
141
  return _setSecretDescription.apply(this, arguments);
113
142
  }
143
+ /**
144
+ * Delete secret
145
+ * @param {string} secretId secret id/name
146
+ * @returns {Promise<unknown>} a promise that resolves to a secret object
147
+ */
148
+
114
149
 
115
150
  function _setSecretDescription() {
116
151
  _setSecretDescription = _asyncToGenerator(function* (secretId, description) {
@@ -131,6 +166,12 @@ function _setSecretDescription() {
131
166
  function deleteSecret(_x7) {
132
167
  return _deleteSecret.apply(this, arguments);
133
168
  }
169
+ /**
170
+ * Get secret versions
171
+ * @param {string} secretId secret id/name
172
+ * @returns {Promise<unknown>} a promise that resolves to an array of secret versions
173
+ */
174
+
134
175
 
135
176
  function _deleteSecret() {
136
177
  _deleteSecret = _asyncToGenerator(function* (secretId) {
@@ -149,6 +190,13 @@ function _deleteSecret() {
149
190
  function getSecretVersions(_x8) {
150
191
  return _getSecretVersions.apply(this, arguments);
151
192
  }
193
+ /**
194
+ * Create new secret version
195
+ * @param {string} secretId secret id/name
196
+ * @param {string} value secret value
197
+ * @returns {Promise<unknown>} a promise that resolves to a version object
198
+ */
199
+
152
200
 
153
201
  function _getSecretVersions() {
154
202
  _getSecretVersions = _asyncToGenerator(function* (secretId) {
@@ -167,6 +215,13 @@ function _getSecretVersions() {
167
215
  function createNewVersionOfSecret(_x9, _x10) {
168
216
  return _createNewVersionOfSecret.apply(this, arguments);
169
217
  }
218
+ /**
219
+ * Get version of secret
220
+ * @param {string} secretId secret id/name
221
+ * @param {string} version secret version
222
+ * @returns {Promise<unknown>} a promise that resolves to a version object
223
+ */
224
+
170
225
 
171
226
  function _createNewVersionOfSecret() {
172
227
  _createNewVersionOfSecret = _asyncToGenerator(function* (secretId, value) {
@@ -202,9 +257,32 @@ function _getVersionOfSecret() {
202
257
  return _getVersionOfSecret.apply(this, arguments);
203
258
  }
204
259
 
260
+ var VersionOfSecretStatus;
261
+ /**
262
+ * Update the status of a version of a secret
263
+ * @param {string} secretId secret id/name
264
+ * @param {string} version secret version
265
+ * @param {VersionOfSecretStatus} status status
266
+ * @returns {Promise<unknown>} a promise that resolves to a status object
267
+ */
268
+
269
+ exports.VersionOfSecretStatus = VersionOfSecretStatus;
270
+
271
+ (function (VersionOfSecretStatus) {
272
+ VersionOfSecretStatus["DISABLED"] = "DISABLED";
273
+ VersionOfSecretStatus["ENABLED"] = "ENABLED";
274
+ })(VersionOfSecretStatus || (exports.VersionOfSecretStatus = VersionOfSecretStatus = {}));
275
+
205
276
  function setStatusOfVersionOfSecret(_x13, _x14, _x15) {
206
277
  return _setStatusOfVersionOfSecret.apply(this, arguments);
207
278
  }
279
+ /**
280
+ * Delete version of secret
281
+ * @param {string} secretId secret id/name
282
+ * @param {string} version secret version
283
+ * @returns {Promise<unknown>} a promise that resolves to a version object
284
+ */
285
+
208
286
 
209
287
  function _setStatusOfVersionOfSecret() {
210
288
  _setStatusOfVersionOfSecret = _asyncToGenerator(function* (secretId, version, status) {
@@ -1 +1 @@
1
- {"version":3,"file":"SecretsApi.js","names":["secretsListURLTemplate","secretListVersionsURLTemplate","secretCreateNewVersionURLTemplate","secretGetVersionURLTemplate","secretVersionStatusURLTemplate","secretURLTemplate","secretSetDescriptionURLTemplate","apiVersion","getApiConfig","path","getSecrets","urlString","util","format","getTenantURL","storage","session","getTenant","data","generateESVApi","get","withCredentials","result","getSecret","secretId","putSecret","value","description","encoding","useInPlaceholders","Error","secretData","valueBase64","encode","put","setSecretDescription","post","deleteSecret","delete","getSecretVersions","createNewVersionOfSecret","getVersionOfSecret","version","setStatusOfVersionOfSecret","status","deleteVersionOfSecret"],"sources":["api/SecretsApi.ts"],"sourcesContent":["import util from 'util';\nimport { encode } from './utils/Base64';\nimport { getTenantURL } from './utils/ApiUtils';\nimport { generateESVApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst secretsListURLTemplate = '%s/environment/secrets';\nconst secretListVersionsURLTemplate = '%s/environment/secrets/%s/versions';\nconst secretCreateNewVersionURLTemplate = `${secretListVersionsURLTemplate}?_action=create`;\nconst secretGetVersionURLTemplate = `${secretListVersionsURLTemplate}/%s`;\nconst secretVersionStatusURLTemplate = `${secretGetVersionURLTemplate}?_action=changestatus`;\nconst secretURLTemplate = '%s/environment/secrets/%s';\nconst secretSetDescriptionURLTemplate = `${secretURLTemplate}?_action=setDescription`;\n\nconst apiVersion = 'protocol=1.0,resource=1.0';\nconst getApiConfig = () => ({\n path: `/environment/secrets`,\n apiVersion,\n});\n\nexport async function getSecrets() {\n const urlString = util.format(\n secretsListURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data.result;\n}\n\nexport async function getSecret(secretId) {\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\nexport async function putSecret(\n secretId,\n value,\n description,\n encoding = 'generic',\n useInPlaceholders = true\n) {\n if (encoding !== 'generic')\n throw new Error(`Unsupported encoding: ${encoding}`);\n const secretData = {\n valueBase64: encode(value),\n description,\n encoding,\n useInPlaceholders,\n };\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).put(\n urlString,\n secretData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\nexport async function setSecretDescription(secretId, description) {\n const urlString = util.format(\n secretSetDescriptionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { description },\n { withCredentials: true }\n );\n return data;\n}\n\nexport async function deleteSecret(secretId) {\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\nexport async function getSecretVersions(secretId) {\n const urlString = util.format(\n secretListVersionsURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\nexport async function createNewVersionOfSecret(secretId, value) {\n const urlString = util.format(\n secretCreateNewVersionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { valueBase64: encode(value) },\n { withCredentials: true }\n );\n return data;\n}\n\nexport async function getVersionOfSecret(secretId, version) {\n const urlString = util.format(\n secretGetVersionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\nexport async function setStatusOfVersionOfSecret(secretId, version, status) {\n const urlString = util.format(\n secretVersionStatusURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { status },\n { withCredentials: true }\n );\n return data;\n}\n\nexport async function deleteVersionOfSecret(secretId, version) {\n const urlString = util.format(\n secretGetVersionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SecretsApi.js","names":["secretsListURLTemplate","secretListVersionsURLTemplate","secretCreateNewVersionURLTemplate","secretGetVersionURLTemplate","secretVersionStatusURLTemplate","secretURLTemplate","secretSetDescriptionURLTemplate","apiVersion","getApiConfig","path","getSecrets","urlString","util","format","getTenantURL","storage","session","getTenant","data","generateESVApi","get","withCredentials","getSecret","secretId","putSecret","value","description","encoding","useInPlaceholders","Error","secretData","valueBase64","encode","put","setSecretDescription","post","deleteSecret","delete","getSecretVersions","createNewVersionOfSecret","getVersionOfSecret","version","VersionOfSecretStatus","setStatusOfVersionOfSecret","status","deleteVersionOfSecret"],"sources":["api/SecretsApi.ts"],"sourcesContent":["import util from 'util';\nimport { encode } from './utils/Base64';\nimport { getTenantURL } from './utils/ApiUtils';\nimport { generateESVApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst secretsListURLTemplate = '%s/environment/secrets';\nconst secretListVersionsURLTemplate = '%s/environment/secrets/%s/versions';\nconst secretCreateNewVersionURLTemplate = `${secretListVersionsURLTemplate}?_action=create`;\nconst secretGetVersionURLTemplate = `${secretListVersionsURLTemplate}/%s`;\nconst secretVersionStatusURLTemplate = `${secretGetVersionURLTemplate}?_action=changestatus`;\nconst secretURLTemplate = '%s/environment/secrets/%s';\nconst secretSetDescriptionURLTemplate = `${secretURLTemplate}?_action=setDescription`;\n\nconst apiVersion = 'protocol=1.0,resource=1.0';\nconst getApiConfig = () => ({\n path: `/environment/secrets`,\n apiVersion,\n});\n\n/**\n * Get all secrets\n * @returns {Promise<unknown[]>} a promise that resolves to an array of secrets\n */\nexport async function getSecrets() {\n const urlString = util.format(\n secretsListURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get secret\n * @param secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\nexport async function getSecret(secretId) {\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\nexport async function putSecret(\n secretId,\n value,\n description,\n encoding = 'generic',\n useInPlaceholders = true\n) {\n if (encoding !== 'generic')\n throw new Error(`Unsupported encoding: ${encoding}`);\n const secretData = {\n valueBase64: encode(value),\n description,\n encoding,\n useInPlaceholders,\n };\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).put(\n urlString,\n secretData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Set secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\nexport async function setSecretDescription(secretId, description) {\n const urlString = util.format(\n secretSetDescriptionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { description },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Delete secret\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret object\n */\nexport async function deleteSecret(secretId) {\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get secret versions\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to an array of secret versions\n */\nexport async function getSecretVersions(secretId) {\n const urlString = util.format(\n secretListVersionsURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Create new secret version\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\nexport async function createNewVersionOfSecret(secretId, value) {\n const urlString = util.format(\n secretCreateNewVersionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { valueBase64: encode(value) },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Get version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\nexport async function getVersionOfSecret(secretId, version) {\n const urlString = util.format(\n secretGetVersionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\nexport enum VersionOfSecretStatus {\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED',\n}\n\n/**\n * Update the status of a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @param {VersionOfSecretStatus} status status\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\nexport async function setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n) {\n const urlString = util.format(\n secretVersionStatusURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { status },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Delete version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\nexport async function deleteVersionOfSecret(secretId, version) {\n const urlString = util.format(\n secretGetVersionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecretsApi.test.js","names":["__dirname","path","dirname","fileURLToPath","mock","MockAdapter","axios","state","default","session","setTenant","setRealm","setCookieName","setCookieValue","describe","test","mockResponse","JSON","parse","fs","readFileSync","resolve","onGet","reply","response","SecretsRaw","getSecrets","expect","toBeTruthy","toMatchObject","assertions","error","status","toBe","data","code","message","getSecret","onPut","putSecret","onPost","setSecretDescription","onDelete","deleteSecret","getSecretVersions","createNewVersionOfSecret","getVersionOfSecret","setStatusOfVersionOfSecret","VersionOfSecretStatus","DISABLED","deleteVersionOfSecret"],"sources":["api/SecretsApi.test.ts"],"sourcesContent":["import axios from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport { SecretsRaw, state } from '../index';\nimport fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst mock = new MockAdapter(axios);\n\nstate.default.session.setTenant('https://openam-frodo-dev.forgeblocks.com/am');\nstate.default.session.setRealm('alpha');\nstate.default.session.setCookieName('cookieName');\nstate.default.session.setCookieValue('cookieValue');\n\ndescribe('SecretsApi - getSecrets()', () => {\n test('getSecrets() 1: Get all secrets - success', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/getSecrets/secrets.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet('https://openam-frodo-dev.forgeblocks.com/environment/secrets')\n .reply(200, mockResponse);\n const response = await SecretsRaw.getSecrets();\n expect(response).toBeTruthy();\n expect(response).toMatchObject(mockResponse);\n });\n\n test('getSecrets() 2: Get all secrets - error', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/getSecrets/error.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet('https://openam-frodo-dev.forgeblocks.com/environment/secrets')\n .reply(500, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.getSecrets();\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(500);\n expect(error.response.data.code).toBe(500);\n expect(error.response.data.message).toBe('Server Error');\n }\n });\n});\n\ndescribe('SecretsApi - getSecret()', () => {\n test('getSecret() 1: Get existing secret: esv-volkerstestsecret1', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/getSecret/esv-volkerstestsecret1.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1'\n )\n .reply(200, mockResponse);\n const response = await SecretsRaw.getSecret('esv-volkerstestsecret1');\n expect(response).toBeTruthy();\n expect(response).toMatchObject(mockResponse);\n });\n\n test('getSecret() 2: Get non-existing secret: esv-does-not-exist', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/getSecret/esv-does-not-exist.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-does-not-exist'\n )\n .reply(404, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.getSecret('esv-does-not-exist');\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(404);\n expect(error.response.data.code).toBe(404);\n expect(error.response.data.message).toBe(\n 'The secret does not exist or does not have a version'\n );\n }\n });\n});\n\ndescribe('SecretsApi - putSecret()', () => {\n test('putSecret() 1: Create secret: esv-volkerstestsecret1 - success', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/putSecret/esv-volkerstestsecret1.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1'\n )\n .reply(200, mockResponse);\n const response = await SecretsRaw.putSecret(\n 'esv-volkerstestsecret1',\n \"Volker's Test Secret Value\",\n \"Volker's Test Secret Description\",\n 'generic',\n true\n );\n expect(response).toBeTruthy();\n expect(response).toMatchObject(mockResponse);\n });\n\n test('putSecret() 2: Create secret: esv-volkerstestsecret1 - error', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/putSecret/error.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1'\n )\n .reply(500, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.putSecret(\n 'esv-volkerstestsecret1',\n \"Volker's Test Secret Value\",\n \"Volker's Test Secret Description\",\n 'generic',\n true\n );\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(500);\n expect(error.response.data.code).toBe(500);\n expect(error.response.data.message).toBe('Server Error');\n }\n });\n});\n\ndescribe('SecretsApi - setSecretDescription()', () => {\n test('setSecretDescription() 1: Set secret description: esv-volkerstestsecret1 - success', async () => {\n const mockResponse = '';\n mock\n .onPost(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1?_action=setDescription'\n )\n .reply(200, mockResponse);\n const response = await SecretsRaw.setSecretDescription(\n 'esv-volkerstestsecret1',\n \"Volker's Updated Test Secret Description\"\n );\n expect(response).toBe('');\n });\n\n test('setSecretDescription() 2: Set secret description: esv-volkerstestsecret1 - error', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/setSecretDescription/error.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1?_action=setDescription'\n )\n .reply(500, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.setSecretDescription(\n 'esv-volkerstestsecret1',\n \"Volker's Updated Test Secret Description\"\n );\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(500);\n expect(error.response.data.code).toBe(500);\n expect(error.response.data.message).toBe('Server Error');\n }\n });\n});\n\ndescribe('SecretsApi - deleteSecret()', () => {\n test('deleteSecret() 1: Delete secret: esv-volkerstestsecret1 - success', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/deleteSecret/esv-volkerstestsecret1.json'\n ),\n 'utf8'\n )\n );\n mock\n .onDelete(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1'\n )\n .reply(200, mockResponse);\n const response = await SecretsRaw.deleteSecret('esv-volkerstestsecret1');\n expect(response).toBeTruthy();\n expect(response).toMatchObject(mockResponse);\n });\n\n test('deleteSecret() 2: Delete secret: esv-volkerstestsecret1 - error', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/deleteSecret/error.json'\n ),\n 'utf8'\n )\n );\n mock\n .onDelete(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1'\n )\n .reply(500, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.deleteSecret('esv-volkerstestsecret1');\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(500);\n expect(error.response.data.code).toBe(500);\n expect(error.response.data.message).toBe('Server Error');\n }\n });\n});\n\ndescribe('SecretsApi - getSecretVersions()', () => {\n test('getSecretVersions() 1: Get versions of existing secret: esv-volkerstestsecret1', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/getSecretVersions/esv-volkerstestsecret1.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1/versions'\n )\n .reply(200, mockResponse);\n const response = await SecretsRaw.getSecretVersions(\n 'esv-volkerstestsecret1'\n );\n expect(response).toBeTruthy();\n expect(response).toMatchObject(mockResponse);\n });\n\n test('getSecretVersions() 2: Get versions of non-existing secret: esv-does-not-exist', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/getSecretVersions/esv-does-not-exist.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-does-not-exist/versions'\n )\n .reply(404, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.getSecretVersions('esv-does-not-exist');\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(404);\n expect(error.response.data.code).toBe(404);\n expect(error.response.data.message).toBe(\n 'The secret does not exist or does not have a version'\n );\n }\n });\n});\n\ndescribe('SecretsApi - createNewVersionOfSecret()', () => {\n test('createNewVersionOfSecret() 1: Create new version of existing secret: esv-volkerstestsecret1 - success', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/createNewVersionOfSecret/esv-volkerstestsecret1.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1/versions?_action=create'\n )\n .reply(200, mockResponse);\n const response = await SecretsRaw.createNewVersionOfSecret(\n 'esv-volkerstestsecret1',\n \"Volker's Test Secret Value\"\n );\n expect(response).toBeTruthy();\n expect(response).toMatchObject(mockResponse);\n });\n\n test('createNewVersionOfSecret() 2: Create new version of existing secret: esv-volkerstestsecret1 - error', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/createNewVersionOfSecret/error.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1/versions?_action=create'\n )\n .reply(500, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.createNewVersionOfSecret(\n 'esv-volkerstestsecret1',\n \"Volker's Test Secret Value\"\n );\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(500);\n expect(error.response.data.code).toBe(500);\n expect(error.response.data.message).toBe('Server Error');\n }\n });\n\n test('createNewVersionOfSecret() 3: Create new version of non-existing secret: esv-does-not-exist - error', async () => {\n const mockResponse = fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/createNewVersionOfSecret/esv-does-not-exist.txt'\n ),\n 'utf8'\n );\n mock\n .onPost(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1/versions?_action=create'\n )\n .reply(500, mockResponse);\n expect.assertions(3);\n try {\n await SecretsRaw.createNewVersionOfSecret(\n 'esv-volkerstestsecret1',\n \"Volker's Test Secret Value\"\n );\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(500);\n expect(error.response.data).toBe(mockResponse);\n }\n });\n});\n\ndescribe('SecretsApi - getVersionOfSecret()', () => {\n test('getVersionOfSecret() 1: Get version 2 of existing secret: esv-volkerstestsecret1', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/getVersionOfSecret/esv-volkerstestsecret1_v2.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1/versions/2'\n )\n .reply(200, mockResponse);\n const response = await SecretsRaw.getVersionOfSecret(\n 'esv-volkerstestsecret1',\n '2'\n );\n expect(response).toBeTruthy();\n expect(response).toMatchObject(mockResponse);\n });\n\n test('getVersionOfSecret() 2: Get version 2 of non-existing secret: esv-does-not-exist', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/getVersionOfSecret/esv-does-not-exist_v2.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-does-not-exist/versions/2'\n )\n .reply(500, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.getVersionOfSecret('esv-does-not-exist', '2');\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(500);\n expect(error.response.data.code).toBe(500);\n expect(error.response.data.message).toBe(\n 'Failed to update secret version'\n );\n }\n });\n});\n\ndescribe('SecretsApi - setStatusOfVersionOfSecret()', () => {\n test('setStatusOfVersionOfSecret() 1: Disable version 2 of existing secret: esv-volkerstestsecret1 - success', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/setStatusOfVersionOfSecret/esv-volkerstestsecret1_v2_DISABLED.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1/versions/2?_action=changestatus'\n )\n .reply(200, mockResponse);\n const response = await SecretsRaw.setStatusOfVersionOfSecret(\n 'esv-volkerstestsecret1',\n '2',\n SecretsRaw.VersionOfSecretStatus.DISABLED\n );\n expect(response).toBeTruthy();\n expect(response).toMatchObject(mockResponse);\n });\n\n test('setStatusOfVersionOfSecret() 2: Disable version 2 of existing secret: esv-volkerstestsecret1 - error', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/setStatusOfVersionOfSecret/error.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1/versions/2?_action=changestatus'\n )\n .reply(500, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.setStatusOfVersionOfSecret(\n 'esv-volkerstestsecret1',\n '2',\n SecretsRaw.VersionOfSecretStatus.DISABLED\n );\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(500);\n expect(error.response.data.code).toBe(500);\n expect(error.response.data.message).toBe('Server Error');\n }\n });\n\n test('setStatusOfVersionOfSecret() 3: Disable version 2 of non-existing secret: esv-does-not-exist - error', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/setStatusOfVersionOfSecret/esv-does-not-exist_v2_DISABLED.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-does-not-exist/versions/2?_action=changestatus'\n )\n .reply(404, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.setStatusOfVersionOfSecret(\n 'esv-does-not-exist',\n '2',\n SecretsRaw.VersionOfSecretStatus.DISABLED\n );\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(404);\n expect(error.response.data.code).toBe(404);\n expect(error.response.data.message).toBe(\n 'The secret does not exist or does not have a version'\n );\n }\n });\n});\n\ndescribe('SecretsApi - deleteVersionOfSecret()', () => {\n test('deleteVersionOfSecret() 1: Delete version 2 of secret: esv-volkerstestsecret1 - success', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/deleteVersionOfSecret/esv-volkerstestsecret1_v2.json'\n ),\n 'utf8'\n )\n );\n mock\n .onDelete(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1/versions/2'\n )\n .reply(200, mockResponse);\n const response = await SecretsRaw.deleteVersionOfSecret(\n 'esv-volkerstestsecret1',\n '2'\n );\n expect(response).toBeTruthy();\n expect(response).toMatchObject(mockResponse);\n });\n\n test('deleteVersionOfSecret() 2: Delete version 2 of secret: esv-volkerstestsecret1 - error', async () => {\n const mockResponse = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/SecretsApi/deleteVersionOfSecret/error.json'\n ),\n 'utf8'\n )\n );\n mock\n .onDelete(\n 'https://openam-frodo-dev.forgeblocks.com/environment/secrets/esv-volkerstestsecret1/versions/2'\n )\n .reply(500, mockResponse);\n expect.assertions(4);\n try {\n await SecretsRaw.deleteVersionOfSecret('esv-volkerstestsecret1', '2');\n } catch (error) {\n // console.dir(error);\n expect(error).toBeTruthy();\n expect(error.response.status).toBe(500);\n expect(error.response.data.code).toBe(500);\n expect(error.response.data.message).toBe('Server Error');\n }\n });\n});\n"],"mappings":"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"}
package/cjs/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Variables = exports.Utils = exports.TreeRaw = exports.Theme = exports.StartupRaw = exports.Startup = exports.Secrets = exports.Script = exports.Saml = exports.Realm = exports.Organization = exports.OAuth2OIDCApi = exports.OAuth2Client = exports.NodeRaw = exports.ManagedObject = exports.Log = exports.Journey = exports.Idp = exports.Idm = exports.EmailTemplate = exports.ConnectionProfile = exports.CirclesOfTrust = exports.Authenticate = exports.Admin = void 0;
6
+ exports.Variables = exports.Utils = exports.TreeRaw = exports.Theme = exports.StartupRaw = exports.Startup = exports.SecretsRaw = exports.Secrets = exports.Script = exports.Saml = exports.Realm = exports.Organization = exports.OAuth2OIDCApi = exports.OAuth2Client = exports.NodeRaw = exports.ManagedObject = exports.Log = exports.Journey = exports.Idp = exports.Idm = exports.EmailTemplate = exports.ConnectionProfile = exports.CirclesOfTrust = exports.Authenticate = exports.Admin = void 0;
7
7
  exports.getVersion = getVersion;
8
8
  exports.state = void 0;
9
9
 
@@ -25,6 +25,10 @@ var _StartupRaw = _interopRequireWildcard(require("./api/StartupApi"));
25
25
 
26
26
  exports.StartupRaw = _StartupRaw;
27
27
 
28
+ var _SecretsRaw = _interopRequireWildcard(require("./api/SecretsApi"));
29
+
30
+ exports.SecretsRaw = _SecretsRaw;
31
+
28
32
  var _Admin = _interopRequireWildcard(require("./ops/AdminOps"));
29
33
 
30
34
  exports.Admin = _Admin;
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","getVersion","version"],"sources":["index.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../package.json'), 'utf8')\n);\n\nexport function getVersion() {\n return `v${pkg.version}`;\n}\n\n// Api Layer\nexport * as NodeRaw from './api/NodeApi';\nexport * as TreeRaw from './api/TreeApi';\nexport * as StartupRaw from './api/StartupApi';\n\n// Ops Layer\nexport * as Admin from './ops/AdminOps';\nexport * as Authenticate from './ops/AuthenticateOps';\nexport * as CirclesOfTrust from './ops/CirclesOfTrustOps';\nexport * as ConnectionProfile from './ops/ConnectionProfileOps';\nexport * as EmailTemplate from './ops/EmailTemplateOps';\nexport * as Idm from './ops/IdmOps';\nexport * as Idp from './ops/IdmOps';\nexport * as Journey from './ops/JourneyOps';\nexport * as Log from './ops/LogOps';\nexport * as ManagedObject from './ops/ManagedObjectOps';\nexport * as OAuth2Client from './ops/OAuth2ClientOps';\nexport * as Organization from './ops/OrganizationOps';\nexport * as Realm from './ops/RealmOps';\nexport * as Saml from './ops/SamlOps';\nexport * as Script from './ops/ScriptOps';\nexport * as Secrets from './ops/SecretsOps';\nexport * as Startup from './ops/StartupOps';\nexport * as Theme from './ops/ThemeOps';\nexport * as Variables from './ops/VariablesOps';\n// TODO: revisit if there are better ways\nexport * as Utils from './ops/utils/OpsUtils';\n// TODO: reconsider the aproach to pass in state from client\n// lib should be stateless, an aplication should own its state\nexport * as state from './storage/SessionStorage';\n// TODO: need to figure out if this is the right approach or if we should even\n// use a public oauth2/oidc library. might be ok for now since there is only\n// one place where the cli needs to execute an oauth flow.\nexport * as OAuth2OIDCApi from './api/OAuth2OIDCApi';\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,QAAS,GAAGC,aAAA,CAAKC,OAAL,CAAa,IAAAC,kBAAA,sDAAb,CAAlB;;AAEA,IAAMC,GAAG,GAAGC,IAAI,CAACC,KAAL,CACVC,WAAA,CAAGC,YAAH,CAAgBP,aAAA,CAAKQ,OAAL,CAAaT,QAAb,EAAwB,iBAAxB,CAAhB,EAA4D,MAA5D,CADU,CAAZ;;AAIO,SAASU,UAAT,GAAsB;EAC3B,kBAAWN,GAAG,CAACO,OAAf;AACD,C,CAED"}
1
+ {"version":3,"file":"index.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","getVersion","version"],"sources":["index.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../package.json'), 'utf8')\n);\n\nexport function getVersion() {\n return `v${pkg.version}`;\n}\n\n// Api Layer\nexport * as NodeRaw from './api/NodeApi';\nexport * as TreeRaw from './api/TreeApi';\nexport * as StartupRaw from './api/StartupApi';\nexport * as SecretsRaw from './api/SecretsApi';\n\n// Ops Layer\nexport * as Admin from './ops/AdminOps';\nexport * as Authenticate from './ops/AuthenticateOps';\nexport * as CirclesOfTrust from './ops/CirclesOfTrustOps';\nexport * as ConnectionProfile from './ops/ConnectionProfileOps';\nexport * as EmailTemplate from './ops/EmailTemplateOps';\nexport * as Idm from './ops/IdmOps';\nexport * as Idp from './ops/IdmOps';\nexport * as Journey from './ops/JourneyOps';\nexport * as Log from './ops/LogOps';\nexport * as ManagedObject from './ops/ManagedObjectOps';\nexport * as OAuth2Client from './ops/OAuth2ClientOps';\nexport * as Organization from './ops/OrganizationOps';\nexport * as Realm from './ops/RealmOps';\nexport * as Saml from './ops/SamlOps';\nexport * as Script from './ops/ScriptOps';\nexport * as Secrets from './ops/SecretsOps';\nexport * as Startup from './ops/StartupOps';\nexport * as Theme from './ops/ThemeOps';\nexport * as Variables from './ops/VariablesOps';\n// TODO: revisit if there are better ways\nexport * as Utils from './ops/utils/OpsUtils';\n// TODO: reconsider the aproach to pass in state from client\n// lib should be stateless, an aplication should own its state\nexport * as state from './storage/SessionStorage';\n// TODO: need to figure out if this is the right approach or if we should even\n// use a public oauth2/oidc library. might be ok for now since there is only\n// one place where the cli needs to execute an oauth flow.\nexport * as OAuth2OIDCApi from './api/OAuth2OIDCApi';\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,QAAS,GAAGC,aAAA,CAAKC,OAAL,CAAa,IAAAC,kBAAA,sDAAb,CAAlB;;AAEA,IAAMC,GAAG,GAAGC,IAAI,CAACC,KAAL,CACVC,WAAA,CAAGC,YAAH,CAAgBP,aAAA,CAAKQ,OAAL,CAAaT,QAAb,EAAwB,iBAAxB,CAAhB,EAA4D,MAA5D,CADU,CAAZ;;AAIO,SAASU,UAAT,GAAsB;EAC3B,kBAAWN,GAAG,CAACO,OAAf;AACD,C,CAED"}
@@ -51,7 +51,7 @@ function _listSecrets() {
51
51
  var secrets = [];
52
52
 
53
53
  try {
54
- secrets = yield (0, _SecretsApi.getSecrets)();
54
+ secrets = (yield (0, _SecretsApi.getSecrets)()).results;
55
55
  } catch (error) {
56
56
  (0, _Console.printMessage)("".concat(error.message), 'error');
57
57
  (0, _Console.printMessage)(error.response.data, 'error');
@@ -169,7 +169,7 @@ function deleteSecretsCmd() {
169
169
  function _deleteSecretsCmd() {
170
170
  _deleteSecretsCmd = _asyncToGenerator(function* () {
171
171
  try {
172
- var secrets = yield (0, _SecretsApi.getSecrets)();
172
+ var secrets = (yield (0, _SecretsApi.getSecrets)()).results;
173
173
  (0, _Console.createProgressIndicator)(secrets.length, "Deleting secrets...");
174
174
 
175
175
  for (var secret of secrets) {
@@ -303,7 +303,7 @@ function _activateVersionOfSecret() {
303
303
  (0, _Console.createProgressIndicator)(undefined, "Activating version ".concat(version, " of secret ").concat(secretId, "..."), 'indeterminate');
304
304
 
305
305
  try {
306
- yield (0, _SecretsApi.setStatusOfVersionOfSecret)(secretId, version, 'ENABLED');
306
+ yield (0, _SecretsApi.setStatusOfVersionOfSecret)(secretId, version, _SecretsApi.VersionOfSecretStatus.ENABLED);
307
307
  (0, _Console.stopProgressIndicator)("Activated version ".concat(version, " of secret ").concat(secretId), 'success');
308
308
  } catch (error) {
309
309
  (0, _Console.stopProgressIndicator)("Error: ".concat(error.response.data.code, " - ").concat(error.response.data.message), 'fail');
@@ -327,7 +327,7 @@ function _deactivateVersionOfSecret() {
327
327
  (0, _Console.createProgressIndicator)(undefined, "Deactivating version ".concat(version, " of secret ").concat(secretId, "..."), 'indeterminate');
328
328
 
329
329
  try {
330
- yield (0, _SecretsApi.setStatusOfVersionOfSecret)(secretId, version, 'DISABLED');
330
+ yield (0, _SecretsApi.setStatusOfVersionOfSecret)(secretId, version, _SecretsApi.VersionOfSecretStatus.DISABLED);
331
331
  (0, _Console.stopProgressIndicator)("Deactivated version ".concat(version, " of secret ").concat(secretId), 'success');
332
332
  } catch (error) {
333
333
  (0, _Console.stopProgressIndicator)("Error: ".concat(error.response.data.code, " - ").concat(error.response.data.message), 'fail');
@@ -1 +1 @@
1
- {"version":3,"file":"SecretsOps.js","names":["listSecrets","long","secrets","getSecrets","error","printMessage","message","response","data","table","createTable","hAlign","content","sort","a","b","_id","localeCompare","secret","push","activeVersion","loadedVersion","loaded","wordwrap","description","resolveUserName","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","createSecret","id","value","encoding","useInPlaceholders","createProgressIndicator","undefined","putSecret","stopProgressIndicator","code","setDescriptionOfSecret","secretId","setSecretDescription","deleteSecretCmd","deleteSecret","deleteSecretsCmd","length","updateProgressIndicator","listSecretVersionsCmd","versions","getSecretVersions","statusMap","ENABLED","DISABLED","DESTROYED","version","status","createDate","describeSecret","getSecret","createKeyValueTable","createNewVersionOfSecretCmd","createNewVersionOfSecret","activateVersionOfSecret","setStatusOfVersionOfSecret","deactivateVersionOfSecret","deleteVersionOfSecretCmd","deleteVersionOfSecret"],"sources":["ops/SecretsOps.ts"],"sourcesContent":["import {\n createKeyValueTable,\n createProgressIndicator,\n createTable,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n createNewVersionOfSecret,\n deleteSecret,\n deleteVersionOfSecret,\n getSecret,\n getSecrets,\n getSecretVersions,\n putSecret,\n setSecretDescription,\n setStatusOfVersionOfSecret,\n} from '../api/SecretsApi';\nimport wordwrap from './utils/Wordwrap';\nimport { resolveUserName } from './ManagedObjectOps';\n\n/**\n * List secrets\n * @param {boolean} long Long version, all the fields\n */\nexport async function listSecrets(long) {\n let secrets = [];\n try {\n secrets = await getSecrets();\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n { hAlign: 'right', content: 'Active\\nVersion'['brightCyan'] },\n { hAlign: 'right', content: 'Loaded\\nVersion'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n secrets.sort((a, b) => a._id.localeCompare(b._id));\n for (const secret of secrets) {\n table.push([\n secret._id,\n { hAlign: 'right', content: secret.activeVersion },\n { hAlign: 'right', content: secret.loadedVersion },\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(secret.description, 40),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', secret.lastChangedBy),\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n } else {\n secrets.forEach((secret) => {\n printMessage(secret._id);\n });\n }\n}\n\n/**\n * Create secret\n * @param {String} id secret id\n * @param {String} value secret value\n * @param {String} description secret description\n * @param {String} encoding secret encoding\n * @param {boolean} useInPlaceholders use secret in placeholders\n */\nexport async function createSecret(\n id,\n value,\n description,\n encoding,\n useInPlaceholders\n) {\n createProgressIndicator(\n undefined,\n `Creating secret ${id}...`,\n 'indeterminate'\n );\n try {\n await putSecret(id, value, description, encoding, useInPlaceholders);\n stopProgressIndicator(`Created secret ${id}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Set description of secret\n * @param {String} secretId secret id\n * @param {String} description secret description\n */\nexport async function setDescriptionOfSecret(secretId, description) {\n createProgressIndicator(\n undefined,\n `Setting description of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setSecretDescription(secretId, description);\n stopProgressIndicator(`Set description of secret ${secretId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete a secret\n * @param {String} secretId secret id\n */\nexport async function deleteSecretCmd(secretId) {\n createProgressIndicator(\n undefined,\n `Deleting secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await deleteSecret(secretId);\n stopProgressIndicator(`Deleted secret ${secretId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete all secrets\n */\nexport async function deleteSecretsCmd() {\n try {\n const secrets = await getSecrets();\n createProgressIndicator(secrets.length, `Deleting secrets...`);\n for (const secret of secrets) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await deleteSecret(secret._id);\n updateProgressIndicator(`Deleted secret ${secret._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressIndicator(`Secrets deleted.`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * List all the versions of the secret\n * @param {String} secretId secret id\n */\nexport async function listSecretVersionsCmd(secretId) {\n let versions = [];\n try {\n versions = await getSecretVersions(secretId);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n const table = createTable([\n { hAlign: 'right', content: 'Version'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Loaded'['brightCyan'],\n 'Created'['brightCyan'],\n ]);\n // versions.sort((a, b) => a._id.localeCompare(b._id));\n const statusMap = {\n ENABLED: 'active'['brightGreen'],\n DISABLED: 'inactive'['brightRed'],\n DESTROYED: 'deleted'['brightRed'],\n };\n for (const version of versions) {\n table.push([\n { hAlign: 'right', content: version.version },\n statusMap[version.status],\n version.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n new Date(version.createDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n}\n\n/**\n * Describe a secret\n * @param {String} secretId Secret id\n */\nexport async function describeSecret(secretId) {\n const secret = await getSecret(secretId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], secret._id]);\n table.push(['Active Version'['brightCyan'], secret.activeVersion]);\n table.push(['Loaded Version'['brightCyan'], secret.loadedVersion]);\n table.push([\n 'Status'['brightCyan'],\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(secret.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', secret.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], secret.lastChangedBy]);\n table.push(['Encoding'['brightCyan'], secret.encoding]);\n table.push(['Use In Placeholders'['brightCyan'], secret.useInPlaceholders]);\n printMessage(table.toString());\n printMessage('\\nSecret Versions:');\n await listSecretVersionsCmd(secretId);\n}\n\n/**\n * Create new version of secret\n * @param {String} secretId secret id\n * @param {String} value secret value\n */\nexport async function createNewVersionOfSecretCmd(secretId, value) {\n createProgressIndicator(\n undefined,\n `Creating new version of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n const version = await createNewVersionOfSecret(secretId, value);\n stopProgressIndicator(\n `Created version ${version.version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Activate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function activateVersionOfSecret(secretId, version) {\n createProgressIndicator(\n undefined,\n `Activating version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setStatusOfVersionOfSecret(secretId, version, 'ENABLED');\n stopProgressIndicator(\n `Activated version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Deactivate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deactivateVersionOfSecret(secretId, version) {\n createProgressIndicator(\n undefined,\n `Deactivating version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setStatusOfVersionOfSecret(secretId, version, 'DISABLED');\n stopProgressIndicator(\n `Deactivated version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete version of secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deleteVersionOfSecretCmd(secretId, version) {\n createProgressIndicator(\n undefined,\n `Deleting version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await deleteVersionOfSecret(secretId, version);\n stopProgressIndicator(\n `Deleted version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAQA;;AAWA;;AACA;;;;;;;;AAEA;AACA;AACA;AACA;SACsBA,W;;;AAuCtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;mCA9CO,WAA2BC,IAA3B,EAAiC;IACtC,IAAIC,OAAO,GAAG,EAAd;;IACA,IAAI;MACFA,OAAO,SAAS,IAAAC,sBAAA,GAAhB;IACD,CAFD,CAEE,OAAOC,KAAP,EAAc;MACd,IAAAC,qBAAA,YAAgBD,KAAK,CAACE,OAAtB,GAAiC,OAAjC;MACA,IAAAD,qBAAA,EAAaD,KAAK,CAACG,QAAN,CAAeC,IAA5B,EAAkC,OAAlC;IACD;;IACD,IAAIP,IAAJ,EAAU;MACR,IAAMQ,KAAK,GAAG,IAAAC,oBAAA,EAAY,CACxB,KAAK,YAAL,CADwB,EAExB;QAAEC,MAAM,EAAE,OAAV;QAAmBC,OAAO,EAAE,kBAAkB,YAAlB;MAA5B,CAFwB,EAGxB;QAAED,MAAM,EAAE,OAAV;QAAmBC,OAAO,EAAE,kBAAkB,YAAlB;MAA5B,CAHwB,EAIxB,SAAS,YAAT,CAJwB,EAKxB,cAAc,YAAd,CALwB,EAMxB,WAAW,YAAX,CANwB,EAOxB,WAAW,YAAX,CAPwB,CAAZ,CAAd;MASAV,OAAO,CAACW,IAAR,CAAa,CAACC,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAACE,GAAF,CAAMC,aAAN,CAAoBF,CAAC,CAACC,GAAtB,CAAvB;;MACA,KAAK,IAAME,MAAX,IAAqBhB,OAArB,EAA8B;QAC5BO,KAAK,CAACU,IAAN,CAAW,CACTD,MAAM,CAACF,GADE,EAET;UAAEL,MAAM,EAAE,OAAV;UAAmBC,OAAO,EAAEM,MAAM,CAACE;QAAnC,CAFS,EAGT;UAAET,MAAM,EAAE,OAAV;UAAmBC,OAAO,EAAEM,MAAM,CAACG;QAAnC,CAHS,EAITH,MAAM,CAACI,MAAP,GAAgB,SAAS,aAAT,CAAhB,GAA0C,WAAW,WAAX,CAJjC,EAKT,IAAAC,iBAAA,EAASL,MAAM,CAACM,WAAhB,EAA6B,EAA7B,CALS,EAMT;QANS,MAOH,IAAAC,iCAAA,EAAgB,YAAhB,EAA8BP,MAAM,CAACQ,aAArC,CAPG,EAQT,IAAIC,IAAJ,CAAST,MAAM,CAACU,cAAhB,EAAgCC,cAAhC,EARS,CAAX;MAUD;;MACD,IAAAxB,qBAAA,EAAaI,KAAK,CAACqB,QAAN,EAAb;IACD,CAxBD,MAwBO;MACL5B,OAAO,CAAC6B,OAAR,CAAiBb,MAAD,IAAY;QAC1B,IAAAb,qBAAA,EAAaa,MAAM,CAACF,GAApB;MACD,CAFD;IAGD;EACF,C;;;;SAUqBgB,Y;;;AAuBtB;AACA;AACA;AACA;AACA;;;;oCA3BO,WACLC,EADK,EAELC,KAFK,EAGLV,WAHK,EAILW,QAJK,EAKLC,iBALK,EAML;IACA,IAAAC,gCAAA,EACEC,SADF,4BAEqBL,EAFrB,UAGE,eAHF;;IAKA,IAAI;MACF,MAAM,IAAAM,qBAAA,EAAUN,EAAV,EAAcC,KAAd,EAAqBV,WAArB,EAAkCW,QAAlC,EAA4CC,iBAA5C,CAAN;MACA,IAAAI,8BAAA,2BAAwCP,EAAxC,GAA8C,SAA9C;IACD,CAHD,CAGE,OAAO7B,KAAP,EAAc;MACd,IAAAoC,8BAAA,mBACYpC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBiC,IADhC,gBAC0CrC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBF,OAD9D,GAEE,MAFF;IAID;EACF,C;;;;SAOqBoC,sB;;;AAiBtB;AACA;AACA;AACA;;;;8CApBO,WAAsCC,QAAtC,EAAgDnB,WAAhD,EAA6D;IAClE,IAAAa,gCAAA,EACEC,SADF,0CAEmCK,QAFnC,UAGE,eAHF;;IAKA,IAAI;MACF,MAAM,IAAAC,gCAAA,EAAqBD,QAArB,EAA+BnB,WAA/B,CAAN;MACA,IAAAgB,8BAAA,sCAAmDG,QAAnD,GAA+D,SAA/D;IACD,CAHD,CAGE,OAAOvC,KAAP,EAAc;MACd,IAAAoC,8BAAA,mBACYpC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBiC,IADhC,gBAC0CrC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBF,OAD9D,GAEE,MAFF;IAID;EACF,C;;;;SAMqBuC,e;;;AAiBtB;AACA;AACA;;;;uCAnBO,WAA+BF,QAA/B,EAAyC;IAC9C,IAAAN,gCAAA,EACEC,SADF,4BAEqBK,QAFrB,UAGE,eAHF;;IAKA,IAAI;MACF,MAAM,IAAAG,wBAAA,EAAaH,QAAb,CAAN;MACA,IAAAH,8BAAA,2BAAwCG,QAAxC,GAAoD,SAApD;IACD,CAHD,CAGE,OAAOvC,KAAP,EAAc;MACd,IAAAoC,8BAAA,mBACYpC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBiC,IADhC,gBAC0CrC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBF,OAD9D,GAEE,MAFF;IAID;EACF,C;;;;SAKqByC,gB;;;AAyBtB;AACA;AACA;AACA;;;;wCA5BO,aAAkC;IACvC,IAAI;MACF,IAAM7C,OAAO,SAAS,IAAAC,sBAAA,GAAtB;MACA,IAAAkC,gCAAA,EAAwBnC,OAAO,CAAC8C,MAAhC;;MACA,KAAK,IAAM9B,MAAX,IAAqBhB,OAArB,EAA8B;QAC5B,IAAI;UACF;UACA,MAAM,IAAA4C,wBAAA,EAAa5B,MAAM,CAACF,GAApB,CAAN;UACA,IAAAiC,gCAAA,2BAA0C/B,MAAM,CAACF,GAAjD;QACD,CAJD,CAIE,OAAOZ,KAAP,EAAc;UACd,IAAAC,qBAAA,mBACYD,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBiC,IADhC,gBAC0CrC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBF,OAD9D,GAEE,OAFF;QAID;MACF;;MACD,IAAAkC,8BAAA;IACD,CAhBD,CAgBE,OAAOpC,KAAP,EAAc;MACd,IAAAC,qBAAA,mBACYD,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBiC,IADhC,gBAC0CrC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBF,OAD9D,GAEE,OAFF;IAID;EACF,C;;;;SAMqB4C,qB;;;AA+BtB;AACA;AACA;AACA;;;;6CAlCO,WAAqCP,QAArC,EAA+C;IACpD,IAAIQ,QAAQ,GAAG,EAAf;;IACA,IAAI;MACFA,QAAQ,SAAS,IAAAC,6BAAA,EAAkBT,QAAlB,CAAjB;IACD,CAFD,CAEE,OAAOvC,KAAP,EAAc;MACd,IAAAC,qBAAA,YAAgBD,KAAK,CAACE,OAAtB,GAAiC,OAAjC;MACA,IAAAD,qBAAA,EAAaD,KAAK,CAACG,QAAN,CAAeC,IAA5B,EAAkC,OAAlC;IACD;;IACD,IAAMC,KAAK,GAAG,IAAAC,oBAAA,EAAY,CACxB;MAAEC,MAAM,EAAE,OAAV;MAAmBC,OAAO,EAAE,UAAU,YAAV;IAA5B,CADwB,EAExB,SAAS,YAAT,CAFwB,EAGxB,SAAS,YAAT,CAHwB,EAIxB,UAAU,YAAV,CAJwB,CAAZ,CAAd,CARoD,CAcpD;;IACA,IAAMyC,SAAS,GAAG;MAChBC,OAAO,EAAE,SAAS,aAAT,CADO;MAEhBC,QAAQ,EAAE,WAAW,WAAX,CAFM;MAGhBC,SAAS,EAAE,UAAU,WAAV;IAHK,CAAlB;;IAKA,KAAK,IAAMC,OAAX,IAAsBN,QAAtB,EAAgC;MAC9B1C,KAAK,CAACU,IAAN,CAAW,CACT;QAAER,MAAM,EAAE,OAAV;QAAmBC,OAAO,EAAE6C,OAAO,CAACA;MAApC,CADS,EAETJ,SAAS,CAACI,OAAO,CAACC,MAAT,CAFA,EAGTD,OAAO,CAACnC,MAAR,GAAiB,SAAS,aAAT,CAAjB,GAA2C,WAAW,WAAX,CAHlC,EAIT,IAAIK,IAAJ,CAAS8B,OAAO,CAACE,UAAjB,EAA6B9B,cAA7B,EAJS,CAAX;IAMD;;IACD,IAAAxB,qBAAA,EAAaI,KAAK,CAACqB,QAAN,EAAb;EACD,C;;;;SAMqB8B,c;;;AA2BtB;AACA;AACA;AACA;AACA;;;;sCA/BO,WAA8BjB,QAA9B,EAAwC;IAC7C,IAAMzB,MAAM,SAAS,IAAA2C,qBAAA,EAAUlB,QAAV,CAArB;IACA,IAAMlC,KAAK,GAAG,IAAAqD,4BAAA,GAAd;IACArD,KAAK,CAACU,IAAN,CAAW,CAAC,OAAO,YAAP,CAAD,EAAuBD,MAAM,CAACF,GAA9B,CAAX;IACAP,KAAK,CAACU,IAAN,CAAW,CAAC,iBAAiB,YAAjB,CAAD,EAAiCD,MAAM,CAACE,aAAxC,CAAX;IACAX,KAAK,CAACU,IAAN,CAAW,CAAC,iBAAiB,YAAjB,CAAD,EAAiCD,MAAM,CAACG,aAAxC,CAAX;IACAZ,KAAK,CAACU,IAAN,CAAW,CACT,SAAS,YAAT,CADS,EAETD,MAAM,CAACI,MAAP,GAAgB,SAAS,aAAT,CAAhB,GAA0C,WAAW,WAAX,CAFjC,CAAX;IAIAb,KAAK,CAACU,IAAN,CAAW,CAAC,cAAc,YAAd,CAAD,EAA8B,IAAAI,iBAAA,EAASL,MAAM,CAACM,WAAhB,EAA6B,EAA7B,CAA9B,CAAX;IACAf,KAAK,CAACU,IAAN,CAAW,CACT,WAAW,YAAX,CADS,EAET,IAAIQ,IAAJ,CAAST,MAAM,CAACU,cAAhB,EAAgCC,cAAhC,EAFS,CAAX;IAIApB,KAAK,CAACU,IAAN,CAAW,CACT,WAAW,YAAX,CADS,QAEH,IAAAM,iCAAA,EAAgB,YAAhB,EAA8BP,MAAM,CAACQ,aAArC,CAFG,CAAX;IAIAjB,KAAK,CAACU,IAAN,CAAW,CAAC,gBAAgB,YAAhB,CAAD,EAAgCD,MAAM,CAACQ,aAAvC,CAAX;IACAjB,KAAK,CAACU,IAAN,CAAW,CAAC,WAAW,YAAX,CAAD,EAA2BD,MAAM,CAACiB,QAAlC,CAAX;IACA1B,KAAK,CAACU,IAAN,CAAW,CAAC,sBAAsB,YAAtB,CAAD,EAAsCD,MAAM,CAACkB,iBAA7C,CAAX;IACA,IAAA/B,qBAAA,EAAaI,KAAK,CAACqB,QAAN,EAAb;IACA,IAAAzB,qBAAA,EAAa,oBAAb;IACA,MAAM6C,qBAAqB,CAACP,QAAD,CAA3B;EACD,C;;;;SAOqBoB,2B;;;AAoBtB;AACA;AACA;AACA;AACA;;;;mDAxBO,WAA2CpB,QAA3C,EAAqDT,KAArD,EAA4D;IACjE,IAAAG,gCAAA,EACEC,SADF,2CAEoCK,QAFpC,UAGE,eAHF;;IAKA,IAAI;MACF,IAAMc,OAAO,SAAS,IAAAO,oCAAA,EAAyBrB,QAAzB,EAAmCT,KAAnC,CAAtB;MACA,IAAAM,8BAAA,4BACqBiB,OAAO,CAACA,OAD7B,wBACkDd,QADlD,GAEE,SAFF;IAID,CAND,CAME,OAAOvC,KAAP,EAAc;MACd,IAAAoC,8BAAA,mBACYpC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBiC,IADhC,gBAC0CrC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBF,OAD9D,GAEE,MAFF;IAID;EACF,C;;;;SAOqB2D,uB;;;AAoBtB;AACA;AACA;AACA;AACA;;;;+CAxBO,WAAuCtB,QAAvC,EAAiDc,OAAjD,EAA0D;IAC/D,IAAApB,gCAAA,EACEC,SADF,+BAEwBmB,OAFxB,wBAE6Cd,QAF7C,UAGE,eAHF;;IAKA,IAAI;MACF,MAAM,IAAAuB,sCAAA,EAA2BvB,QAA3B,EAAqCc,OAArC,EAA8C,SAA9C,CAAN;MACA,IAAAjB,8BAAA,8BACuBiB,OADvB,wBAC4Cd,QAD5C,GAEE,SAFF;IAID,CAND,CAME,OAAOvC,KAAP,EAAc;MACd,IAAAoC,8BAAA,mBACYpC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBiC,IADhC,gBAC0CrC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBF,OAD9D,GAEE,MAFF;IAID;EACF,C;;;;SAOqB6D,yB;;;AAoBtB;AACA;AACA;AACA;AACA;;;;iDAxBO,WAAyCxB,QAAzC,EAAmDc,OAAnD,EAA4D;IACjE,IAAApB,gCAAA,EACEC,SADF,iCAE0BmB,OAF1B,wBAE+Cd,QAF/C,UAGE,eAHF;;IAKA,IAAI;MACF,MAAM,IAAAuB,sCAAA,EAA2BvB,QAA3B,EAAqCc,OAArC,EAA8C,UAA9C,CAAN;MACA,IAAAjB,8BAAA,gCACyBiB,OADzB,wBAC8Cd,QAD9C,GAEE,SAFF;IAID,CAND,CAME,OAAOvC,KAAP,EAAc;MACd,IAAAoC,8BAAA,mBACYpC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBiC,IADhC,gBAC0CrC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBF,OAD9D,GAEE,MAFF;IAID;EACF,C;;;;SAOqB8D,wB;;;;;gDAAf,WAAwCzB,QAAxC,EAAkDc,OAAlD,EAA2D;IAChE,IAAApB,gCAAA,EACEC,SADF,6BAEsBmB,OAFtB,wBAE2Cd,QAF3C,UAGE,eAHF;;IAKA,IAAI;MACF,MAAM,IAAA0B,iCAAA,EAAsB1B,QAAtB,EAAgCc,OAAhC,CAAN;MACA,IAAAjB,8BAAA,4BACqBiB,OADrB,wBAC0Cd,QAD1C,GAEE,SAFF;IAID,CAND,CAME,OAAOvC,KAAP,EAAc;MACd,IAAAoC,8BAAA,mBACYpC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBiC,IADhC,gBAC0CrC,KAAK,CAACG,QAAN,CAAeC,IAAf,CAAoBF,OAD9D,GAEE,MAFF;IAID;EACF,C"}
1
+ {"version":3,"file":"SecretsOps.js","names":["listSecrets","long","secrets","getSecrets","results","error","printMessage","message","response","data","table","createTable","hAlign","content","sort","a","b","_id","localeCompare","secret","push","activeVersion","loadedVersion","loaded","wordwrap","description","resolveUserName","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","createSecret","id","value","encoding","useInPlaceholders","createProgressIndicator","undefined","putSecret","stopProgressIndicator","code","setDescriptionOfSecret","secretId","setSecretDescription","deleteSecretCmd","deleteSecret","deleteSecretsCmd","length","updateProgressIndicator","listSecretVersionsCmd","versions","getSecretVersions","statusMap","ENABLED","DISABLED","DESTROYED","version","status","createDate","describeSecret","getSecret","createKeyValueTable","createNewVersionOfSecretCmd","createNewVersionOfSecret","activateVersionOfSecret","setStatusOfVersionOfSecret","VersionOfSecretStatus","deactivateVersionOfSecret","deleteVersionOfSecretCmd","deleteVersionOfSecret"],"sources":["ops/SecretsOps.ts"],"sourcesContent":["import {\n createKeyValueTable,\n createProgressIndicator,\n createTable,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n createNewVersionOfSecret,\n deleteSecret,\n deleteVersionOfSecret,\n getSecret,\n getSecrets,\n getSecretVersions,\n putSecret,\n setSecretDescription,\n setStatusOfVersionOfSecret,\n VersionOfSecretStatus,\n} from '../api/SecretsApi';\nimport wordwrap from './utils/Wordwrap';\nimport { resolveUserName } from './ManagedObjectOps';\n\n/**\n * List secrets\n * @param {boolean} long Long version, all the fields\n */\nexport async function listSecrets(long) {\n let secrets = [];\n try {\n secrets = (await getSecrets()).results;\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n { hAlign: 'right', content: 'Active\\nVersion'['brightCyan'] },\n { hAlign: 'right', content: 'Loaded\\nVersion'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n secrets.sort((a, b) => a._id.localeCompare(b._id));\n for (const secret of secrets) {\n table.push([\n secret._id,\n { hAlign: 'right', content: secret.activeVersion },\n { hAlign: 'right', content: secret.loadedVersion },\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(secret.description, 40),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', secret.lastChangedBy),\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n } else {\n secrets.forEach((secret) => {\n printMessage(secret._id);\n });\n }\n}\n\n/**\n * Create secret\n * @param {String} id secret id\n * @param {String} value secret value\n * @param {String} description secret description\n * @param {String} encoding secret encoding\n * @param {boolean} useInPlaceholders use secret in placeholders\n */\nexport async function createSecret(\n id,\n value,\n description,\n encoding,\n useInPlaceholders\n) {\n createProgressIndicator(\n undefined,\n `Creating secret ${id}...`,\n 'indeterminate'\n );\n try {\n await putSecret(id, value, description, encoding, useInPlaceholders);\n stopProgressIndicator(`Created secret ${id}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Set description of secret\n * @param {String} secretId secret id\n * @param {String} description secret description\n */\nexport async function setDescriptionOfSecret(secretId, description) {\n createProgressIndicator(\n undefined,\n `Setting description of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setSecretDescription(secretId, description);\n stopProgressIndicator(`Set description of secret ${secretId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete a secret\n * @param {String} secretId secret id\n */\nexport async function deleteSecretCmd(secretId) {\n createProgressIndicator(\n undefined,\n `Deleting secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await deleteSecret(secretId);\n stopProgressIndicator(`Deleted secret ${secretId}`, 'success');\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete all secrets\n */\nexport async function deleteSecretsCmd() {\n try {\n const secrets = (await getSecrets()).results;\n createProgressIndicator(secrets.length, `Deleting secrets...`);\n for (const secret of secrets) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await deleteSecret(secret._id);\n updateProgressIndicator(`Deleted secret ${secret._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressIndicator(`Secrets deleted.`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * List all the versions of the secret\n * @param {String} secretId secret id\n */\nexport async function listSecretVersionsCmd(secretId) {\n let versions = [];\n try {\n versions = await getSecretVersions(secretId);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n const table = createTable([\n { hAlign: 'right', content: 'Version'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Loaded'['brightCyan'],\n 'Created'['brightCyan'],\n ]);\n // versions.sort((a, b) => a._id.localeCompare(b._id));\n const statusMap = {\n ENABLED: 'active'['brightGreen'],\n DISABLED: 'inactive'['brightRed'],\n DESTROYED: 'deleted'['brightRed'],\n };\n for (const version of versions) {\n table.push([\n { hAlign: 'right', content: version.version },\n statusMap[version.status],\n version.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n new Date(version.createDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n}\n\n/**\n * Describe a secret\n * @param {String} secretId Secret id\n */\nexport async function describeSecret(secretId) {\n const secret = await getSecret(secretId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], secret._id]);\n table.push(['Active Version'['brightCyan'], secret.activeVersion]);\n table.push(['Loaded Version'['brightCyan'], secret.loadedVersion]);\n table.push([\n 'Status'['brightCyan'],\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(secret.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', secret.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], secret.lastChangedBy]);\n table.push(['Encoding'['brightCyan'], secret.encoding]);\n table.push(['Use In Placeholders'['brightCyan'], secret.useInPlaceholders]);\n printMessage(table.toString());\n printMessage('\\nSecret Versions:');\n await listSecretVersionsCmd(secretId);\n}\n\n/**\n * Create new version of secret\n * @param {String} secretId secret id\n * @param {String} value secret value\n */\nexport async function createNewVersionOfSecretCmd(secretId, value) {\n createProgressIndicator(\n undefined,\n `Creating new version of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n const version = await createNewVersionOfSecret(secretId, value);\n stopProgressIndicator(\n `Created version ${version.version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Activate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function activateVersionOfSecret(secretId, version) {\n createProgressIndicator(\n undefined,\n `Activating version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setStatusOfVersionOfSecret(\n secretId,\n version,\n VersionOfSecretStatus.ENABLED\n );\n stopProgressIndicator(\n `Activated version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Deactivate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deactivateVersionOfSecret(secretId, version) {\n createProgressIndicator(\n undefined,\n `Deactivating version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await setStatusOfVersionOfSecret(\n secretId,\n version,\n VersionOfSecretStatus.DISABLED\n );\n stopProgressIndicator(\n `Deactivated version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n\n/**\n * Delete version of secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deleteVersionOfSecretCmd(secretId, version) {\n createProgressIndicator(\n undefined,\n `Deleting version ${version} of secret ${secretId}...`,\n 'indeterminate'\n );\n try {\n await deleteVersionOfSecret(secretId, version);\n stopProgressIndicator(\n `Deleted version ${version} of secret ${secretId}`,\n 'success'\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n}\n"],"mappings":"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"}
@@ -44,7 +44,7 @@ function _checkForUpdates() {
44
44
  (0, _Console.createProgressIndicator)(undefined, "Checking for updates to apply...", 'indeterminate');
45
45
 
46
46
  try {
47
- updates.secrets = (yield (0, _SecretsApi.getSecrets)()).filter(secret => !secret.loaded);
47
+ updates.secrets = (yield (0, _SecretsApi.getSecrets)()).results.filter(secret => !secret.loaded);
48
48
  updates.variables = (yield (0, _VariablesApi.getVariables)()).filter(variable => !variable.loaded);
49
49
  } catch (error) {
50
50
  (0, _Console.stopProgressIndicator)("Error: ".concat(error.response.data.code, " - ").concat(error.response.data.message), 'fail');
@@ -1 +1 @@
1
- {"version":3,"file":"StartupOps.js","names":["checkForUpdates","updates","secrets","variables","createProgressIndicator","undefined","getSecrets","filter","secret","loaded","getVariables","variable","error","stopProgressIndicator","response","data","code","message","updateCount","length","applyUpdates","wait","timeout","status","initiateRestart","start","Date","getTime","runtime","RestartStatus","ready","Promise","resolve","setTimeout","getStatus","updateProgressIndicator","Math","round"],"sources":["ops/StartupOps.ts"],"sourcesContent":["import {\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from './utils/Console';\nimport { getSecrets } from '../api/SecretsApi';\nimport { getStatus, initiateRestart, RestartStatus } from '../api/StartupApi';\nimport { getVariables } from '../api/VariablesApi';\n\n/**\n * Updates that need to be applied.\n */\nexport interface Updates {\n /**\n * Array of secrets that need applying\n */\n secrets?: unknown[];\n /**\n * Array of variables that need applying\n */\n variables?: unknown[];\n}\n\n/**\n * Check for updates that need applying\n * @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise\n */\nexport async function checkForUpdates(): Promise<Updates> {\n const updates: Updates = { secrets: [], variables: [] };\n createProgressIndicator(\n undefined,\n `Checking for updates to apply...`,\n 'indeterminate'\n );\n try {\n updates.secrets = (await getSecrets()).filter(\n (secret: { loaded: unknown }) => !secret.loaded\n );\n updates.variables = (await getVariables()).filter(\n (variable: { loaded: unknown }) => !variable.loaded\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n const updateCount = updates.secrets?.length + updates.variables?.length || 0;\n if (updateCount > 0) {\n stopProgressIndicator(\n `${updateCount} update(s) need to be applied`,\n 'success'\n );\n } else {\n stopProgressIndicator(`No updates need to be applied`, 'success');\n }\n return updates;\n}\n\n/**\n * Apply updates\n * @param {boolean} wait wait for the operation to complete or not\n * @param {number} timeout timeout in milliseconds\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function applyUpdates(wait: boolean, timeout = 10 * 60 * 1000) {\n createProgressIndicator(undefined, `Applying updates...`, 'indeterminate');\n try {\n let status = await initiateRestart();\n if (wait) {\n const start = new Date().getTime();\n let runtime = 0;\n while (\n status !== RestartStatus.ready &&\n start + timeout > new Date().getTime()\n ) {\n // eslint-disable-next-line no-await-in-loop, no-promise-executor-return\n await new Promise((resolve) => setTimeout(resolve, 5000));\n // eslint-disable-next-line no-await-in-loop\n status = await getStatus();\n runtime = new Date().getTime() - start;\n updateProgressIndicator(`${status} (${Math.round(runtime / 1000)}s)`);\n }\n if (runtime < timeout) {\n stopProgressIndicator(\n `Updates applied in ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'success'\n );\n return true;\n } else {\n stopProgressIndicator(\n `Updates timed out after ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'warn'\n );\n return false;\n }\n } else {\n stopProgressIndicator(\n `Updates are being applied. Changes may take up to 10 minutes to propagate, during which time you will not be able to make further updates.`,\n 'success'\n );\n return true;\n }\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response?.data?.code || error} - ${\n error.response?.data?.message\n }`,\n 'fail'\n );\n return false;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StartupOps.js","names":["checkForUpdates","updates","secrets","variables","createProgressIndicator","undefined","getSecrets","results","filter","secret","loaded","getVariables","variable","error","stopProgressIndicator","response","data","code","message","updateCount","length","applyUpdates","wait","timeout","status","initiateRestart","start","Date","getTime","runtime","RestartStatus","ready","Promise","resolve","setTimeout","getStatus","updateProgressIndicator","Math","round"],"sources":["ops/StartupOps.ts"],"sourcesContent":["import {\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from './utils/Console';\nimport { getSecrets } from '../api/SecretsApi';\nimport { getStatus, initiateRestart, RestartStatus } from '../api/StartupApi';\nimport { getVariables } from '../api/VariablesApi';\n\n/**\n * Updates that need to be applied.\n */\nexport interface Updates {\n /**\n * Array of secrets that need applying\n */\n secrets?: unknown[];\n /**\n * Array of variables that need applying\n */\n variables?: unknown[];\n}\n\n/**\n * Check for updates that need applying\n * @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise\n */\nexport async function checkForUpdates(): Promise<Updates> {\n const updates: Updates = { secrets: [], variables: [] };\n createProgressIndicator(\n undefined,\n `Checking for updates to apply...`,\n 'indeterminate'\n );\n try {\n updates.secrets = (await getSecrets()).results.filter(\n (secret: { loaded: unknown }) => !secret.loaded\n );\n updates.variables = (await getVariables()).filter(\n (variable: { loaded: unknown }) => !variable.loaded\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n const updateCount = updates.secrets?.length + updates.variables?.length || 0;\n if (updateCount > 0) {\n stopProgressIndicator(\n `${updateCount} update(s) need to be applied`,\n 'success'\n );\n } else {\n stopProgressIndicator(`No updates need to be applied`, 'success');\n }\n return updates;\n}\n\n/**\n * Apply updates\n * @param {boolean} wait wait for the operation to complete or not\n * @param {number} timeout timeout in milliseconds\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function applyUpdates(wait: boolean, timeout = 10 * 60 * 1000) {\n createProgressIndicator(undefined, `Applying updates...`, 'indeterminate');\n try {\n let status = await initiateRestart();\n if (wait) {\n const start = new Date().getTime();\n let runtime = 0;\n while (\n status !== RestartStatus.ready &&\n start + timeout > new Date().getTime()\n ) {\n // eslint-disable-next-line no-await-in-loop, no-promise-executor-return\n await new Promise((resolve) => setTimeout(resolve, 5000));\n // eslint-disable-next-line no-await-in-loop\n status = await getStatus();\n runtime = new Date().getTime() - start;\n updateProgressIndicator(`${status} (${Math.round(runtime / 1000)}s)`);\n }\n if (runtime < timeout) {\n stopProgressIndicator(\n `Updates applied in ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'success'\n );\n return true;\n } else {\n stopProgressIndicator(\n `Updates timed out after ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'warn'\n );\n return false;\n }\n } else {\n stopProgressIndicator(\n `Updates are being applied. Changes may take up to 10 minutes to propagate, during which time you will not be able to make further updates.`,\n 'success'\n );\n return true;\n }\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response?.data?.code || error} - ${\n error.response?.data?.message\n }`,\n 'fail'\n );\n return false;\n }\n}\n"],"mappings":"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"}