@rockcarver/frodo-lib 0.12.1 → 0.12.2-2
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 +13 -1
- package/cjs/api/BaseApi.js +36 -8
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/NodeApi.js +190 -0
- package/cjs/api/NodeApi.js.map +1 -0
- package/cjs/api/NodeApi.test.js.map +1 -0
- package/cjs/api/OAuth2ClientApi.js +3 -1
- package/cjs/api/OAuth2ClientApi.js.map +1 -1
- package/cjs/api/SecretsApi.js +59 -29
- package/cjs/api/SecretsApi.js.map +1 -1
- package/cjs/api/StartupApi.js +21 -8
- package/cjs/api/StartupApi.js.map +1 -1
- package/cjs/api/StartupApi.test.js.map +1 -0
- package/cjs/api/TreeApi.js +30 -161
- package/cjs/api/TreeApi.js.map +1 -1
- package/cjs/api/TreeApi.test.js.map +1 -0
- package/cjs/api/VariablesApi.js +35 -20
- package/cjs/api/VariablesApi.js.map +1 -1
- package/cjs/index.js +15 -5
- package/cjs/index.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +1 -1
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/IdpOps.js +1 -1
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/JourneyOps.js +233 -204
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +27 -20
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/SecretsOps.js +9 -7
- package/cjs/ops/SecretsOps.js.map +1 -1
- package/cjs/ops/StartupOps.js +61 -71
- package/cjs/ops/StartupOps.js.map +1 -1
- package/cjs/ops/VariablesOps.js +3 -3
- package/cjs/ops/VariablesOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +3 -2
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +1 -0
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/esm/api/BaseApi.mjs +35 -7
- package/esm/api/NodeApi.mjs +114 -0
- package/esm/api/NodeApi.test.mjs +105 -0
- package/esm/api/OAuth2ClientApi.mjs +4 -2
- package/esm/api/SecretsApi.mjs +59 -29
- package/esm/api/StartupApi.mjs +18 -8
- package/esm/api/StartupApi.test.mjs +56 -0
- package/esm/api/TreeApi.mjs +29 -99
- package/esm/api/TreeApi.test.mjs +175 -0
- package/esm/api/VariablesApi.mjs +35 -20
- package/esm/index.mjs +7 -5
- package/esm/ops/AuthenticateOps.mjs +1 -1
- package/esm/ops/IdpOps.mjs +1 -1
- package/esm/ops/JourneyOps.mjs +186 -154
- package/esm/ops/OAuth2ClientOps.mjs +9 -4
- package/esm/ops/SecretsOps.mjs +9 -7
- package/esm/ops/StartupOps.mjs +59 -62
- package/esm/ops/VariablesOps.mjs +3 -3
- package/esm/ops/utils/Console.mjs +3 -2
- package/esm/ops/utils/ExportImportUtils.mjs +1 -0
- package/package.json +7 -4
- package/types/api/AuthenticateApi.d.ts +2 -0
- package/types/api/AuthenticateApi.d.ts.map +1 -0
- package/types/api/BaseApi.d.ts +50 -0
- package/types/api/BaseApi.d.ts.map +1 -0
- package/types/api/CirclesOfTrustApi.d.ts +24 -0
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -0
- package/types/api/EmailTemplateApi.d.ts +22 -0
- package/types/api/EmailTemplateApi.d.ts.map +1 -0
- package/types/api/IdmConfigApi.d.ts +39 -0
- package/types/api/IdmConfigApi.d.ts.map +1 -0
- package/types/api/LogApi.d.ts +4 -0
- package/types/api/LogApi.d.ts.map +1 -0
- package/types/api/ManagedObjectApi.d.ts +21 -0
- package/types/api/ManagedObjectApi.d.ts.map +1 -0
- package/types/api/NodeApi.d.ts +38 -0
- package/types/api/NodeApi.d.ts.map +1 -0
- package/types/api/OAuth2ClientApi.d.ts +18 -0
- package/types/api/OAuth2ClientApi.d.ts.map +1 -0
- package/types/api/OAuth2OIDCApi.d.ts +22 -0
- package/types/api/OAuth2OIDCApi.d.ts.map +1 -0
- package/types/api/OAuth2ProviderApi.d.ts +5 -0
- package/types/api/OAuth2ProviderApi.d.ts.map +1 -0
- package/types/api/RealmApi.d.ts +30 -0
- package/types/api/RealmApi.d.ts.map +1 -0
- package/types/api/Saml2Api.d.ts +52 -0
- package/types/api/Saml2Api.d.ts.map +1 -0
- package/types/api/ScriptApi.d.ts +24 -0
- package/types/api/ScriptApi.d.ts.map +1 -0
- package/types/api/SecretsApi.d.ts +10 -0
- package/types/api/SecretsApi.d.ts.map +1 -0
- package/types/api/ServerInfoApi.d.ts +10 -0
- package/types/api/ServerInfoApi.d.ts.map +1 -0
- package/types/api/SocialIdentityProvidersApi.d.ts +31 -0
- package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -0
- package/types/api/StartupApi.d.ts +14 -0
- package/types/api/StartupApi.d.ts.map +1 -0
- package/types/api/ThemeApi.d.ts +54 -0
- package/types/api/ThemeApi.d.ts.map +1 -0
- package/types/api/TreeApi.d.ts +24 -0
- package/types/api/TreeApi.d.ts.map +1 -0
- package/types/api/VariablesApi.d.ts +32 -0
- package/types/api/VariablesApi.d.ts.map +1 -0
- package/types/api/utils/ApiUtils.d.ts +29 -0
- package/types/api/utils/ApiUtils.d.ts.map +1 -0
- package/types/api/utils/Base64.d.ts +30 -0
- package/types/api/utils/Base64.d.ts.map +1 -0
- package/types/index.d.ts +26 -0
- package/types/index.d.ts.map +1 -0
- package/types/ops/AdminOps.d.ts +11 -0
- package/types/ops/AdminOps.d.ts.map +1 -0
- package/types/ops/AuthenticateOps.d.ts +6 -0
- package/types/ops/AuthenticateOps.d.ts.map +1 -0
- package/types/ops/CirclesOfTrustOps.d.ts +40 -0
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -0
- package/types/ops/ConnectionProfileOps.d.ts +47 -0
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -0
- package/types/ops/EmailTemplateOps.d.ts +40 -0
- package/types/ops/EmailTemplateOps.d.ts.map +1 -0
- package/types/ops/IdmOps.d.ts +27 -0
- package/types/ops/IdmOps.d.ts.map +1 -0
- package/types/ops/IdpOps.d.ts +45 -0
- package/types/ops/IdpOps.d.ts.map +1 -0
- package/types/ops/JourneyOps.d.ts +151 -0
- package/types/ops/JourneyOps.d.ts.map +1 -0
- package/types/ops/LogOps.d.ts +5 -0
- package/types/ops/LogOps.d.ts.map +1 -0
- package/types/ops/ManagedObjectOps.d.ts +14 -0
- package/types/ops/ManagedObjectOps.d.ts.map +1 -0
- package/types/ops/OAuth2ClientOps.d.ts +24 -0
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -0
- package/types/ops/OrganizationOps.d.ts +11 -0
- package/types/ops/OrganizationOps.d.ts.map +1 -0
- package/types/ops/RealmOps.d.ts +22 -0
- package/types/ops/RealmOps.d.ts.map +1 -0
- package/types/ops/SamlOps.d.ts +51 -0
- package/types/ops/SamlOps.d.ts.map +1 -0
- package/types/ops/ScriptOps.d.ts +30 -0
- package/types/ops/ScriptOps.d.ts.map +1 -0
- package/types/ops/SecretsOps.d.ts +63 -0
- package/types/ops/SecretsOps.d.ts.map +1 -0
- package/types/ops/StartupOps.d.ts +25 -0
- package/types/ops/StartupOps.d.ts.map +1 -0
- package/types/ops/ThemeOps.d.ts +66 -0
- package/types/ops/ThemeOps.d.ts.map +1 -0
- package/types/ops/VariablesOps.d.ts +39 -0
- package/types/ops/VariablesOps.d.ts.map +1 -0
- package/types/ops/utils/Console.d.ts +63 -0
- package/types/ops/utils/Console.d.ts.map +1 -0
- package/types/ops/utils/DataProtection.d.ts +6 -0
- package/types/ops/utils/DataProtection.d.ts.map +1 -0
- package/types/ops/utils/ExportImportUtils.d.ts +22 -0
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -0
- package/types/ops/utils/OpsUtils.d.ts +27 -0
- package/types/ops/utils/OpsUtils.d.ts.map +1 -0
- package/types/ops/utils/Wordwrap.d.ts +1 -0
- package/types/ops/utils/Wordwrap.d.ts.map +1 -0
- package/types/storage/SessionStorage.d.ts +47 -0
- package/types/storage/SessionStorage.d.ts.map +1 -0
- package/types/storage/StaticStorage.d.ts +14 -0
- package/types/storage/StaticStorage.d.ts.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ 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-2] - 2022-09-09
|
|
11
|
+
|
|
12
|
+
## [0.12.2-1] - 2022-09-08
|
|
13
|
+
|
|
14
|
+
## [0.12.2-0] - 2022-09-02
|
|
15
|
+
|
|
10
16
|
## [0.12.1] - 2022-08-27
|
|
11
17
|
|
|
12
18
|
### Changed
|
|
@@ -451,7 +457,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
451
457
|
- Fixed problem with adding connection profiles
|
|
452
458
|
- Miscellaneous bug fixes
|
|
453
459
|
|
|
454
|
-
[Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.12.
|
|
460
|
+
[Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-2...HEAD
|
|
461
|
+
|
|
462
|
+
[0.12.2-2]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-1...v0.12.2-2
|
|
463
|
+
|
|
464
|
+
[0.12.2-1]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-0...v0.12.2-1
|
|
465
|
+
|
|
466
|
+
[0.12.2-0]: https://github.com/rockcarver/frodo-lib/compare/v0.12.1...v0.12.2-0
|
|
455
467
|
|
|
456
468
|
[0.12.1]: https://github.com/rockcarver/frodo-lib/compare/v0.12.1-0...v0.12.1
|
|
457
469
|
|
package/cjs/api/BaseApi.js
CHANGED
|
@@ -10,12 +10,12 @@ exports.generateLogApi = generateLogApi;
|
|
|
10
10
|
exports.generateLogKeysApi = generateLogKeysApi;
|
|
11
11
|
exports.generateOauth2Api = generateOauth2Api;
|
|
12
12
|
|
|
13
|
+
var _agentkeepalive = _interopRequireDefault(require("agentkeepalive"));
|
|
14
|
+
|
|
13
15
|
var _axios = _interopRequireDefault(require("axios"));
|
|
14
16
|
|
|
15
17
|
var _axiosRetry = _interopRequireDefault(require("axios-retry"));
|
|
16
18
|
|
|
17
|
-
var https = _interopRequireWildcard(require("https"));
|
|
18
|
-
|
|
19
19
|
var _httpsProxyAgent = _interopRequireDefault(require("https-proxy-agent"));
|
|
20
20
|
|
|
21
21
|
var _url = _interopRequireWildcard(require("url"));
|
|
@@ -48,15 +48,32 @@ var pkg = JSON.parse(_fs.default.readFileSync(_path.default.resolve(_dirname, '.
|
|
|
48
48
|
shouldResetTimeout: true,
|
|
49
49
|
retryCondition: _error => true // retry no matter what
|
|
50
50
|
|
|
51
|
-
});
|
|
52
|
-
|
|
51
|
+
}); // all agents
|
|
52
|
+
|
|
53
|
+
var timeout = 30000; // agentkeepalive
|
|
54
|
+
|
|
55
|
+
var maxSockets = 100;
|
|
56
|
+
var maxFreeSockets = 10;
|
|
57
|
+
var freeSocketTimeout = 30000;
|
|
53
58
|
var userAgent = "".concat(pkg.name, "/").concat(pkg.version);
|
|
54
|
-
var httpsAgent;
|
|
59
|
+
var httpAgent, httpsAgent;
|
|
60
|
+
|
|
61
|
+
function getHttpAgent() {
|
|
62
|
+
if (httpAgent) return httpAgent;
|
|
63
|
+
httpAgent = new _agentkeepalive.default({
|
|
64
|
+
maxSockets,
|
|
65
|
+
maxFreeSockets,
|
|
66
|
+
timeout,
|
|
67
|
+
freeSocketTimeout
|
|
68
|
+
});
|
|
69
|
+
return httpAgent;
|
|
70
|
+
}
|
|
55
71
|
/**
|
|
56
72
|
* Helper method to create properly configured httpsAgent
|
|
57
73
|
* @returns {any} appropriate httpsAgent
|
|
58
74
|
*/
|
|
59
75
|
|
|
76
|
+
|
|
60
77
|
function getHttpsAgent() {
|
|
61
78
|
if (httpsAgent) return httpsAgent;
|
|
62
79
|
var options = {
|
|
@@ -78,7 +95,12 @@ function getHttpsAgent() {
|
|
|
78
95
|
return httpsAgent;
|
|
79
96
|
}
|
|
80
97
|
|
|
81
|
-
httpsAgent = new
|
|
98
|
+
httpsAgent = new _agentkeepalive.default.HttpsAgent(_objectSpread(_objectSpread({}, options), {}, {
|
|
99
|
+
maxSockets,
|
|
100
|
+
maxFreeSockets,
|
|
101
|
+
timeout,
|
|
102
|
+
freeSocketTimeout
|
|
103
|
+
}));
|
|
82
104
|
return httpsAgent;
|
|
83
105
|
}
|
|
84
106
|
/**
|
|
@@ -107,7 +129,7 @@ function generateAmApi(resource) {
|
|
|
107
129
|
'User-Agent': userAgent,
|
|
108
130
|
'Content-Type': 'application/json',
|
|
109
131
|
'Accept-API-Version': resource.apiVersion,
|
|
110
|
-
Cookie: "".concat(_SessionStorage.default.session.
|
|
132
|
+
Cookie: "".concat(_SessionStorage.default.session.getCookieName(), "=").concat(_SessionStorage.default.session.getCookieValue())
|
|
111
133
|
};
|
|
112
134
|
|
|
113
135
|
if (requestOverride['headers']) {
|
|
@@ -115,10 +137,11 @@ function generateAmApi(resource) {
|
|
|
115
137
|
}
|
|
116
138
|
|
|
117
139
|
var requestDetails = _objectSpread(_objectSpread({
|
|
118
|
-
baseURL: "".concat(_SessionStorage.default.session.getTenant(), "/json")
|
|
140
|
+
baseURL: "".concat(_SessionStorage.default.session.getTenant(), "/json"),
|
|
119
141
|
timeout
|
|
120
142
|
}, requestOverride), {}, {
|
|
121
143
|
headers,
|
|
144
|
+
httpAgent: getHttpAgent(),
|
|
122
145
|
httpsAgent: getHttpsAgent(),
|
|
123
146
|
proxy: getProxy()
|
|
124
147
|
});
|
|
@@ -154,6 +177,7 @@ function generateOauth2Api(resource) {
|
|
|
154
177
|
timeout
|
|
155
178
|
}, requestOverride), {}, {
|
|
156
179
|
headers,
|
|
180
|
+
httpAgent: getHttpAgent(),
|
|
157
181
|
httpsAgent: getHttpsAgent(),
|
|
158
182
|
proxy: getProxy()
|
|
159
183
|
});
|
|
@@ -182,6 +206,7 @@ function generateIdmApi() {
|
|
|
182
206
|
'Content-Type': 'application/json'
|
|
183
207
|
}
|
|
184
208
|
}, requestOverride), {}, {
|
|
209
|
+
httpAgent: getHttpAgent(),
|
|
185
210
|
httpsAgent: getHttpsAgent(),
|
|
186
211
|
proxy: getProxy()
|
|
187
212
|
});
|
|
@@ -215,6 +240,7 @@ function generateLogKeysApi() {
|
|
|
215
240
|
timeout,
|
|
216
241
|
headers
|
|
217
242
|
}, requestOverride), {}, {
|
|
243
|
+
httpAgent: getHttpAgent(),
|
|
218
244
|
httpsAgent: getHttpsAgent(),
|
|
219
245
|
proxy: getProxy()
|
|
220
246
|
});
|
|
@@ -249,6 +275,7 @@ function generateLogApi() {
|
|
|
249
275
|
timeout,
|
|
250
276
|
headers
|
|
251
277
|
}, requestOverride), {}, {
|
|
278
|
+
httpAgent: getHttpAgent(),
|
|
252
279
|
httpsAgent: getHttpsAgent(),
|
|
253
280
|
proxy: getProxy()
|
|
254
281
|
});
|
|
@@ -279,6 +306,7 @@ function generateESVApi(resource) {
|
|
|
279
306
|
timeout,
|
|
280
307
|
headers
|
|
281
308
|
}, requestOverride), {}, {
|
|
309
|
+
httpAgent: getHttpAgent(),
|
|
282
310
|
httpsAgent: getHttpsAgent(),
|
|
283
311
|
proxy: getProxy()
|
|
284
312
|
});
|
package/cjs/api/BaseApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseApi.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","userAgent","name","version","httpsAgent","getHttpsAgent","options","rejectUnauthorized","storage","session","getAllowInsecureConnection","httpsProxy","process","env","HTTPS_PROXY","https_proxy","console","error","parsed","url","hostname","port","protocol","HttpsProxyAgent","https","Agent","getProxy","generateAmApi","resource","requestOverride","headers","apiVersion","Cookie","raw","requestDetails","baseURL","getTenant","proxy","request","create","generateOauth2Api","generateIdmApi","getTenantURL","getBearerToken","generateLogKeysApi","generateLogApi","getLogApiKey","getLogApiSecret","generateESVApi"],"sources":["api/BaseApi.ts"],"sourcesContent":["import axios, { AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport * as https from 'https';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport { getTenantURL } from './utils/ApiUtils';\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\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n retryCondition: (_error) => true, // retry no matter what\n});\n\nconst timeout = 30000;\nconst userAgent = `${pkg.name}/${pkg.version}`;\nlet httpsAgent;\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !storage.session.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new https.Agent(options);\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.raw['cookieName']}=${storage.session.raw['cookieValue']}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers,\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.raw['cookieName']}=${storage.session.raw['cookieValue']}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers,\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.getLogApiSecret(),\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseApi.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","name","version","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","options","rejectUnauthorized","storage","session","getAllowInsecureConnection","httpsProxy","process","env","HTTPS_PROXY","https_proxy","console","error","parsed","url","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","generateAmApi","resource","requestOverride","headers","apiVersion","Cookie","getCookieName","getCookieValue","requestDetails","baseURL","getTenant","proxy","request","create","generateOauth2Api","raw","generateIdmApi","getTenantURL","getBearerToken","generateLogKeysApi","generateLogApi","getLogApiKey","getLogApiSecret","generateESVApi"],"sources":["api/BaseApi.ts"],"sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport { getTenantURL } from './utils/ApiUtils';\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\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !storage.session.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.raw['cookieName']}=${storage.session.raw['cookieValue']}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.getLogApiSecret(),\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.deleteNode = deleteNode;
|
|
7
|
+
exports.getNode = getNode;
|
|
8
|
+
exports.getNodeTypes = getNodeTypes;
|
|
9
|
+
exports.getNodes = getNodes;
|
|
10
|
+
exports.getNodesByType = getNodesByType;
|
|
11
|
+
exports.putNode = putNode;
|
|
12
|
+
|
|
13
|
+
var _util = _interopRequireDefault(require("util"));
|
|
14
|
+
|
|
15
|
+
var _ApiUtils = require("./utils/ApiUtils");
|
|
16
|
+
|
|
17
|
+
var _BaseApi = require("./BaseApi");
|
|
18
|
+
|
|
19
|
+
var _SessionStorage = _interopRequireDefault(require("../storage/SessionStorage"));
|
|
20
|
+
|
|
21
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
+
|
|
23
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
24
|
+
|
|
25
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
26
|
+
|
|
27
|
+
var queryAllNodeTypesURLTemplate = '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes';
|
|
28
|
+
var queryAllNodesByTypeURLTemplate = '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s?_queryFilter=true';
|
|
29
|
+
var queryAllNodesURLTemplate = '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents';
|
|
30
|
+
var nodeURLTemplate = '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s/%s';
|
|
31
|
+
var apiVersion = 'protocol=2.1,resource=1.0';
|
|
32
|
+
|
|
33
|
+
var getNodeApiConfig = () => {
|
|
34
|
+
var configPath = (0, _ApiUtils.getCurrentRealmPath)();
|
|
35
|
+
return {
|
|
36
|
+
path: "".concat(configPath, "/authentication/authenticationtrees"),
|
|
37
|
+
apiVersion
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Get all node types
|
|
42
|
+
* @returns {Promise} a promise that resolves to an array of node type objects
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
function getNodeTypes() {
|
|
47
|
+
return _getNodeTypes.apply(this, arguments);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get all nodes
|
|
51
|
+
* @returns {Promise} a promise that resolves to an array of node objects
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
function _getNodeTypes() {
|
|
56
|
+
_getNodeTypes = _asyncToGenerator(function* () {
|
|
57
|
+
var urlString = _util.default.format(queryAllNodeTypesURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)());
|
|
58
|
+
|
|
59
|
+
var response = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).post(urlString, {}, {
|
|
60
|
+
withCredentials: true,
|
|
61
|
+
headers: {
|
|
62
|
+
'Accept-Encoding': 'gzip, deflate, br'
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return response.data.result;
|
|
66
|
+
});
|
|
67
|
+
return _getNodeTypes.apply(this, arguments);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function getNodes() {
|
|
71
|
+
return _getNodes.apply(this, arguments);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get all nodes by type
|
|
75
|
+
* @param {string} nodeType node type
|
|
76
|
+
* @returns {Promise} a promise that resolves to an array of node objects of the requested type
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
function _getNodes() {
|
|
81
|
+
_getNodes = _asyncToGenerator(function* () {
|
|
82
|
+
var urlString = _util.default.format(queryAllNodesURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)());
|
|
83
|
+
|
|
84
|
+
var response = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).post(urlString, {}, {
|
|
85
|
+
withCredentials: true,
|
|
86
|
+
headers: {
|
|
87
|
+
'Accept-Encoding': 'gzip, deflate, br'
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
return response.data.result;
|
|
91
|
+
});
|
|
92
|
+
return _getNodes.apply(this, arguments);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function getNodesByType(_x) {
|
|
96
|
+
return _getNodesByType.apply(this, arguments);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Get node by uuid and type
|
|
100
|
+
* @param {String} nodeId node uuid
|
|
101
|
+
* @param {String} nodeType node type
|
|
102
|
+
* @returns {Promise} a promise that resolves to a node object
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
function _getNodesByType() {
|
|
107
|
+
_getNodesByType = _asyncToGenerator(function* (nodeType) {
|
|
108
|
+
var urlString = _util.default.format(queryAllNodesByTypeURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(), nodeType);
|
|
109
|
+
|
|
110
|
+
var response = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).get(urlString, {
|
|
111
|
+
withCredentials: true
|
|
112
|
+
});
|
|
113
|
+
return response.data.result;
|
|
114
|
+
});
|
|
115
|
+
return _getNodesByType.apply(this, arguments);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function getNode(_x2, _x3) {
|
|
119
|
+
return _getNode.apply(this, arguments);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Put node by uuid and type
|
|
123
|
+
* @param {String} nodeId node uuid
|
|
124
|
+
* @param {String} nodeType node type
|
|
125
|
+
* @param {Object} nodeData node object
|
|
126
|
+
* @returns {Promise} a promise that resolves to an object containing a node object
|
|
127
|
+
*/
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
function _getNode() {
|
|
131
|
+
_getNode = _asyncToGenerator(function* (nodeId, nodeType) {
|
|
132
|
+
var urlString = _util.default.format(nodeURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(), nodeType, nodeId);
|
|
133
|
+
|
|
134
|
+
var {
|
|
135
|
+
data
|
|
136
|
+
} = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).get(urlString, {
|
|
137
|
+
withCredentials: true
|
|
138
|
+
});
|
|
139
|
+
return data;
|
|
140
|
+
});
|
|
141
|
+
return _getNode.apply(this, arguments);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function putNode(_x4, _x5, _x6) {
|
|
145
|
+
return _putNode.apply(this, arguments);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Delete node by uuid and type
|
|
149
|
+
* @param {String} nodeId node uuid
|
|
150
|
+
* @param {String} nodeType node type
|
|
151
|
+
* @returns {Promise} a promise that resolves to an object containing a node object
|
|
152
|
+
*/
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
function _putNode() {
|
|
156
|
+
_putNode = _asyncToGenerator(function* (nodeId, nodeType, nodeData) {
|
|
157
|
+
// until we figure out a way to use transport keys in Frodo,
|
|
158
|
+
// we'll have to drop those encrypted attributes.
|
|
159
|
+
var cleanData = (0, _ApiUtils.deleteDeepByKey)(nodeData, '-encrypted');
|
|
160
|
+
|
|
161
|
+
var urlString = _util.default.format(nodeURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(), nodeType, nodeId);
|
|
162
|
+
|
|
163
|
+
var {
|
|
164
|
+
data
|
|
165
|
+
} = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).put(urlString, cleanData, {
|
|
166
|
+
withCredentials: true
|
|
167
|
+
});
|
|
168
|
+
return data;
|
|
169
|
+
});
|
|
170
|
+
return _putNode.apply(this, arguments);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function deleteNode(_x7, _x8) {
|
|
174
|
+
return _deleteNode.apply(this, arguments);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
function _deleteNode() {
|
|
178
|
+
_deleteNode = _asyncToGenerator(function* (nodeId, nodeType) {
|
|
179
|
+
var urlString = _util.default.format(nodeURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(), nodeType, nodeId);
|
|
180
|
+
|
|
181
|
+
var {
|
|
182
|
+
data
|
|
183
|
+
} = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).delete(urlString, {
|
|
184
|
+
withCredentials: true
|
|
185
|
+
});
|
|
186
|
+
return data;
|
|
187
|
+
});
|
|
188
|
+
return _deleteNode.apply(this, arguments);
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=NodeApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeApi.js","names":["queryAllNodeTypesURLTemplate","queryAllNodesByTypeURLTemplate","queryAllNodesURLTemplate","nodeURLTemplate","apiVersion","getNodeApiConfig","configPath","getCurrentRealmPath","path","getNodeTypes","urlString","util","format","storage","session","getTenant","response","generateAmApi","post","withCredentials","headers","data","result","getNodes","getNodesByType","nodeType","get","getNode","nodeId","putNode","nodeData","cleanData","deleteDeepByKey","put","deleteNode","delete"],"sources":["api/NodeApi.ts"],"sourcesContent":["import util from 'util';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst queryAllNodeTypesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes';\nconst queryAllNodesByTypeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s?_queryFilter=true';\nconst queryAllNodesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents';\nconst nodeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s/%s';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getNodeApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get all node types\n * @returns {Promise} a promise that resolves to an array of node type objects\n */\nexport async function getNodeTypes() {\n const urlString = util.format(\n queryAllNodeTypesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const response = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return response.data.result;\n}\n\n/**\n * Get all nodes\n * @returns {Promise} a promise that resolves to an array of node objects\n */\nexport async function getNodes() {\n const urlString = util.format(\n queryAllNodesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const response = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return response.data.result;\n}\n\n/**\n * Get all nodes by type\n * @param {string} nodeType node type\n * @returns {Promise} a promise that resolves to an array of node objects of the requested type\n */\nexport async function getNodesByType(nodeType: string) {\n const urlString = util.format(\n queryAllNodesByTypeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType\n );\n const response = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return response.data.result;\n}\n\n/**\n * Get node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to a node object\n */\nexport async function getNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @param {Object} nodeData node object\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function putNode(nodeId: string, nodeType: string, nodeData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(nodeData, '-encrypted');\n const urlString = util.format(\n nodeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function deleteNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeApi.test.js","names":["__dirname","path","dirname","fileURLToPath","mock","MockAdapter","axios","state","default","session","setTenant","setRealm","setCookieName","setCookieValue","describe","test","response","JSON","parse","fs","readFileSync","resolve","onPost","reply","types","NodeRaw","getNodeTypes","expect","toBeTruthy","length","toBe","onGet","nodes","getNodesByType","node","getNode","toMatchObject","code","reason","message","assertions","error","data","nodeData","onPut","putNode","onDelete","deleteNode","_id","toEqual"],"sources":["api/NodeApi.test.ts"],"sourcesContent":["import axios from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport { NodeRaw, 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('');\nstate.default.session.setRealm('alpha');\nstate.default.session.setCookieName('cookieName');\nstate.default.session.setCookieValue('cookieValue');\n\ndescribe('NodeApi - getNodeTypes()', () => {\n test('getNodeTypes() 1: Get all node types', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/getNodeTypes/types.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes'\n )\n .reply(200, response);\n const types = await NodeRaw.getNodeTypes();\n expect(types).toBeTruthy();\n expect(types.length).toBe(99);\n });\n});\n\ndescribe('NodeApi - getNodesByType()', () => {\n test('getNodesByType() 1: Get all page nodes', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/getNodesByType/PageNode.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode?_queryFilter=true'\n )\n .reply(200, response);\n const nodes = await NodeRaw.getNodesByType('PageNode');\n expect(nodes).toBeTruthy();\n expect(nodes.length).toBe(161);\n });\n});\n\ndescribe('NodeApi - getNode()', () => {\n test('getNode() 1: Get existing page node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/getNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae'\n )\n .reply(200, response);\n const node = await NodeRaw.getNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode'\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(response);\n });\n\n test('getNode() 2: Get non-existing page node [00000000-0000-0000-0000-000000000000]', async () => {\n mock\n .onGet(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/00000000-0000-0000-0000-000000000000'\n )\n .reply(404, {\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n expect.assertions(2);\n try {\n await NodeRaw.getNode('00000000-0000-0000-0000-000000000000', 'PageNode');\n } catch (error) {\n expect(error.response).toBeTruthy();\n expect(error.response.data).toMatchObject({\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n }\n });\n});\n\ndescribe('NodeApi - putNode()', () => {\n test('putNode() 1: Create page node [0ad90971-d08a-4af3-86f3-01729572dc8f]', async () => {\n const nodeData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/putNode/PageNode_0ad90971-d08a-4af3-86f3-01729572dc8f.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/0ad90971-d08a-4af3-86f3-01729572dc8f'\n )\n .reply(201, nodeData);\n const node = await NodeRaw.putNode(\n '0ad90971-d08a-4af3-86f3-01729572dc8f',\n 'PageNode',\n nodeData\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(nodeData);\n });\n\n test('putNode() 1: Update existing page node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const nodeData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/putNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae'\n )\n .reply(200, nodeData);\n const node = await NodeRaw.putNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode',\n nodeData\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(nodeData);\n });\n});\n\ndescribe('NodeApi - deleteNode()', () => {\n test('deleteNode() 1: Delete existing node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/deleteNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onDelete(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae'\n )\n .reply(200, response);\n const node = await NodeRaw.deleteNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode'\n );\n expect(node).toBeTruthy();\n expect(node._id).toEqual('1aea363f-d8d2-4711-b88d-d58fff92dbae');\n });\n\n test('deleteNode() 2: Delete non-existing node [00000000-0000-0000-0000-000000000000]', async () => {\n mock\n .onDelete(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/00000000-0000-0000-0000-000000000000'\n )\n .reply(404, {\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n expect.assertions(2);\n try {\n await NodeRaw.deleteNode(\n '00000000-0000-0000-0000-000000000000',\n 'PageNode'\n );\n } catch (error) {\n expect(error.response).toBeTruthy();\n expect(error.response.data).toMatchObject({\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n }\n });\n});\n"],"mappings":"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"}
|
|
@@ -87,7 +87,9 @@ function putOAuth2Client(_x2, _x3) {
|
|
|
87
87
|
|
|
88
88
|
function _putOAuth2Client() {
|
|
89
89
|
_putOAuth2Client = _asyncToGenerator(function* (id, data) {
|
|
90
|
-
|
|
90
|
+
// until we figure out a way to use transport keys in Frodo,
|
|
91
|
+
// we'll have to drop those encrypted attributes.
|
|
92
|
+
var client = (0, _ApiUtils.deleteDeepByKey)(data, '-encrypted');
|
|
91
93
|
delete client._provider;
|
|
92
94
|
delete client._rev;
|
|
93
95
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OAuth2ClientApi.js","names":["oauth2ClientURLTemplate","oauth2ClientListURLTemplate","apiVersion","getApiConfig","configPath","getCurrentRealmPath","path","getOAuth2Clients","urlString","util","format","storage","session","getTenant","generateAmApi","get","withCredentials","getOAuth2Client","id","putOAuth2Client","data","client","_provider","_rev","put"],"sources":["api/OAuth2ClientApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst oauth2ClientURLTemplate = '%s/json%s/realm-config/agents/OAuth2Client/%s';\nconst oauth2ClientListURLTemplate =\n '%s/json%s/realm-config/agents/OAuth2Client?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/agents/OAuth2Client`,\n apiVersion,\n };\n};\n\n/**\n * Get OAuth2 Clients\n * @returns {Promise} a promise that resolves to an object containing an array of oauth2client objects\n */\nexport async function getOAuth2Clients() {\n const urlString = util.format(\n oauth2ClientListURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get OAuth2 Client\n * @param {String} id client id\n * @returns {Promise} a promise that resolves to an object containing an oauth2client object\n */\nexport async function getOAuth2Client(id) {\n const urlString = util.format(\n oauth2ClientURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n id\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Put OAuth2 Client\n * @param {String} id client id\n * @param {Object} data oauth2client object\n * @returns {Promise} a promise that resolves to an object containing an oauth2client object\n */\nexport async function putOAuth2Client(id, data) {\n const client = data;\n delete client._provider;\n delete client._rev;\n const urlString = util.format(\n oauth2ClientURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n id\n );\n return generateAmApi(getApiConfig()).put(urlString, client, {\n withCredentials: true,\n });\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,uBAAuB,GAAG,+CAAhC;AACA,IAAMC,2BAA2B,GAC/B,8DADF;AAEA,IAAMC,UAAU,GAAG,2BAAnB;;AACA,IAAMC,YAAY,GAAG,MAAM;EACzB,IAAMC,UAAU,GAAG,IAAAC,6BAAA,GAAnB;EACA,OAAO;IACLC,IAAI,YAAKF,UAAL,sCADC;IAELF;EAFK,CAAP;AAID,CAND;AAQA;AACA;AACA;AACA;;;SACsBK,gB;;;AAWtB;AACA;AACA;AACA;AACA;;;;wCAfO,aAAkC;IACvC,IAAMC,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBT,2BADgB,EAEhBU,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,CAAlB;;IAKA,OAAO,IAAAS,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCP,SAAlC,EAA6C;MAClDQ,eAAe,EAAE;IADiC,CAA7C,CAAP;EAGD,C;;;;SAOqBC,e;;;AAYtB;AACA;AACA;AACA;AACA;AACA;;;;uCAjBO,WAA+BC,EAA/B,EAAmC;IACxC,IAAMV,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBV,uBADgB,EAEhBW,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBa,EAJgB,CAAlB;;IAMA,OAAO,IAAAJ,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCP,SAAlC,EAA6C;MAClDQ,eAAe,EAAE;IADiC,CAA7C,CAAP;EAGD,C;;;;SAQqBG,e;;;;;uCAAf,WAA+BD,EAA/B,EAAmCE,IAAnC,EAAyC;IAC9C,IAAMC,MAAM,
|
|
1
|
+
{"version":3,"file":"OAuth2ClientApi.js","names":["oauth2ClientURLTemplate","oauth2ClientListURLTemplate","apiVersion","getApiConfig","configPath","getCurrentRealmPath","path","getOAuth2Clients","urlString","util","format","storage","session","getTenant","generateAmApi","get","withCredentials","getOAuth2Client","id","putOAuth2Client","data","client","deleteDeepByKey","_provider","_rev","put"],"sources":["api/OAuth2ClientApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst oauth2ClientURLTemplate = '%s/json%s/realm-config/agents/OAuth2Client/%s';\nconst oauth2ClientListURLTemplate =\n '%s/json%s/realm-config/agents/OAuth2Client?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/agents/OAuth2Client`,\n apiVersion,\n };\n};\n\n/**\n * Get OAuth2 Clients\n * @returns {Promise} a promise that resolves to an object containing an array of oauth2client objects\n */\nexport async function getOAuth2Clients() {\n const urlString = util.format(\n oauth2ClientListURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get OAuth2 Client\n * @param {String} id client id\n * @returns {Promise} a promise that resolves to an object containing an oauth2client object\n */\nexport async function getOAuth2Client(id) {\n const urlString = util.format(\n oauth2ClientURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n id\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Put OAuth2 Client\n * @param {String} id client id\n * @param {Object} data oauth2client object\n * @returns {Promise} a promise that resolves to an object containing an oauth2client object\n */\nexport async function putOAuth2Client(id, data) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const client = deleteDeepByKey(data, '-encrypted');\n delete client._provider;\n delete client._rev;\n const urlString = util.format(\n oauth2ClientURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n id\n );\n return generateAmApi(getApiConfig()).put(urlString, client, {\n withCredentials: true,\n });\n}\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,uBAAuB,GAAG,+CAAhC;AACA,IAAMC,2BAA2B,GAC/B,8DADF;AAEA,IAAMC,UAAU,GAAG,2BAAnB;;AACA,IAAMC,YAAY,GAAG,MAAM;EACzB,IAAMC,UAAU,GAAG,IAAAC,6BAAA,GAAnB;EACA,OAAO;IACLC,IAAI,YAAKF,UAAL,sCADC;IAELF;EAFK,CAAP;AAID,CAND;AAQA;AACA;AACA;AACA;;;SACsBK,gB;;;AAWtB;AACA;AACA;AACA;AACA;;;;wCAfO,aAAkC;IACvC,IAAMC,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBT,2BADgB,EAEhBU,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,CAAlB;;IAKA,OAAO,IAAAS,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCP,SAAlC,EAA6C;MAClDQ,eAAe,EAAE;IADiC,CAA7C,CAAP;EAGD,C;;;;SAOqBC,e;;;AAYtB;AACA;AACA;AACA;AACA;AACA;;;;uCAjBO,WAA+BC,EAA/B,EAAmC;IACxC,IAAMV,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBV,uBADgB,EAEhBW,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBa,EAJgB,CAAlB;;IAMA,OAAO,IAAAJ,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCP,SAAlC,EAA6C;MAClDQ,eAAe,EAAE;IADiC,CAA7C,CAAP;EAGD,C;;;;SAQqBG,e;;;;;uCAAf,WAA+BD,EAA/B,EAAmCE,IAAnC,EAAyC;IAC9C;IACA;IACA,IAAMC,MAAM,GAAG,IAAAC,yBAAA,EAAgBF,IAAhB,EAAsB,YAAtB,CAAf;IACA,OAAOC,MAAM,CAACE,SAAd;IACA,OAAOF,MAAM,CAACG,IAAd;;IACA,IAAMhB,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBV,uBADgB,EAEhBW,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBa,EAJgB,CAAlB;;IAMA,OAAO,IAAAJ,sBAAA,EAAcX,YAAY,EAA1B,EAA8BsB,GAA9B,CAAkCjB,SAAlC,EAA6Ca,MAA7C,EAAqD;MAC1DL,eAAe,EAAE;IADyC,CAArD,CAAP;EAGD,C"}
|