@rockcarver/frodo-lib 0.11.1-2 → 0.11.1-5
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 +17 -1
- package/README.md +2 -2
- package/cjs/api/AuthenticateApi.js +47 -0
- package/cjs/api/AuthenticateApi.js.map +1 -0
- package/cjs/api/BaseApi.js +275 -0
- package/cjs/api/BaseApi.js.map +1 -0
- package/cjs/api/CirclesOfTrustApi.js +93 -0
- package/cjs/api/CirclesOfTrustApi.js.map +1 -0
- package/cjs/api/EmailTemplateApi.js +48 -0
- package/cjs/api/EmailTemplateApi.js.map +1 -0
- package/cjs/api/IdmConfigApi.js +90 -0
- package/cjs/api/IdmConfigApi.js.map +1 -0
- package/cjs/api/LogApi.js +55 -0
- package/cjs/api/LogApi.js.map +1 -0
- package/cjs/api/ManagedObjectApi.js +66 -0
- package/cjs/api/ManagedObjectApi.js.map +1 -0
- package/cjs/api/OAuth2ClientApi.js +77 -0
- package/cjs/api/OAuth2ClientApi.js.map +1 -0
- package/cjs/api/OAuth2OIDCApi.js +83 -0
- package/cjs/api/OAuth2OIDCApi.js.map +1 -0
- package/cjs/api/OAuth2ProviderApi.js +42 -0
- package/cjs/api/OAuth2ProviderApi.js.map +1 -0
- package/cjs/api/RealmApi.js +107 -0
- package/cjs/api/RealmApi.js.map +1 -0
- package/cjs/api/Saml2Api.js +177 -0
- package/cjs/api/Saml2Api.js.map +1 -0
- package/cjs/api/ScriptApi.js +89 -0
- package/cjs/api/ScriptApi.js.map +1 -0
- package/cjs/api/SecretsApi.js +136 -0
- package/cjs/api/SecretsApi.js.map +1 -0
- package/cjs/api/ServerInfoApi.js +51 -0
- package/cjs/api/ServerInfoApi.js.map +1 -0
- package/cjs/api/SocialIdentityProvidersApi.js +110 -0
- package/cjs/api/SocialIdentityProvidersApi.js.map +1 -0
- package/cjs/api/StartupApi.js +61 -0
- package/cjs/api/StartupApi.js.map +1 -0
- package/cjs/api/ThemeApi.js +207 -0
- package/cjs/api/ThemeApi.js.map +1 -0
- package/cjs/api/TreeApi.js +189 -0
- package/cjs/api/TreeApi.js.map +1 -0
- package/cjs/api/VariablesApi.js +114 -0
- package/cjs/api/VariablesApi.js.map +1 -0
- package/cjs/api/utils/ApiUtils.js +107 -0
- package/cjs/api/utils/ApiUtils.js.map +1 -0
- package/cjs/api/utils/ApiUtils.test.js +97 -0
- package/cjs/api/utils/ApiUtils.test.js.map +1 -0
- package/cjs/api/utils/Base64.js +79 -0
- package/cjs/api/utils/Base64.js.map +1 -0
- package/cjs/index.js +109 -0
- package/cjs/index.js.map +1 -0
- package/cjs/index.test.js +16 -0
- package/cjs/index.test.js.map +1 -0
- package/cjs/ops/AdminOps.js +814 -0
- package/cjs/ops/AdminOps.js.map +1 -0
- package/cjs/ops/AuthenticateOps.js +385 -0
- package/cjs/ops/AuthenticateOps.js.map +1 -0
- package/cjs/ops/AuthenticateOps.test.js +21 -0
- package/cjs/ops/AuthenticateOps.test.js.map +1 -0
- package/cjs/ops/CirclesOfTrustOps.js +365 -0
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -0
- package/cjs/ops/ConnectionProfileOps.js +267 -0
- package/cjs/ops/ConnectionProfileOps.js.map +1 -0
- package/cjs/ops/ConnectionProfileOps.test.js +96 -0
- package/cjs/ops/ConnectionProfileOps.test.js.map +1 -0
- package/cjs/ops/EmailTemplateOps.js +307 -0
- package/cjs/ops/EmailTemplateOps.js.map +1 -0
- package/cjs/ops/IdmOps.js +212 -0
- package/cjs/ops/IdmOps.js.map +1 -0
- package/cjs/ops/IdpOps.js +344 -0
- package/cjs/ops/IdpOps.js.map +1 -0
- package/cjs/ops/JourneyOps.js +1579 -0
- package/cjs/ops/JourneyOps.js.map +1 -0
- package/cjs/ops/LogOps.js +156 -0
- package/cjs/ops/LogOps.js.map +1 -0
- package/cjs/ops/ManagedObjectOps.js +42 -0
- package/cjs/ops/ManagedObjectOps.js.map +1 -0
- package/cjs/ops/OAuth2ClientOps.js +150 -0
- package/cjs/ops/OAuth2ClientOps.js.map +1 -0
- package/cjs/ops/OrganizationOps.js +90 -0
- package/cjs/ops/OrganizationOps.js.map +1 -0
- package/cjs/ops/RealmOps.js +126 -0
- package/cjs/ops/RealmOps.js.map +1 -0
- package/cjs/ops/SamlOps.js +544 -0
- package/cjs/ops/SamlOps.js.map +1 -0
- package/cjs/ops/ScriptOps.js +224 -0
- package/cjs/ops/ScriptOps.js.map +1 -0
- package/cjs/ops/SecretsOps.js +273 -0
- package/cjs/ops/SecretsOps.js.map +1 -0
- package/cjs/ops/StartupOps.js +103 -0
- package/cjs/ops/StartupOps.js.map +1 -0
- package/cjs/ops/ThemeOps.js +378 -0
- package/cjs/ops/ThemeOps.js.map +1 -0
- package/cjs/ops/VariablesOps.js +168 -0
- package/cjs/ops/VariablesOps.js.map +1 -0
- package/cjs/ops/templates/OAuth2ClientTemplate.json +270 -0
- package/cjs/ops/templates/OrgModelUserAttributesTemplate.json +149 -0
- package/cjs/ops/templates/cloud/GenericExtensionAttributesTemplate.json +392 -0
- package/cjs/ops/templates/cloud/managed.json +4119 -0
- package/cjs/ops/utils/Console.js +532 -0
- package/cjs/ops/utils/Console.js.map +1 -0
- package/cjs/ops/utils/DataProtection.js +123 -0
- package/cjs/ops/utils/DataProtection.js.map +1 -0
- package/cjs/ops/utils/DataProtection.test.js +29 -0
- package/cjs/ops/utils/DataProtection.test.js.map +1 -0
- package/cjs/ops/utils/ExportImportUtils.js +177 -0
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -0
- package/cjs/ops/utils/ExportImportUtils.test.js +98 -0
- package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -0
- package/cjs/ops/utils/OpsUtils.js +110 -0
- package/cjs/ops/utils/OpsUtils.js.map +1 -0
- package/cjs/ops/utils/Wordwrap.js +12 -0
- package/cjs/ops/utils/Wordwrap.js.map +1 -0
- package/cjs/storage/SessionStorage.js +55 -0
- package/cjs/storage/SessionStorage.js.map +1 -0
- package/cjs/storage/StaticStorage.js +31 -0
- package/cjs/storage/StaticStorage.js.map +1 -0
- package/package.json +43 -13
- package/src/api/{AuthenticateApi.js → AuthenticateApi.mjs} +2 -2
- package/src/api/{BaseApi.js → BaseApi.mjs} +2 -2
- package/src/api/{CirclesOfTrustApi.js → CirclesOfTrustApi.mjs} +3 -3
- package/src/api/{EmailTemplateApi.js → EmailTemplateApi.mjs} +1 -1
- package/src/api/{IdmConfigApi.js → IdmConfigApi.mjs} +3 -3
- package/src/api/{LogApi.js → LogApi.mjs} +3 -3
- package/src/api/{ManagedObjectApi.js → ManagedObjectApi.mjs} +3 -3
- package/src/api/{OAuth2ClientApi.js → OAuth2ClientApi.mjs} +3 -3
- package/src/api/{OAuth2OIDCApi.js → OAuth2OIDCApi.mjs} +4 -4
- package/src/api/{OAuth2ProviderApi.js → OAuth2ProviderApi.mjs} +3 -3
- package/src/api/{RealmApi.js → RealmApi.mjs} +3 -3
- package/src/api/{Saml2Api.js → Saml2Api.mjs} +3 -3
- package/src/api/{ScriptApi.js → ScriptApi.mjs} +3 -3
- package/src/api/{SecretsApi.js → SecretsApi.mjs} +4 -4
- package/src/api/{ServerInfoApi.js → ServerInfoApi.mjs} +2 -2
- package/src/api/{SocialIdentityProvidersApi.js → SocialIdentityProvidersApi.mjs} +3 -3
- package/src/api/{StartupApi.js → StartupApi.mjs} +3 -3
- package/src/api/{ThemeApi.js → ThemeApi.mjs} +2 -2
- package/src/api/{TreeApi.js → TreeApi.mjs} +3 -3
- package/src/api/{VariablesApi.js → VariablesApi.mjs} +4 -4
- package/src/api/utils/{ApiUtils.js → ApiUtils.mjs} +1 -1
- package/src/api/utils/{ApiUtils.test.js → ApiUtils.test.mjs} +2 -5
- package/src/api/utils/{Base64.js → Base64.mjs} +0 -0
- package/src/index.mjs +38 -0
- package/src/{index.test.js → index.test.mjs} +1 -1
- package/src/ops/{AdminOps.js → AdminOps.mjs} +8 -8
- package/src/ops/{AuthenticateOps.js → AuthenticateOps.mjs} +8 -8
- package/src/ops/{AuthenticateOps.test.js → AuthenticateOps.test.mjs} +2 -2
- package/src/ops/{CirclesOfTrustOps.js → CirclesOfTrustOps.mjs} +3 -3
- package/src/ops/{ConnectionProfileOps.js → ConnectionProfileOps.mjs} +4 -8
- package/src/ops/{ConnectionProfileOps.test.js → ConnectionProfileOps.test.mjs} +3 -3
- package/src/ops/{EmailTemplateOps.js → EmailTemplateOps.mjs} +4 -4
- package/src/ops/{IdmOps.js → IdmOps.mjs} +4 -4
- package/src/ops/{IdpOps.js → IdpOps.mjs} +5 -5
- package/src/ops/{JourneyOps.js → JourneyOps.mjs} +15 -15
- package/src/ops/{LogOps.js → LogOps.mjs} +15 -15
- package/src/ops/{ManagedObjectOps.js → ManagedObjectOps.mjs} +1 -1
- package/src/ops/{OAuth2ClientOps.js → OAuth2ClientOps.mjs} +6 -6
- package/src/ops/{OrganizationOps.js → OrganizationOps.mjs} +3 -3
- package/src/ops/{RealmOps.js → RealmOps.mjs} +2 -2
- package/src/ops/{SamlOps.js → SamlOps.mjs} +6 -6
- package/src/ops/{ScriptOps.js → ScriptOps.mjs} +6 -6
- package/src/ops/{SecretsOps.js → SecretsOps.mjs} +4 -4
- package/src/ops/{StartupOps.js → StartupOps.mjs} +5 -5
- package/src/ops/{ThemeOps.js → ThemeOps.mjs} +3 -3
- package/src/ops/{VariablesOps.js → VariablesOps.mjs} +5 -5
- package/src/ops/utils/{Console.js → Console.mjs} +1 -1
- package/src/ops/utils/{DataProtection.js → DataProtection.mjs} +3 -3
- package/src/ops/utils/{DataProtection.test.js → DataProtection.test.mjs} +1 -1
- package/src/ops/utils/{ExportImportUtils.js → ExportImportUtils.mjs} +4 -4
- package/src/ops/utils/{ExportImportUtils.test.js → ExportImportUtils.test.mjs} +1 -1
- package/src/ops/utils/{OpsUtils.js → OpsUtils.mjs} +12 -2
- package/src/ops/utils/{Wordwrap.js → Wordwrap.mjs} +0 -0
- package/src/storage/{SessionStorage.js → SessionStorage.mjs} +0 -0
- package/src/storage/{StaticStorage.js → StaticStorage.mjs} +0 -0
- package/.eslintrc +0 -32
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/README.md +0 -121
- package/.github/workflows/pipeline.yml +0 -277
- package/.prettierrc +0 -6
- package/CODE_OF_CONDUCT.md +0 -128
- package/docs/CONTRIBUTE.md +0 -96
- package/docs/PIPELINE.md +0 -169
- package/docs/images/npm_versioning_guidelines.png +0 -0
- package/docs/images/release_pipeline.png +0 -0
- package/jsconfig.json +0 -6
- package/resources/sampleEntitiesFile.json +0 -8
- package/resources/sampleEnvFile.env +0 -2
- package/src/index.js +0 -33
- package/test/e2e/setup.js +0 -104
- package/test/global/setup.js +0 -65
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.11.1-5] - 2022-08-21
|
|
11
|
+
|
|
12
|
+
## [0.11.1-4] - 2022-08-21
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- \#10: frodo-lib is now a hybrid npm package supporting both ES modules and CommonJS modules.
|
|
17
|
+
|
|
18
|
+
## [0.11.1-3] - 2022-08-18
|
|
19
|
+
|
|
10
20
|
## [0.11.1-2] - 2022-08-18
|
|
11
21
|
|
|
12
22
|
## [0.11.1-1] - 2022-08-18
|
|
@@ -417,7 +427,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
417
427
|
- Fixed problem with adding connection profiles
|
|
418
428
|
- Miscellaneous bug fixes
|
|
419
429
|
|
|
420
|
-
[Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-
|
|
430
|
+
[Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-5...HEAD
|
|
431
|
+
|
|
432
|
+
[0.11.1-5]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-4...v0.11.1-5
|
|
433
|
+
|
|
434
|
+
[0.11.1-4]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-3...v0.11.1-4
|
|
435
|
+
|
|
436
|
+
[0.11.1-3]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-2...v0.11.1-3
|
|
421
437
|
|
|
422
438
|
[0.11.1-2]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-1...v0.11.1-2
|
|
423
439
|
|
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!-- README.md for NPM; the one for GitHub is .github/README.md. -->
|
|
2
|
-
# Frodo Library
|
|
2
|
+
# Frodo Library
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
|
|
5
5
|
|
|
6
6
|
Frodo-lib powers [frodo-cli](https://github.com/rockcarver/frodo-cli), the command line tool to manage ForgeRock deployments.
|
|
7
7
|
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getRealmUrl = getRealmUrl;
|
|
7
|
+
exports.step = step;
|
|
8
|
+
|
|
9
|
+
var _util = _interopRequireDefault(require("util"));
|
|
10
|
+
|
|
11
|
+
var _BaseApi = require("./BaseApi");
|
|
12
|
+
|
|
13
|
+
var _SessionStorage = _interopRequireDefault(require("../storage/SessionStorage"));
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
|
|
17
|
+
const authenticateUrlTemplate = '%s/json%s/authenticate';
|
|
18
|
+
const apiVersion = 'resource=2.0, protocol=1.0';
|
|
19
|
+
|
|
20
|
+
const getApiConfig = () => ({
|
|
21
|
+
apiVersion
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const realmPathTemplate = '/realms/%s';
|
|
25
|
+
|
|
26
|
+
function getRealmUrl(realm) {
|
|
27
|
+
let localRealm = realm;
|
|
28
|
+
|
|
29
|
+
if (localRealm.startsWith('/') && localRealm.length > 1) {
|
|
30
|
+
localRealm = localRealm.substring(1);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
let realmPath = _util.default.format(realmPathTemplate, 'root');
|
|
34
|
+
|
|
35
|
+
if (localRealm !== '/') {
|
|
36
|
+
realmPath += _util.default.format(realmPathTemplate, localRealm);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return realmPath;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async function step(data = {}, config = {}) {
|
|
43
|
+
const urlString = _util.default.format(authenticateUrlTemplate, _SessionStorage.default.session.getTenant(), getRealmUrl('/'));
|
|
44
|
+
|
|
45
|
+
return (0, _BaseApi.generateAmApi)(getApiConfig()).post(urlString, data, config);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=AuthenticateApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthenticateApi.js","names":["authenticateUrlTemplate","apiVersion","getApiConfig","realmPathTemplate","getRealmUrl","realm","localRealm","startsWith","length","substring","realmPath","util","format","step","data","config","urlString","storage","session","getTenant","generateAmApi","post"],"sources":["api/AuthenticateApi.mjs"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst authenticateUrlTemplate = '%s/json%s/authenticate';\n\nconst apiVersion = 'resource=2.0, protocol=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\nconst realmPathTemplate = '/realms/%s';\n\nexport function getRealmUrl(realm) {\n let localRealm = realm;\n if (localRealm.startsWith('/') && localRealm.length > 1) {\n localRealm = localRealm.substring(1);\n }\n let realmPath = util.format(realmPathTemplate, 'root');\n if (localRealm !== '/') {\n realmPath += util.format(realmPathTemplate, localRealm);\n }\n return realmPath;\n}\n\nexport async function step(data = {}, config = {}) {\n const urlString = util.format(\n authenticateUrlTemplate,\n storage.session.getTenant(),\n getRealmUrl('/')\n );\n return generateAmApi(getApiConfig()).post(urlString, data, config);\n}\n"],"mappings":";;;;;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,uBAAuB,GAAG,wBAAhC;AAEA,MAAMC,UAAU,GAAG,4BAAnB;;AACA,MAAMC,YAAY,GAAG,OAAO;EAC1BD;AAD0B,CAAP,CAArB;;AAIA,MAAME,iBAAiB,GAAG,YAA1B;;AAEO,SAASC,WAAT,CAAqBC,KAArB,EAA4B;EACjC,IAAIC,UAAU,GAAGD,KAAjB;;EACA,IAAIC,UAAU,CAACC,UAAX,CAAsB,GAAtB,KAA8BD,UAAU,CAACE,MAAX,GAAoB,CAAtD,EAAyD;IACvDF,UAAU,GAAGA,UAAU,CAACG,SAAX,CAAqB,CAArB,CAAb;EACD;;EACD,IAAIC,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAAYT,iBAAZ,EAA+B,MAA/B,CAAhB;;EACA,IAAIG,UAAU,KAAK,GAAnB,EAAwB;IACtBI,SAAS,IAAIC,aAAA,CAAKC,MAAL,CAAYT,iBAAZ,EAA+BG,UAA/B,CAAb;EACD;;EACD,OAAOI,SAAP;AACD;;AAEM,eAAeG,IAAf,CAAoBC,IAAI,GAAG,EAA3B,EAA+BC,MAAM,GAAG,EAAxC,EAA4C;EACjD,MAAMC,SAAS,GAAGL,aAAA,CAAKC,MAAL,CAChBZ,uBADgB,EAEhBiB,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhBf,WAAW,CAAC,GAAD,CAHK,CAAlB;;EAKA,OAAO,IAAAgB,sBAAA,EAAclB,YAAY,EAA1B,EAA8BmB,IAA9B,CAAmCL,SAAnC,EAA8CF,IAA9C,EAAoDC,MAApD,CAAP;AACD"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.generateAmApi = generateAmApi;
|
|
7
|
+
exports.generateESVApi = generateESVApi;
|
|
8
|
+
exports.generateIdmApi = generateIdmApi;
|
|
9
|
+
exports.generateLogApi = generateLogApi;
|
|
10
|
+
exports.generateLogKeysApi = generateLogKeysApi;
|
|
11
|
+
exports.generateOauth2Api = generateOauth2Api;
|
|
12
|
+
|
|
13
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
14
|
+
|
|
15
|
+
var _axiosRetry = _interopRequireDefault(require("axios-retry"));
|
|
16
|
+
|
|
17
|
+
var https = _interopRequireWildcard(require("https"));
|
|
18
|
+
|
|
19
|
+
var _httpsProxyAgent = _interopRequireDefault(require("https-proxy-agent"));
|
|
20
|
+
|
|
21
|
+
var _url = _interopRequireDefault(require("url"));
|
|
22
|
+
|
|
23
|
+
var _fs = _interopRequireDefault(require("fs"));
|
|
24
|
+
|
|
25
|
+
var _SessionStorage = _interopRequireDefault(require("../storage/SessionStorage"));
|
|
26
|
+
|
|
27
|
+
var _ApiUtils = require("./utils/ApiUtils");
|
|
28
|
+
|
|
29
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
30
|
+
|
|
31
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
32
|
+
|
|
33
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
34
|
+
|
|
35
|
+
// import pkg from '../../package.json' assert { type: 'json' };
|
|
36
|
+
const pkg = JSON.parse(_fs.default.readFileSync(new URL('../../package.json', require('url').pathToFileURL(__filename).toString())));
|
|
37
|
+
(0, _axiosRetry.default)(_axios.default, {
|
|
38
|
+
retries: 3,
|
|
39
|
+
shouldResetTimeout: true,
|
|
40
|
+
// eslint-disable-next-line no-unused-vars
|
|
41
|
+
retryCondition: _error => true // retry no matter what
|
|
42
|
+
|
|
43
|
+
});
|
|
44
|
+
const timeout = 30000;
|
|
45
|
+
const userAgent = `${pkg.name}/${pkg.version}`;
|
|
46
|
+
let httpsAgent;
|
|
47
|
+
/**
|
|
48
|
+
* Helper method to create properly configured httpsAgent
|
|
49
|
+
* @returns {any} appropriate httpsAgent
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
function getHttpsAgent() {
|
|
53
|
+
if (httpsAgent) return httpsAgent;
|
|
54
|
+
const options = {
|
|
55
|
+
rejectUnauthorized: !_SessionStorage.default.session.getAllowInsecureConnection()
|
|
56
|
+
};
|
|
57
|
+
const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
|
|
58
|
+
|
|
59
|
+
if (httpsProxy) {
|
|
60
|
+
// https://github.com/axios/axios/issues/3459
|
|
61
|
+
console.error(`Using proxy ${httpsProxy}`.yellow);
|
|
62
|
+
|
|
63
|
+
const parsed = _url.default.parse(httpsProxy);
|
|
64
|
+
|
|
65
|
+
options.host = parsed.hostname;
|
|
66
|
+
options.port = parsed.port;
|
|
67
|
+
options.protocol = parsed.protocol;
|
|
68
|
+
options.rejectUnauthorized = !_SessionStorage.default.session.getAllowInsecureConnection();
|
|
69
|
+
httpsAgent = new _httpsProxyAgent.default(options);
|
|
70
|
+
return httpsAgent;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
httpsAgent = new https.Agent(options);
|
|
74
|
+
return httpsAgent;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function getProxy() {
|
|
78
|
+
if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Generates an AM Axios API instance
|
|
83
|
+
* @param {object} resource Takes an object takes a resource object. example:
|
|
84
|
+
* @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either
|
|
85
|
+
* add on extra information or override default properties https://github.com/axios/axios#request-config
|
|
86
|
+
*
|
|
87
|
+
* @returns {AxiosInstance}
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
function generateAmApi(resource, requestOverride = {}) {
|
|
92
|
+
let headers = {
|
|
93
|
+
'User-Agent': userAgent,
|
|
94
|
+
'Content-Type': 'application/json',
|
|
95
|
+
'Accept-API-Version': resource.apiVersion,
|
|
96
|
+
Cookie: `${_SessionStorage.default.session.raw.cookieName}=${_SessionStorage.default.session.raw.cookieValue}`
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
if (requestOverride.headers) {
|
|
100
|
+
headers = { ...headers,
|
|
101
|
+
...requestOverride.headers
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const requestDetails = {
|
|
106
|
+
baseURL: `${_SessionStorage.default.session.getTenant()}/json${resource.path}`,
|
|
107
|
+
timeout,
|
|
108
|
+
...requestOverride,
|
|
109
|
+
headers,
|
|
110
|
+
httpsAgent: getHttpsAgent(),
|
|
111
|
+
proxy: getProxy()
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
const request = _axios.default.create(requestDetails);
|
|
115
|
+
|
|
116
|
+
return request;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Generates an OAuth2 Axios API instance
|
|
120
|
+
* @param {object} resource Takes an object takes a resource object. example:
|
|
121
|
+
* @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either
|
|
122
|
+
* add on extra information or override default properties https://github.com/axios/axios#request-config
|
|
123
|
+
*
|
|
124
|
+
* @returns {AxiosInstance}
|
|
125
|
+
*/
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
function generateOauth2Api(resource, requestOverride = {}) {
|
|
129
|
+
let headers = {
|
|
130
|
+
'User-Agent': userAgent,
|
|
131
|
+
'Accept-API-Version': resource.apiVersion,
|
|
132
|
+
Cookie: `${_SessionStorage.default.session.raw.cookieName}=${_SessionStorage.default.session.raw.cookieValue}`
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
if (requestOverride.headers) {
|
|
136
|
+
headers = { ...headers,
|
|
137
|
+
...requestOverride.headers
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const requestDetails = {
|
|
142
|
+
baseURL: `${_SessionStorage.default.session.getTenant()}/json${resource.path}`,
|
|
143
|
+
timeout,
|
|
144
|
+
...requestOverride,
|
|
145
|
+
headers,
|
|
146
|
+
httpsAgent: getHttpsAgent(),
|
|
147
|
+
proxy: getProxy()
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
const request = _axios.default.create(requestDetails);
|
|
151
|
+
|
|
152
|
+
return request;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Generates an IDM Axios API instance
|
|
156
|
+
* @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add
|
|
157
|
+
* on extra information or override default properties https://github.com/axios/axios#request-config
|
|
158
|
+
*
|
|
159
|
+
* @returns {AxiosInstance}
|
|
160
|
+
*/
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
function generateIdmApi(requestOverride = {}) {
|
|
164
|
+
const requestDetails = {
|
|
165
|
+
baseURL: (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()),
|
|
166
|
+
timeout,
|
|
167
|
+
headers: {
|
|
168
|
+
'User-Agent': userAgent,
|
|
169
|
+
'Content-Type': 'application/json'
|
|
170
|
+
},
|
|
171
|
+
...requestOverride,
|
|
172
|
+
httpsAgent: getHttpsAgent(),
|
|
173
|
+
proxy: getProxy()
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
if (_SessionStorage.default.session.getBearerToken()) {
|
|
177
|
+
requestDetails.headers.Authorization = `Bearer ${_SessionStorage.default.session.getBearerToken()}`;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
const request = _axios.default.create(requestDetails);
|
|
181
|
+
|
|
182
|
+
return request;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Generates a LogKeys API Axios instance
|
|
186
|
+
* @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add
|
|
187
|
+
* on extra information or override default properties https://github.com/axios/axios#request-config
|
|
188
|
+
*
|
|
189
|
+
* @returns {AxiosInstance}
|
|
190
|
+
*/
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
function generateLogKeysApi(requestOverride = {}) {
|
|
194
|
+
const headers = {
|
|
195
|
+
'User-Agent': userAgent,
|
|
196
|
+
'Content-Type': 'application/json'
|
|
197
|
+
};
|
|
198
|
+
const requestDetails = {
|
|
199
|
+
baseURL: (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()),
|
|
200
|
+
timeout,
|
|
201
|
+
headers,
|
|
202
|
+
...requestOverride,
|
|
203
|
+
httpsAgent: getHttpsAgent(),
|
|
204
|
+
proxy: getProxy()
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
if (_SessionStorage.default.session.getBearerToken()) {
|
|
208
|
+
requestDetails.headers.Authorization = `Bearer ${_SessionStorage.default.session.getBearerToken()}`;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
const request = _axios.default.create(requestDetails);
|
|
212
|
+
|
|
213
|
+
return request;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Generates a Log API Axios instance
|
|
217
|
+
* @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add
|
|
218
|
+
* on extra information or override default properties https://github.com/axios/axios#request-config
|
|
219
|
+
*
|
|
220
|
+
* @returns {AxiosInstance}
|
|
221
|
+
*/
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
function generateLogApi(requestOverride = {}) {
|
|
225
|
+
const headers = {
|
|
226
|
+
'User-Agent': userAgent,
|
|
227
|
+
'X-API-Key': _SessionStorage.default.session.getLogApiKey(),
|
|
228
|
+
'X-API-Secret': _SessionStorage.default.session.getLogApiSecret()
|
|
229
|
+
};
|
|
230
|
+
const requestDetails = {
|
|
231
|
+
baseURL: (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()),
|
|
232
|
+
timeout,
|
|
233
|
+
headers,
|
|
234
|
+
...requestOverride,
|
|
235
|
+
httpsAgent: getHttpsAgent(),
|
|
236
|
+
proxy: getProxy()
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
const request = _axios.default.create(requestDetails);
|
|
240
|
+
|
|
241
|
+
return request;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Generates an ESV Axios API instance for Environment Secrets and Variables
|
|
245
|
+
* @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add
|
|
246
|
+
* on extra information or override default properties https://github.com/axios/axios#request-config
|
|
247
|
+
*
|
|
248
|
+
* @returns {AxiosInstance}
|
|
249
|
+
*/
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
function generateESVApi(resource, requestOverride = {}) {
|
|
253
|
+
const headers = {
|
|
254
|
+
'User-Agent': userAgent,
|
|
255
|
+
'Content-Type': 'application/json',
|
|
256
|
+
'Accept-API-Version': resource.apiVersion
|
|
257
|
+
};
|
|
258
|
+
const requestDetails = {
|
|
259
|
+
baseURL: (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()),
|
|
260
|
+
timeout,
|
|
261
|
+
headers,
|
|
262
|
+
...requestOverride,
|
|
263
|
+
httpsAgent: getHttpsAgent(),
|
|
264
|
+
proxy: getProxy()
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
if (_SessionStorage.default.session.getBearerToken()) {
|
|
268
|
+
requestDetails.headers.Authorization = `Bearer ${_SessionStorage.default.session.getBearerToken()}`;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
const request = _axios.default.create(requestDetails);
|
|
272
|
+
|
|
273
|
+
return request;
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=BaseApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseApi.js","names":["pkg","JSON","parse","fs","readFileSync","URL","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","yellow","parsed","url","host","hostname","port","protocol","HttpsProxyAgent","https","Agent","getProxy","generateAmApi","resource","requestOverride","headers","apiVersion","Cookie","raw","cookieName","cookieValue","requestDetails","baseURL","getTenant","path","proxy","request","create","generateOauth2Api","generateIdmApi","getTenantURL","getBearerToken","Authorization","generateLogKeysApi","generateLogApi","getLogApiKey","getLogApiSecret","generateESVApi"],"sources":["api/BaseApi.mjs"],"sourcesContent":["import axios 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';\n// import pkg from '../../package.json' assert { type: 'json' };\n\nconst pkg = JSON.parse(\n fs.readFileSync(new URL('../../package.json', import.meta.url))\n);\n\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line no-unused-vars\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 = new HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new https.Agent(options);\n return httpsAgent;\n}\n\nfunction getProxy() {\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.Authorization = `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.Authorization = `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.Authorization = `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,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createCircleOfTrust = createCircleOfTrust;
|
|
7
|
+
exports.getCircleOfTrust = getCircleOfTrust;
|
|
8
|
+
exports.getCirclesOfTrust = getCirclesOfTrust;
|
|
9
|
+
exports.updateCircleOfTrust = updateCircleOfTrust;
|
|
10
|
+
|
|
11
|
+
var _util = _interopRequireDefault(require("util"));
|
|
12
|
+
|
|
13
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
14
|
+
|
|
15
|
+
var _BaseApi = require("./BaseApi");
|
|
16
|
+
|
|
17
|
+
var _ApiUtils = require("./utils/ApiUtils");
|
|
18
|
+
|
|
19
|
+
var _SessionStorage = _interopRequireDefault(require("../storage/SessionStorage"));
|
|
20
|
+
|
|
21
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
+
|
|
23
|
+
const circleOfTrustByIdURLTemplate = '%s/json%s/realm-config/federation/circlesoftrust/%s';
|
|
24
|
+
const createCircleOfTrustURLTemplate = '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';
|
|
25
|
+
const queryAllCirclesOfTrustURLTemplate = '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';
|
|
26
|
+
const apiVersion = 'protocol=2.1,resource=1.0';
|
|
27
|
+
|
|
28
|
+
const getApiConfig = () => {
|
|
29
|
+
const configPath = (0, _ApiUtils.getCurrentRealmPath)();
|
|
30
|
+
return {
|
|
31
|
+
path: `${configPath}/realm-config/federation/circlesoftrust`,
|
|
32
|
+
apiVersion
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Get all SAML2 circles of trust
|
|
37
|
+
* @returns {Promise} a promise that resolves to an array of circles of trust objects
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
async function getCirclesOfTrust() {
|
|
42
|
+
const urlString = _util.default.format(queryAllCirclesOfTrustURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)());
|
|
43
|
+
|
|
44
|
+
return (0, _BaseApi.generateAmApi)(getApiConfig()).get(urlString, {
|
|
45
|
+
withCredentials: true
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get SAML2 circle of trust by id/name
|
|
50
|
+
* @param {String} cotId Circle of trust id/name
|
|
51
|
+
* @returns {Promise} a promise that resolves to a saml2 circle of trust object
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
async function getCircleOfTrust(cotId) {
|
|
56
|
+
const urlString = _util.default.format(circleOfTrustByIdURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(), cotId);
|
|
57
|
+
|
|
58
|
+
return (0, _BaseApi.generateAmApi)(getApiConfig()).get(urlString, {
|
|
59
|
+
withCredentials: true
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Create a SAML2 circle of trust
|
|
64
|
+
* @param {Object} cotData Object representing a SAML circle of trust
|
|
65
|
+
* @returns {Promise} a promise that resolves to a saml2 circle of trust object
|
|
66
|
+
*/
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
async function createCircleOfTrust(cotData) {
|
|
70
|
+
const postData = _lodash.default.cloneDeep(cotData);
|
|
71
|
+
|
|
72
|
+
const urlString = _util.default.format(createCircleOfTrustURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(_SessionStorage.default.session.getRealm()));
|
|
73
|
+
|
|
74
|
+
return (0, _BaseApi.generateAmApi)(getApiConfig()).post(urlString, postData, {
|
|
75
|
+
withCredentials: true
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Update SAML2 circle of trust
|
|
80
|
+
* @param {String} cotId Entity provider location (hosted or remote)
|
|
81
|
+
* @param {Object} cotData Object representing a SAML2 circle of trust
|
|
82
|
+
* @returns {Promise} a promise that resolves to a saml2 circle of trust object
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
async function updateCircleOfTrust(cotId, cotData) {
|
|
87
|
+
const urlString = _util.default.format(circleOfTrustByIdURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(), cotId);
|
|
88
|
+
|
|
89
|
+
return (0, _BaseApi.generateAmApi)(getApiConfig()).put(urlString, cotData, {
|
|
90
|
+
withCredentials: true
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=CirclesOfTrustApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CirclesOfTrustApi.js","names":["circleOfTrustByIdURLTemplate","createCircleOfTrustURLTemplate","queryAllCirclesOfTrustURLTemplate","apiVersion","getApiConfig","configPath","getCurrentRealmPath","path","getCirclesOfTrust","urlString","util","format","storage","session","getTenant","generateAmApi","get","withCredentials","getCircleOfTrust","cotId","createCircleOfTrust","cotData","postData","_","cloneDeep","getRealm","post","updateCircleOfTrust","put"],"sources":["api/CirclesOfTrustApi.mjs"],"sourcesContent":["import util from 'util';\nimport _ from 'lodash';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst circleOfTrustByIdURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/%s';\nconst createCircleOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';\nconst queryAllCirclesOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/federation/circlesoftrust`,\n apiVersion,\n };\n};\n\n/**\n * Get all SAML2 circles of trust\n * @returns {Promise} a promise that resolves to an array of circles of trust objects\n */\nexport async function getCirclesOfTrust() {\n const urlString = util.format(\n queryAllCirclesOfTrustURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get SAML2 circle of trust by id/name\n * @param {String} cotId Circle of trust id/name\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function getCircleOfTrust(cotId) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n cotId\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Create a SAML2 circle of trust\n * @param {Object} cotData Object representing a SAML circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function createCircleOfTrust(cotData) {\n const postData = _.cloneDeep(cotData);\n const urlString = util.format(\n createCircleOfTrustURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(storage.session.getRealm())\n );\n return generateAmApi(getApiConfig()).post(urlString, postData, {\n withCredentials: true,\n });\n}\n\n/**\n * Update SAML2 circle of trust\n * @param {String} cotId Entity provider location (hosted or remote)\n * @param {Object} cotData Object representing a SAML2 circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function updateCircleOfTrust(cotId, cotData) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n cotId\n );\n return generateAmApi(getApiConfig()).put(urlString, cotData, {\n withCredentials: true,\n });\n}\n"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,4BAA4B,GAChC,qDADF;AAEA,MAAMC,8BAA8B,GAClC,kEADF;AAEA,MAAMC,iCAAiC,GACrC,oEADF;AAEA,MAAMC,UAAU,GAAG,2BAAnB;;AACA,MAAMC,YAAY,GAAG,MAAM;EACzB,MAAMC,UAAU,GAAG,IAAAC,6BAAA,GAAnB;EACA,OAAO;IACLC,IAAI,EAAG,GAAEF,UAAW,yCADf;IAELF;EAFK,CAAP;AAID,CAND;AAQA;AACA;AACA;AACA;;;AACO,eAAeK,iBAAf,GAAmC;EACxC,MAAMC,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBT,iCADgB,EAEhBU,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,CAAlB;;EAKA,OAAO,IAAAS,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCP,SAAlC,EAA6C;IAClDQ,eAAe,EAAE;EADiC,CAA7C,CAAP;AAGD;AAED;AACA;AACA;AACA;AACA;;;AACO,eAAeC,gBAAf,CAAgCC,KAAhC,EAAuC;EAC5C,MAAMV,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBX,4BADgB,EAEhBY,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBa,KAJgB,CAAlB;;EAMA,OAAO,IAAAJ,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCP,SAAlC,EAA6C;IAClDQ,eAAe,EAAE;EADiC,CAA7C,CAAP;AAGD;AAED;AACA;AACA;AACA;AACA;;;AACO,eAAeG,mBAAf,CAAmCC,OAAnC,EAA4C;EACjD,MAAMC,QAAQ,GAAGC,eAAA,CAAEC,SAAF,CAAYH,OAAZ,CAAjB;;EACA,MAAMZ,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBV,8BADgB,EAEhBW,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,EAAoBM,uBAAA,CAAQC,OAAR,CAAgBY,QAAhB,EAApB,CAHgB,CAAlB;;EAKA,OAAO,IAAAV,sBAAA,EAAcX,YAAY,EAA1B,EAA8BsB,IAA9B,CAAmCjB,SAAnC,EAA8Ca,QAA9C,EAAwD;IAC7DL,eAAe,EAAE;EAD4C,CAAxD,CAAP;AAGD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,eAAeU,mBAAf,CAAmCR,KAAnC,EAA0CE,OAA1C,EAAmD;EACxD,MAAMZ,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBX,4BADgB,EAEhBY,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBa,KAJgB,CAAlB;;EAMA,OAAO,IAAAJ,sBAAA,EAAcX,YAAY,EAA1B,EAA8BwB,GAA9B,CAAkCnB,SAAlC,EAA6CY,OAA7C,EAAsD;IAC3DJ,eAAe,EAAE;EAD0C,CAAtD,CAAP;AAGD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.EMAIL_TEMPLATE_TYPE = void 0;
|
|
7
|
+
exports.getEmailTemplate = getEmailTemplate;
|
|
8
|
+
exports.getEmailTemplates = getEmailTemplates;
|
|
9
|
+
exports.putEmailTemplate = putEmailTemplate;
|
|
10
|
+
|
|
11
|
+
var _IdmConfigApi = require("./IdmConfigApi");
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Email template type key used to build the IDM id: 'emailTemplate/<id>'
|
|
15
|
+
*/
|
|
16
|
+
const EMAIL_TEMPLATE_TYPE = 'emailTemplate';
|
|
17
|
+
/**
|
|
18
|
+
* Get all email templates
|
|
19
|
+
* @returns {Promise} a promise that resolves to an object containing an array of email template objects
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
exports.EMAIL_TEMPLATE_TYPE = EMAIL_TEMPLATE_TYPE;
|
|
23
|
+
|
|
24
|
+
async function getEmailTemplates() {
|
|
25
|
+
return (0, _IdmConfigApi.getConfigEntitiesByType)(EMAIL_TEMPLATE_TYPE);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get email template
|
|
29
|
+
* @param {String} id id/name of the email template without the type prefix
|
|
30
|
+
* @returns {Promise} a promise that resolves to an object containing the email template object
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
async function getEmailTemplate(id) {
|
|
35
|
+
return (0, _IdmConfigApi.getConfigEntity)(`${EMAIL_TEMPLATE_TYPE}/${id}`);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Put email template
|
|
39
|
+
* @param {String} id id/name of the email template without the type prefix
|
|
40
|
+
* @param {Object} data email template object
|
|
41
|
+
* @returns {Promise} a promise that resolves to an object containing the email template object
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
async function putEmailTemplate(id, data) {
|
|
46
|
+
return (0, _IdmConfigApi.putConfigEntity)(`${EMAIL_TEMPLATE_TYPE}/${id}`, data);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=EmailTemplateApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailTemplateApi.js","names":["EMAIL_TEMPLATE_TYPE","getEmailTemplates","getConfigEntitiesByType","getEmailTemplate","id","getConfigEntity","putEmailTemplate","data","putConfigEntity"],"sources":["api/EmailTemplateApi.mjs"],"sourcesContent":["import {\n getConfigEntitiesByType,\n getConfigEntity,\n putConfigEntity,\n} from './IdmConfigApi';\n\n/**\n * Email template type key used to build the IDM id: 'emailTemplate/<id>'\n */\nexport const EMAIL_TEMPLATE_TYPE = 'emailTemplate';\n\n/**\n * Get all email templates\n * @returns {Promise} a promise that resolves to an object containing an array of email template objects\n */\nexport async function getEmailTemplates() {\n return getConfigEntitiesByType(EMAIL_TEMPLATE_TYPE);\n}\n\n/**\n * Get email template\n * @param {String} id id/name of the email template without the type prefix\n * @returns {Promise} a promise that resolves to an object containing the email template object\n */\nexport async function getEmailTemplate(id) {\n return getConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${id}`);\n}\n\n/**\n * Put email template\n * @param {String} id id/name of the email template without the type prefix\n * @param {Object} data email template object\n * @returns {Promise} a promise that resolves to an object containing the email template object\n */\nexport async function putEmailTemplate(id, data) {\n return putConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${id}`, data);\n}\n"],"mappings":";;;;;;;;;;AAAA;;AAMA;AACA;AACA;AACO,MAAMA,mBAAmB,GAAG,eAA5B;AAEP;AACA;AACA;AACA;;;;AACO,eAAeC,iBAAf,GAAmC;EACxC,OAAO,IAAAC,qCAAA,EAAwBF,mBAAxB,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AACO,eAAeG,gBAAf,CAAgCC,EAAhC,EAAoC;EACzC,OAAO,IAAAC,6BAAA,EAAiB,GAAEL,mBAAoB,IAAGI,EAAG,EAA7C,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,eAAeE,gBAAf,CAAgCF,EAAhC,EAAoCG,IAApC,EAA0C;EAC/C,OAAO,IAAAC,6BAAA,EAAiB,GAAER,mBAAoB,IAAGI,EAAG,EAA7C,EAAgDG,IAAhD,CAAP;AACD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getAllConfigEntities = getAllConfigEntities;
|
|
7
|
+
exports.getConfigEntitiesByType = getConfigEntitiesByType;
|
|
8
|
+
exports.getConfigEntity = getConfigEntity;
|
|
9
|
+
exports.putConfigEntity = putConfigEntity;
|
|
10
|
+
exports.queryAllManagedObjectsByType = queryAllManagedObjectsByType;
|
|
11
|
+
|
|
12
|
+
var _util = _interopRequireDefault(require("util"));
|
|
13
|
+
|
|
14
|
+
var _BaseApi = require("./BaseApi");
|
|
15
|
+
|
|
16
|
+
var _ApiUtils = require("./utils/ApiUtils");
|
|
17
|
+
|
|
18
|
+
var _SessionStorage = _interopRequireDefault(require("../storage/SessionStorage"));
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
const idmAllConfigURLTemplate = '%s/openidm/config';
|
|
23
|
+
const idmConfigURLTemplate = '%s/openidm/config/%s';
|
|
24
|
+
const idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';
|
|
25
|
+
const idmManagedObjectURLTemplate = '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';
|
|
26
|
+
/**
|
|
27
|
+
* Get all IDM config entities
|
|
28
|
+
* @returns {Promise} a promise that resolves to an object containing all IDM config entities
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
async function getAllConfigEntities() {
|
|
32
|
+
const urlString = _util.default.format(idmAllConfigURLTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()));
|
|
33
|
+
|
|
34
|
+
return (0, _BaseApi.generateIdmApi)().get(urlString);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get IDM config entities by type
|
|
38
|
+
* @param {String} type the desired type of config entity
|
|
39
|
+
* @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
async function getConfigEntitiesByType(type) {
|
|
44
|
+
const urlString = _util.default.format(idmConfigEntityQueryTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), encodeURIComponent(`_id sw '${type}'`));
|
|
45
|
+
|
|
46
|
+
return (0, _BaseApi.generateIdmApi)().get(urlString);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get an IDM config entity
|
|
50
|
+
* @param {String} id the desired config entity
|
|
51
|
+
* @returns {Promise} a promise that resolves to an object containing an IDM config entity
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
async function getConfigEntity(id) {
|
|
56
|
+
const urlString = _util.default.format(idmConfigURLTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), id);
|
|
57
|
+
|
|
58
|
+
return (0, _BaseApi.generateIdmApi)().get(urlString);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Put IDM config entity
|
|
62
|
+
* @param {String} id config entity id
|
|
63
|
+
* @param {String} data config entity object
|
|
64
|
+
* @returns {Promise} a promise that resolves to an object containing an IDM config entity
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
async function putConfigEntity(id, data) {
|
|
69
|
+
const urlString = _util.default.format(idmConfigURLTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), id);
|
|
70
|
+
|
|
71
|
+
return (0, _BaseApi.generateIdmApi)().put(urlString, data);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Query managed objects
|
|
75
|
+
* @param {String} type managed object type
|
|
76
|
+
* @param {[String]} fields fields to retrieve
|
|
77
|
+
* @param {String} pageCookie paged results cookie
|
|
78
|
+
* @returns {Promise} a promise that resolves to an object containing managed objects of the desired type
|
|
79
|
+
*/
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
async function queryAllManagedObjectsByType(type, fields, pageCookie) {
|
|
83
|
+
const fieldsParam = fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';
|
|
84
|
+
const urlTemplate = pageCookie ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(pageCookie)}` : `${idmManagedObjectURLTemplate}${fieldsParam}`;
|
|
85
|
+
|
|
86
|
+
const urlString = _util.default.format(urlTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), type);
|
|
87
|
+
|
|
88
|
+
return (0, _BaseApi.generateIdmApi)().get(urlString);
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=IdmConfigApi.js.map
|