@rockcarver/frodo-lib 0.11.1-6 → 0.12.0

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.
Files changed (175) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/cjs/api/AuthenticateApi.js +9 -25
  3. package/cjs/api/AuthenticateApi.js.map +1 -1
  4. package/cjs/api/BaseApi.js +60 -94
  5. package/cjs/api/BaseApi.js.map +1 -1
  6. package/cjs/api/CirclesOfTrustApi.js +19 -43
  7. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  8. package/cjs/api/EmailTemplateApi.js +9 -23
  9. package/cjs/api/EmailTemplateApi.js.map +1 -1
  10. package/cjs/api/IdmConfigApi.js +20 -47
  11. package/cjs/api/IdmConfigApi.js.map +1 -1
  12. package/cjs/api/LogApi.js +16 -39
  13. package/cjs/api/LogApi.js.map +1 -1
  14. package/cjs/api/ManagedObjectApi.js +13 -35
  15. package/cjs/api/ManagedObjectApi.js.map +1 -1
  16. package/cjs/api/OAuth2ClientApi.js +14 -35
  17. package/cjs/api/OAuth2ClientApi.js.map +1 -1
  18. package/cjs/api/OAuth2OIDCApi.js +16 -38
  19. package/cjs/api/OAuth2OIDCApi.js.map +1 -1
  20. package/cjs/api/OAuth2ProviderApi.js +8 -23
  21. package/cjs/api/OAuth2ProviderApi.js.map +1 -1
  22. package/cjs/api/RealmApi.js +19 -44
  23. package/cjs/api/RealmApi.js.map +1 -1
  24. package/cjs/api/Saml2Api.js +28 -60
  25. package/cjs/api/Saml2Api.js.map +1 -1
  26. package/cjs/api/ScriptApi.js +17 -40
  27. package/cjs/api/ScriptApi.js.map +1 -1
  28. package/cjs/api/SecretsApi.js +37 -80
  29. package/cjs/api/SecretsApi.js.map +1 -1
  30. package/cjs/api/ServerInfoApi.js +9 -25
  31. package/cjs/api/ServerInfoApi.js.map +1 -1
  32. package/cjs/api/SocialIdentityProvidersApi.js +21 -48
  33. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  34. package/cjs/api/StartupApi.js +10 -27
  35. package/cjs/api/StartupApi.js.map +1 -1
  36. package/cjs/api/ThemeApi.js +33 -58
  37. package/cjs/api/ThemeApi.js.map +1 -1
  38. package/cjs/api/TreeApi.js +36 -78
  39. package/cjs/api/TreeApi.js.map +1 -1
  40. package/cjs/api/VariablesApi.js +23 -51
  41. package/cjs/api/VariablesApi.js.map +1 -1
  42. package/cjs/api/utils/ApiUtils.js +11 -31
  43. package/cjs/api/utils/ApiUtils.js.map +1 -1
  44. package/cjs/api/utils/ApiUtils.test.js.map +1 -1
  45. package/cjs/api/utils/Base64.js +5 -22
  46. package/cjs/api/utils/Base64.js.map +1 -1
  47. package/cjs/index.js +36 -103
  48. package/cjs/index.js.map +1 -1
  49. package/cjs/index.test.js.map +1 -1
  50. package/cjs/ops/AdminOps.js +159 -210
  51. package/cjs/ops/AdminOps.js.map +1 -1
  52. package/cjs/ops/AuthenticateOps.js +76 -115
  53. package/cjs/ops/AuthenticateOps.js.map +1 -1
  54. package/cjs/ops/AuthenticateOps.test.js.map +1 -1
  55. package/cjs/ops/CirclesOfTrustOps.js +97 -127
  56. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  57. package/cjs/ops/ConnectionProfileOps.js +58 -98
  58. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  59. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  60. package/cjs/ops/EmailTemplateOps.js +96 -121
  61. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  62. package/cjs/ops/IdmOps.js +53 -79
  63. package/cjs/ops/IdmOps.js.map +1 -1
  64. package/cjs/ops/IdpOps.js +87 -120
  65. package/cjs/ops/IdpOps.js.map +1 -1
  66. package/cjs/ops/JourneyOps.js +322 -394
  67. package/cjs/ops/JourneyOps.js.map +1 -1
  68. package/cjs/ops/LogOps.js +24 -49
  69. package/cjs/ops/LogOps.js.map +1 -1
  70. package/cjs/ops/ManagedObjectOps.js +6 -15
  71. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  72. package/cjs/ops/OAuth2ClientOps.js +36 -59
  73. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  74. package/cjs/ops/OrganizationOps.js +29 -38
  75. package/cjs/ops/OrganizationOps.js.map +1 -1
  76. package/cjs/ops/RealmOps.js +45 -59
  77. package/cjs/ops/RealmOps.js.map +1 -1
  78. package/cjs/ops/SamlOps.js +143 -181
  79. package/cjs/ops/SamlOps.js.map +1 -1
  80. package/cjs/ops/ScriptOps.js +56 -82
  81. package/cjs/ops/ScriptOps.js.map +1 -1
  82. package/cjs/ops/SecretsOps.js +87 -119
  83. package/cjs/ops/SecretsOps.js.map +1 -1
  84. package/cjs/ops/StartupOps.js +28 -45
  85. package/cjs/ops/StartupOps.js.map +1 -1
  86. package/cjs/ops/ThemeOps.js +110 -148
  87. package/cjs/ops/ThemeOps.js.map +1 -1
  88. package/cjs/ops/VariablesOps.js +54 -79
  89. package/cjs/ops/VariablesOps.js.map +1 -1
  90. package/cjs/ops/utils/Console.js +47 -330
  91. package/cjs/ops/utils/Console.js.map +1 -1
  92. package/cjs/ops/utils/DataProtection.js +21 -46
  93. package/cjs/ops/utils/DataProtection.js.map +1 -1
  94. package/cjs/ops/utils/DataProtection.test.js.map +1 -1
  95. package/cjs/ops/utils/ExportImportUtils.js +36 -84
  96. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  97. package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
  98. package/cjs/ops/utils/OpsUtils.js +12 -38
  99. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  100. package/cjs/ops/utils/Wordwrap.js +1 -8
  101. package/cjs/ops/utils/Wordwrap.js.map +1 -1
  102. package/cjs/storage/SessionStorage.js +44 -44
  103. package/cjs/storage/SessionStorage.js.map +1 -1
  104. package/cjs/storage/StaticStorage.js +10 -26
  105. package/cjs/storage/StaticStorage.js.map +1 -1
  106. package/{src → esm}/api/AuthenticateApi.mjs +8 -10
  107. package/{src → esm}/api/BaseApi.mjs +51 -52
  108. package/{src → esm}/api/CirclesOfTrustApi.mjs +20 -38
  109. package/{src → esm}/api/EmailTemplateApi.mjs +6 -9
  110. package/{src → esm}/api/IdmConfigApi.mjs +15 -40
  111. package/{src → esm}/api/LogApi.mjs +10 -23
  112. package/{src → esm}/api/ManagedObjectApi.mjs +10 -28
  113. package/{src → esm}/api/OAuth2ClientApi.mjs +14 -27
  114. package/{src → esm}/api/OAuth2OIDCApi.mjs +16 -28
  115. package/{src → esm}/api/OAuth2ProviderApi.mjs +8 -13
  116. package/{src → esm}/api/RealmApi.mjs +20 -37
  117. package/{src → esm}/api/Saml2Api.mjs +43 -74
  118. package/{src → esm}/api/ScriptApi.mjs +17 -35
  119. package/esm/api/SecretsApi.mjs +93 -0
  120. package/{src → esm}/api/ServerInfoApi.mjs +10 -16
  121. package/{src → esm}/api/SocialIdentityProvidersApi.mjs +25 -56
  122. package/{src → esm}/api/StartupApi.mjs +15 -16
  123. package/{src → esm}/api/ThemeApi.mjs +46 -45
  124. package/{src → esm}/api/TreeApi.mjs +46 -106
  125. package/{src → esm}/api/VariablesApi.mjs +25 -43
  126. package/{src → esm}/api/utils/ApiUtils.mjs +16 -6
  127. package/esm/api/utils/ApiUtils.test.mjs +81 -0
  128. package/{src → esm}/api/utils/Base64.mjs +15 -15
  129. package/{src → esm}/index.mjs +14 -10
  130. package/esm/index.test.mjs +15 -0
  131. package/{src → esm}/ops/AdminOps.mjs +259 -397
  132. package/{src → esm}/ops/AuthenticateOps.mjs +78 -74
  133. package/esm/ops/AuthenticateOps.test.mjs +18 -0
  134. package/{src → esm}/ops/CirclesOfTrustOps.mjs +118 -133
  135. package/{src → esm}/ops/ConnectionProfileOps.mjs +58 -85
  136. package/esm/ops/ConnectionProfileOps.test.mjs +64 -0
  137. package/esm/ops/EmailTemplateOps.mjs +282 -0
  138. package/{src → esm}/ops/IdmOps.mjs +62 -103
  139. package/{src → esm}/ops/IdpOps.mjs +114 -145
  140. package/esm/ops/JourneyOps.mjs +1507 -0
  141. package/esm/ops/LogOps.mjs +131 -0
  142. package/{src → esm}/ops/ManagedObjectOps.mjs +8 -9
  143. package/{src → esm}/ops/OAuth2ClientOps.mjs +27 -51
  144. package/{src → esm}/ops/OrganizationOps.mjs +27 -31
  145. package/{src → esm}/ops/RealmOps.mjs +30 -57
  146. package/{src → esm}/ops/SamlOps.mjs +204 -239
  147. package/{src → esm}/ops/ScriptOps.mjs +82 -95
  148. package/esm/ops/SecretsOps.mjs +241 -0
  149. package/esm/ops/StartupOps.mjs +86 -0
  150. package/{src → esm}/ops/ThemeOps.mjs +108 -147
  151. package/esm/ops/VariablesOps.mjs +143 -0
  152. package/{src → esm}/ops/templates/OAuth2ClientTemplate.json +0 -0
  153. package/{src → esm}/ops/templates/OrgModelUserAttributesTemplate.json +0 -0
  154. package/{src → esm}/ops/templates/cloud/GenericExtensionAttributesTemplate.json +0 -0
  155. package/{src → esm}/ops/templates/cloud/managed.json +0 -0
  156. package/esm/ops/utils/Console.mjs +249 -0
  157. package/{src → esm}/ops/utils/DataProtection.mjs +28 -32
  158. package/esm/ops/utils/DataProtection.test.mjs +24 -0
  159. package/{src → esm}/ops/utils/ExportImportUtils.mjs +22 -39
  160. package/esm/ops/utils/ExportImportUtils.test.mjs +86 -0
  161. package/{src → esm}/ops/utils/OpsUtils.mjs +17 -19
  162. package/esm/ops/utils/Wordwrap.mjs +5 -0
  163. package/esm/storage/SessionStorage.mjs +55 -0
  164. package/{src → esm}/storage/StaticStorage.mjs +4 -8
  165. package/package.json +26 -19
  166. package/src/api/SecretsApi.mjs +0 -151
  167. package/src/ops/EmailTemplateOps.mjs +0 -326
  168. package/src/ops/JourneyOps.mjs +0 -2026
  169. package/src/ops/LogOps.mjs +0 -357
  170. package/src/ops/SecretsOps.mjs +0 -288
  171. package/src/ops/StartupOps.mjs +0 -114
  172. package/src/ops/VariablesOps.mjs +0 -185
  173. package/src/ops/utils/Console.mjs +0 -434
  174. package/src/ops/utils/Wordwrap.mjs +0 -11
  175. package/src/storage/SessionStorage.mjs +0 -50
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.12.0] - 2022-08-27
11
+
12
+ ## [0.11.1-8] - 2022-08-27
13
+
14
+ ### Changed
15
+
16
+ - \#19: `frodo-lib` is now a typescript project.
17
+
18
+ ## [0.11.1-7] - 2022-08-21
19
+
10
20
  ## [0.11.1-6] - 2022-08-21
11
21
 
12
22
  ## [0.11.1-5] - 2022-08-21
@@ -15,7 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
15
25
 
16
26
  ### Changed
17
27
 
18
- - \#10: frodo-lib is now a hybrid npm package supporting both ES modules and CommonJS modules.
28
+ - \#10: `frodo-lib` is now a hybrid npm package supporting both ES modules and CommonJS modules.
19
29
 
20
30
  ## [0.11.1-3] - 2022-08-18
21
31
 
@@ -429,7 +439,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
429
439
  - Fixed problem with adding connection profiles
430
440
  - Miscellaneous bug fixes
431
441
 
432
- [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-6...HEAD
442
+ [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.12.0...HEAD
443
+
444
+ [0.12.0]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-8...v0.12.0
445
+
446
+ [0.11.1-8]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-7...v0.11.1-8
447
+
448
+ [0.11.1-7]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-6...v0.11.1-7
433
449
 
434
450
  [0.11.1-6]: https://github.com/rockcarver/frodo-lib/compare/v0.11.1-5...v0.11.1-6
435
451
 
@@ -1,19 +1,6 @@
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
-
1
+ import util from 'util';
2
+ import { generateAmApi } from './BaseApi';
3
+ import storage from '../storage/SessionStorage';
17
4
  const authenticateUrlTemplate = '%s/json%s/authenticate';
18
5
  const apiVersion = 'resource=2.0, protocol=1.0';
19
6
 
@@ -22,26 +9,23 @@ const getApiConfig = () => ({
22
9
  });
23
10
 
24
11
  const realmPathTemplate = '/realms/%s';
25
-
26
- function getRealmUrl(realm) {
12
+ export function getRealmUrl(realm) {
27
13
  let localRealm = realm;
28
14
 
29
15
  if (localRealm.startsWith('/') && localRealm.length > 1) {
30
16
  localRealm = localRealm.substring(1);
31
17
  }
32
18
 
33
- let realmPath = _util.default.format(realmPathTemplate, 'root');
19
+ let realmPath = util.format(realmPathTemplate, 'root');
34
20
 
35
21
  if (localRealm !== '/') {
36
- realmPath += _util.default.format(realmPathTemplate, localRealm);
22
+ realmPath += util.format(realmPathTemplate, localRealm);
37
23
  }
38
24
 
39
25
  return realmPath;
40
26
  }
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);
27
+ export async function step(data = {}, config = {}) {
28
+ const urlString = util.format(authenticateUrlTemplate, storage.session.getTenant(), getRealmUrl('/'));
29
+ return generateAmApi(getApiConfig()).post(urlString, data, config);
46
30
  }
47
31
  //# sourceMappingURL=AuthenticateApi.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"AuthenticateApi.js","names":["util","generateAmApi","storage","authenticateUrlTemplate","apiVersion","getApiConfig","realmPathTemplate","getRealmUrl","realm","localRealm","startsWith","length","substring","realmPath","format","step","data","config","urlString","session","getTenant","post"],"sources":["api/AuthenticateApi.ts"],"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,OAAOA,IAAP,MAAiB,MAAjB;AACA,SAASC,aAAT,QAA8B,WAA9B;AACA,OAAOC,OAAP,MAAoB,2BAApB;AAEA,MAAMC,uBAAuB,GAAG,wBAAhC;AAEA,MAAMC,UAAU,GAAG,4BAAnB;;AACA,MAAMC,YAAY,GAAG,OAAO;EAC1BD;AAD0B,CAAP,CAArB;;AAIA,MAAME,iBAAiB,GAAG,YAA1B;AAEA,OAAO,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,GAAGb,IAAI,CAACc,MAAL,CAAYR,iBAAZ,EAA+B,MAA/B,CAAhB;;EACA,IAAIG,UAAU,KAAK,GAAnB,EAAwB;IACtBI,SAAS,IAAIb,IAAI,CAACc,MAAL,CAAYR,iBAAZ,EAA+BG,UAA/B,CAAb;EACD;;EACD,OAAOI,SAAP;AACD;AAED,OAAO,eAAeE,IAAf,CAAoBC,IAAI,GAAG,EAA3B,EAA+BC,MAAM,GAAG,EAAxC,EAA4C;EACjD,MAAMC,SAAS,GAAGlB,IAAI,CAACc,MAAL,CAChBX,uBADgB,EAEhBD,OAAO,CAACiB,OAAR,CAAgBC,SAAhB,EAFgB,EAGhBb,WAAW,CAAC,GAAD,CAHK,CAAlB;EAKA,OAAON,aAAa,CAACI,YAAY,EAAb,CAAb,CAA8BgB,IAA9B,CAAmCH,SAAnC,EAA8CF,IAA9C,EAAoDC,MAApD,CAAP;AACD"}
@@ -1,43 +1,20 @@
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, {
1
+ import axios from 'axios';
2
+ import axiosRetry from 'axios-retry';
3
+ import * as https from 'https';
4
+ import HttpsProxyAgent from 'https-proxy-agent';
5
+ import url from 'url';
6
+ import fs from 'fs';
7
+ import storage from '../storage/SessionStorage';
8
+ import { getTenantURL } from './utils/ApiUtils';
9
+ import path from 'path';
10
+ import { fileURLToPath } from 'url';
11
+
12
+ const __dirname = path.dirname(fileURLToPath(require('url').pathToFileURL(__filename).toString()));
13
+
14
+ const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8'));
15
+ axiosRetry(axios, {
38
16
  retries: 3,
39
17
  shouldResetTimeout: true,
40
- // eslint-disable-next-line no-unused-vars
41
18
  retryCondition: _error => true // retry no matter what
42
19
 
43
20
  });
@@ -52,27 +29,30 @@ let httpsAgent;
52
29
  function getHttpsAgent() {
53
30
  if (httpsAgent) return httpsAgent;
54
31
  const options = {
55
- rejectUnauthorized: !_SessionStorage.default.session.getAllowInsecureConnection()
32
+ rejectUnauthorized: !storage.session.getAllowInsecureConnection()
56
33
  };
57
34
  const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
58
35
 
59
36
  if (httpsProxy) {
60
37
  // 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);
38
+ console.error(`Using proxy ${httpsProxy}`['yellow']);
39
+ const parsed = url.parse(httpsProxy);
40
+ options['host'] = parsed.hostname;
41
+ options['port'] = parsed.port;
42
+ options['protocol'] = parsed.protocol;
43
+ options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();
44
+ httpsAgent = HttpsProxyAgent(options);
70
45
  return httpsAgent;
71
46
  }
72
47
 
73
48
  httpsAgent = new https.Agent(options);
74
49
  return httpsAgent;
75
50
  }
51
+ /**
52
+ * Get Proxy config
53
+ * @returns {AxiosProxyConfig | false} axios proxy config or false
54
+ */
55
+
76
56
 
77
57
  function getProxy() {
78
58
  if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;
@@ -88,31 +68,29 @@ function getProxy() {
88
68
  */
89
69
 
90
70
 
91
- function generateAmApi(resource, requestOverride = {}) {
71
+ export function generateAmApi(resource, requestOverride = {}) {
92
72
  let headers = {
93
73
  'User-Agent': userAgent,
94
74
  'Content-Type': 'application/json',
95
75
  'Accept-API-Version': resource.apiVersion,
96
- Cookie: `${_SessionStorage.default.session.raw.cookieName}=${_SessionStorage.default.session.raw.cookieValue}`
76
+ Cookie: `${storage.session.raw['cookieName']}=${storage.session.raw['cookieValue']}`
97
77
  };
98
78
 
99
- if (requestOverride.headers) {
79
+ if (requestOverride['headers']) {
100
80
  headers = { ...headers,
101
- ...requestOverride.headers
81
+ ...requestOverride['headers']
102
82
  };
103
83
  }
104
84
 
105
85
  const requestDetails = {
106
- baseURL: `${_SessionStorage.default.session.getTenant()}/json${resource.path}`,
86
+ baseURL: `${storage.session.getTenant()}/json${resource.path}`,
107
87
  timeout,
108
88
  ...requestOverride,
109
89
  headers,
110
90
  httpsAgent: getHttpsAgent(),
111
91
  proxy: getProxy()
112
92
  };
113
-
114
- const request = _axios.default.create(requestDetails);
115
-
93
+ const request = axios.create(requestDetails);
116
94
  return request;
117
95
  }
118
96
  /**
@@ -124,31 +102,28 @@ function generateAmApi(resource, requestOverride = {}) {
124
102
  * @returns {AxiosInstance}
125
103
  */
126
104
 
127
-
128
- function generateOauth2Api(resource, requestOverride = {}) {
105
+ export function generateOauth2Api(resource, requestOverride = {}) {
129
106
  let headers = {
130
107
  'User-Agent': userAgent,
131
108
  'Accept-API-Version': resource.apiVersion,
132
- Cookie: `${_SessionStorage.default.session.raw.cookieName}=${_SessionStorage.default.session.raw.cookieValue}`
109
+ Cookie: `${storage.session.raw['cookieName']}=${storage.session.raw['cookieValue']}`
133
110
  };
134
111
 
135
- if (requestOverride.headers) {
112
+ if (requestOverride['headers']) {
136
113
  headers = { ...headers,
137
- ...requestOverride.headers
114
+ ...requestOverride['headers']
138
115
  };
139
116
  }
140
117
 
141
118
  const requestDetails = {
142
- baseURL: `${_SessionStorage.default.session.getTenant()}/json${resource.path}`,
119
+ baseURL: `${storage.session.getTenant()}/json${resource.path}`,
143
120
  timeout,
144
121
  ...requestOverride,
145
122
  headers,
146
123
  httpsAgent: getHttpsAgent(),
147
124
  proxy: getProxy()
148
125
  };
149
-
150
- const request = _axios.default.create(requestDetails);
151
-
126
+ const request = axios.create(requestDetails);
152
127
  return request;
153
128
  }
154
129
  /**
@@ -159,10 +134,9 @@ function generateOauth2Api(resource, requestOverride = {}) {
159
134
  * @returns {AxiosInstance}
160
135
  */
161
136
 
162
-
163
- function generateIdmApi(requestOverride = {}) {
137
+ export function generateIdmApi(requestOverride = {}) {
164
138
  const requestDetails = {
165
- baseURL: (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()),
139
+ baseURL: getTenantURL(storage.session.getTenant()),
166
140
  timeout,
167
141
  headers: {
168
142
  'User-Agent': userAgent,
@@ -173,12 +147,11 @@ function generateIdmApi(requestOverride = {}) {
173
147
  proxy: getProxy()
174
148
  };
175
149
 
176
- if (_SessionStorage.default.session.getBearerToken()) {
177
- requestDetails.headers.Authorization = `Bearer ${_SessionStorage.default.session.getBearerToken()}`;
150
+ if (storage.session.getBearerToken()) {
151
+ requestDetails.headers['Authorization'] = `Bearer ${storage.session.getBearerToken()}`;
178
152
  }
179
153
 
180
- const request = _axios.default.create(requestDetails);
181
-
154
+ const request = axios.create(requestDetails);
182
155
  return request;
183
156
  }
184
157
  /**
@@ -189,14 +162,13 @@ function generateIdmApi(requestOverride = {}) {
189
162
  * @returns {AxiosInstance}
190
163
  */
191
164
 
192
-
193
- function generateLogKeysApi(requestOverride = {}) {
165
+ export function generateLogKeysApi(requestOverride = {}) {
194
166
  const headers = {
195
167
  'User-Agent': userAgent,
196
168
  'Content-Type': 'application/json'
197
169
  };
198
170
  const requestDetails = {
199
- baseURL: (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()),
171
+ baseURL: getTenantURL(storage.session.getTenant()),
200
172
  timeout,
201
173
  headers,
202
174
  ...requestOverride,
@@ -204,12 +176,11 @@ function generateLogKeysApi(requestOverride = {}) {
204
176
  proxy: getProxy()
205
177
  };
206
178
 
207
- if (_SessionStorage.default.session.getBearerToken()) {
208
- requestDetails.headers.Authorization = `Bearer ${_SessionStorage.default.session.getBearerToken()}`;
179
+ if (storage.session.getBearerToken()) {
180
+ requestDetails.headers['Authorization'] = `Bearer ${storage.session.getBearerToken()}`;
209
181
  }
210
182
 
211
- const request = _axios.default.create(requestDetails);
212
-
183
+ const request = axios.create(requestDetails);
213
184
  return request;
214
185
  }
215
186
  /**
@@ -220,24 +191,21 @@ function generateLogKeysApi(requestOverride = {}) {
220
191
  * @returns {AxiosInstance}
221
192
  */
222
193
 
223
-
224
- function generateLogApi(requestOverride = {}) {
194
+ export function generateLogApi(requestOverride = {}) {
225
195
  const headers = {
226
196
  'User-Agent': userAgent,
227
- 'X-API-Key': _SessionStorage.default.session.getLogApiKey(),
228
- 'X-API-Secret': _SessionStorage.default.session.getLogApiSecret()
197
+ 'X-API-Key': storage.session.getLogApiKey(),
198
+ 'X-API-Secret': storage.session.getLogApiSecret()
229
199
  };
230
200
  const requestDetails = {
231
- baseURL: (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()),
201
+ baseURL: getTenantURL(storage.session.getTenant()),
232
202
  timeout,
233
203
  headers,
234
204
  ...requestOverride,
235
205
  httpsAgent: getHttpsAgent(),
236
206
  proxy: getProxy()
237
207
  };
238
-
239
- const request = _axios.default.create(requestDetails);
240
-
208
+ const request = axios.create(requestDetails);
241
209
  return request;
242
210
  }
243
211
  /**
@@ -248,15 +216,14 @@ function generateLogApi(requestOverride = {}) {
248
216
  * @returns {AxiosInstance}
249
217
  */
250
218
 
251
-
252
- function generateESVApi(resource, requestOverride = {}) {
219
+ export function generateESVApi(resource, requestOverride = {}) {
253
220
  const headers = {
254
221
  'User-Agent': userAgent,
255
222
  'Content-Type': 'application/json',
256
223
  'Accept-API-Version': resource.apiVersion
257
224
  };
258
225
  const requestDetails = {
259
- baseURL: (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()),
226
+ baseURL: getTenantURL(storage.session.getTenant()),
260
227
  timeout,
261
228
  headers,
262
229
  ...requestOverride,
@@ -264,12 +231,11 @@ function generateESVApi(resource, requestOverride = {}) {
264
231
  proxy: getProxy()
265
232
  };
266
233
 
267
- if (_SessionStorage.default.session.getBearerToken()) {
268
- requestDetails.headers.Authorization = `Bearer ${_SessionStorage.default.session.getBearerToken()}`;
234
+ if (storage.session.getBearerToken()) {
235
+ requestDetails.headers['Authorization'] = `Bearer ${storage.session.getBearerToken()}`;
269
236
  }
270
237
 
271
- const request = _axios.default.create(requestDetails);
272
-
238
+ const request = axios.create(requestDetails);
273
239
  return request;
274
240
  }
275
241
  //# sourceMappingURL=BaseApi.js.map
@@ -1 +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":";;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AACA;AAEA,MAAMA,GAAG,GAAGC,IAAI,CAACC,KAAL,CACVC,WAAA,CAAGC,YAAH,CAAgB,IAAIC,GAAJ,CAAQ,oBAAR,sDAAhB,CADU,CAAZ;AAIA,IAAAC,mBAAA,EAAWC,cAAX,EAAkB;EAChBC,OAAO,EAAE,CADO;EAEhBC,kBAAkB,EAAE,IAFJ;EAGhB;EACAC,cAAc,EAAGC,MAAD,IAAY,IAJZ,CAIkB;;AAJlB,CAAlB;AAOA,MAAMC,OAAO,GAAG,KAAhB;AACA,MAAMC,SAAS,GAAI,GAAEb,GAAG,CAACc,IAAK,IAAGd,GAAG,CAACe,OAAQ,EAA7C;AACA,IAAIC,UAAJ;AAEA;AACA;AACA;AACA;;AACA,SAASC,aAAT,GAAyB;EACvB,IAAID,UAAJ,EAAgB,OAAOA,UAAP;EAChB,MAAME,OAAO,GAAG;IACdC,kBAAkB,EAAE,CAACC,uBAAA,CAAQC,OAAR,CAAgBC,0BAAhB;EADP,CAAhB;EAGA,MAAMC,UAAU,GAAGC,OAAO,CAACC,GAAR,CAAYC,WAAZ,IAA2BF,OAAO,CAACC,GAAR,CAAYE,WAA1D;;EACA,IAAIJ,UAAJ,EAAgB;IACd;IACAK,OAAO,CAACC,KAAR,CAAe,eAAcN,UAAW,EAA1B,CAA4BO,MAA1C;;IACA,MAAMC,MAAM,GAAGC,YAAA,CAAI9B,KAAJ,CAAUqB,UAAV,CAAf;;IACAL,OAAO,CAACe,IAAR,GAAeF,MAAM,CAACG,QAAtB;IACAhB,OAAO,CAACiB,IAAR,GAAeJ,MAAM,CAACI,IAAtB;IACAjB,OAAO,CAACkB,QAAR,GAAmBL,MAAM,CAACK,QAA1B;IACAlB,OAAO,CAACC,kBAAR,GAA6B,CAACC,uBAAA,CAAQC,OAAR,CAAgBC,0BAAhB,EAA9B;IACAN,UAAU,GAAG,IAAIqB,wBAAJ,CAAoBnB,OAApB,CAAb;IACA,OAAOF,UAAP;EACD;;EACDA,UAAU,GAAG,IAAIsB,KAAK,CAACC,KAAV,CAAgBrB,OAAhB,CAAb;EACA,OAAOF,UAAP;AACD;;AAED,SAASwB,QAAT,GAAoB;EAClB,IAAIhB,OAAO,CAACC,GAAR,CAAYC,WAAZ,IAA2BF,OAAO,CAACC,GAAR,CAAYE,WAA3C,EAAwD,OAAO,KAAP;EACxD,OAAO,IAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASc,aAAT,CAAuBC,QAAvB,EAAiCC,eAAe,GAAG,EAAnD,EAAuD;EAC5D,IAAIC,OAAO,GAAG;IACZ,cAAc/B,SADF;IAEZ,gBAAgB,kBAFJ;IAGZ,sBAAsB6B,QAAQ,CAACG,UAHnB;IAIZC,MAAM,EAAG,GAAE1B,uBAAA,CAAQC,OAAR,CAAgB0B,GAAhB,CAAoBC,UAAW,IAAG5B,uBAAA,CAAQC,OAAR,CAAgB0B,GAAhB,CAAoBE,WAAY;EAJjE,CAAd;;EAMA,IAAIN,eAAe,CAACC,OAApB,EAA6B;IAC3BA,OAAO,GAAG,EACR,GAAGA,OADK;MAER,GAAGD,eAAe,CAACC;IAFX,CAAV;EAID;;EAED,MAAMM,cAAc,GAAG;IACrBC,OAAO,EAAG,GAAE/B,uBAAA,CAAQC,OAAR,CAAgB+B,SAAhB,EAA4B,QAAOV,QAAQ,CAACW,IAAK,EADxC;IAErBzC,OAFqB;IAGrB,GAAG+B,eAHkB;IAIrBC,OAJqB;IAKrB5B,UAAU,EAAEC,aAAa,EALJ;IAMrBqC,KAAK,EAAEd,QAAQ;EANM,CAAvB;;EASA,MAAMe,OAAO,GAAGhD,cAAA,CAAMiD,MAAN,CAAaN,cAAb,CAAhB;;EAEA,OAAOK,OAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASE,iBAAT,CAA2Bf,QAA3B,EAAqCC,eAAe,GAAG,EAAvD,EAA2D;EAChE,IAAIC,OAAO,GAAG;IACZ,cAAc/B,SADF;IAEZ,sBAAsB6B,QAAQ,CAACG,UAFnB;IAGZC,MAAM,EAAG,GAAE1B,uBAAA,CAAQC,OAAR,CAAgB0B,GAAhB,CAAoBC,UAAW,IAAG5B,uBAAA,CAAQC,OAAR,CAAgB0B,GAAhB,CAAoBE,WAAY;EAHjE,CAAd;;EAKA,IAAIN,eAAe,CAACC,OAApB,EAA6B;IAC3BA,OAAO,GAAG,EACR,GAAGA,OADK;MAER,GAAGD,eAAe,CAACC;IAFX,CAAV;EAID;;EAED,MAAMM,cAAc,GAAG;IACrBC,OAAO,EAAG,GAAE/B,uBAAA,CAAQC,OAAR,CAAgB+B,SAAhB,EAA4B,QAAOV,QAAQ,CAACW,IAAK,EADxC;IAErBzC,OAFqB;IAGrB,GAAG+B,eAHkB;IAIrBC,OAJqB;IAKrB5B,UAAU,EAAEC,aAAa,EALJ;IAMrBqC,KAAK,EAAEd,QAAQ;EANM,CAAvB;;EASA,MAAMe,OAAO,GAAGhD,cAAA,CAAMiD,MAAN,CAAaN,cAAb,CAAhB;;EAEA,OAAOK,OAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASG,cAAT,CAAwBf,eAAe,GAAG,EAA1C,EAA8C;EACnD,MAAMO,cAAc,GAAG;IACrBC,OAAO,EAAE,IAAAQ,sBAAA,EAAavC,uBAAA,CAAQC,OAAR,CAAgB+B,SAAhB,EAAb,CADY;IAErBxC,OAFqB;IAGrBgC,OAAO,EAAE;MACP,cAAc/B,SADP;MAEP,gBAAgB;IAFT,CAHY;IAOrB,GAAG8B,eAPkB;IAQrB3B,UAAU,EAAEC,aAAa,EARJ;IASrBqC,KAAK,EAAEd,QAAQ;EATM,CAAvB;;EAYA,IAAIpB,uBAAA,CAAQC,OAAR,CAAgBuC,cAAhB,EAAJ,EAAsC;IACpCV,cAAc,CAACN,OAAf,CAAuBiB,aAAvB,GAAwC,UAASzC,uBAAA,CAAQC,OAAR,CAAgBuC,cAAhB,EAAiC,EAAlF;EACD;;EAED,MAAML,OAAO,GAAGhD,cAAA,CAAMiD,MAAN,CAAaN,cAAb,CAAhB;;EAEA,OAAOK,OAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASO,kBAAT,CAA4BnB,eAAe,GAAG,EAA9C,EAAkD;EACvD,MAAMC,OAAO,GAAG;IACd,cAAc/B,SADA;IAEd,gBAAgB;EAFF,CAAhB;EAIA,MAAMqC,cAAc,GAAG;IACrBC,OAAO,EAAE,IAAAQ,sBAAA,EAAavC,uBAAA,CAAQC,OAAR,CAAgB+B,SAAhB,EAAb,CADY;IAErBxC,OAFqB;IAGrBgC,OAHqB;IAIrB,GAAGD,eAJkB;IAKrB3B,UAAU,EAAEC,aAAa,EALJ;IAMrBqC,KAAK,EAAEd,QAAQ;EANM,CAAvB;;EASA,IAAIpB,uBAAA,CAAQC,OAAR,CAAgBuC,cAAhB,EAAJ,EAAsC;IACpCV,cAAc,CAACN,OAAf,CAAuBiB,aAAvB,GAAwC,UAASzC,uBAAA,CAAQC,OAAR,CAAgBuC,cAAhB,EAAiC,EAAlF;EACD;;EAED,MAAML,OAAO,GAAGhD,cAAA,CAAMiD,MAAN,CAAaN,cAAb,CAAhB;;EAEA,OAAOK,OAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASQ,cAAT,CAAwBpB,eAAe,GAAG,EAA1C,EAA8C;EACnD,MAAMC,OAAO,GAAG;IACd,cAAc/B,SADA;IAEd,aAAaO,uBAAA,CAAQC,OAAR,CAAgB2C,YAAhB,EAFC;IAGd,gBAAgB5C,uBAAA,CAAQC,OAAR,CAAgB4C,eAAhB;EAHF,CAAhB;EAKA,MAAMf,cAAc,GAAG;IACrBC,OAAO,EAAE,IAAAQ,sBAAA,EAAavC,uBAAA,CAAQC,OAAR,CAAgB+B,SAAhB,EAAb,CADY;IAErBxC,OAFqB;IAGrBgC,OAHqB;IAIrB,GAAGD,eAJkB;IAKrB3B,UAAU,EAAEC,aAAa,EALJ;IAMrBqC,KAAK,EAAEd,QAAQ;EANM,CAAvB;;EASA,MAAMe,OAAO,GAAGhD,cAAA,CAAMiD,MAAN,CAAaN,cAAb,CAAhB;;EAEA,OAAOK,OAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASW,cAAT,CAAwBxB,QAAxB,EAAkCC,eAAe,GAAG,EAApD,EAAwD;EAC7D,MAAMC,OAAO,GAAG;IACd,cAAc/B,SADA;IAEd,gBAAgB,kBAFF;IAGd,sBAAsB6B,QAAQ,CAACG;EAHjB,CAAhB;EAKA,MAAMK,cAAc,GAAG;IACrBC,OAAO,EAAE,IAAAQ,sBAAA,EAAavC,uBAAA,CAAQC,OAAR,CAAgB+B,SAAhB,EAAb,CADY;IAErBxC,OAFqB;IAGrBgC,OAHqB;IAIrB,GAAGD,eAJkB;IAKrB3B,UAAU,EAAEC,aAAa,EALJ;IAMrBqC,KAAK,EAAEd,QAAQ;EANM,CAAvB;;EASA,IAAIpB,uBAAA,CAAQC,OAAR,CAAgBuC,cAAhB,EAAJ,EAAsC;IACpCV,cAAc,CAACN,OAAf,CAAuBiB,aAAvB,GAAwC,UAASzC,uBAAA,CAAQC,OAAR,CAAgBuC,cAAhB,EAAiC,EAAlF;EACD;;EAED,MAAML,OAAO,GAAGhD,cAAA,CAAMiD,MAAN,CAAaN,cAAb,CAAhB;;EAEA,OAAOK,OAAP;AACD"}
1
+ {"version":3,"file":"BaseApi.js","names":["axios","axiosRetry","https","HttpsProxyAgent","url","fs","storage","getTenantURL","path","fileURLToPath","__dirname","dirname","pkg","JSON","parse","readFileSync","resolve","retries","shouldResetTimeout","retryCondition","_error","timeout","userAgent","name","version","httpsAgent","getHttpsAgent","options","rejectUnauthorized","session","getAllowInsecureConnection","httpsProxy","process","env","HTTPS_PROXY","https_proxy","console","error","parsed","hostname","port","protocol","Agent","getProxy","generateAmApi","resource","requestOverride","headers","apiVersion","Cookie","raw","requestDetails","baseURL","getTenant","proxy","request","create","generateOauth2Api","generateIdmApi","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,32 +1,15 @@
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
-
1
+ import util from 'util';
2
+ import _ from 'lodash';
3
+ import { generateAmApi } from './BaseApi';
4
+ import { getCurrentRealmPath } from './utils/ApiUtils';
5
+ import storage from '../storage/SessionStorage';
23
6
  const circleOfTrustByIdURLTemplate = '%s/json%s/realm-config/federation/circlesoftrust/%s';
24
7
  const createCircleOfTrustURLTemplate = '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';
25
8
  const queryAllCirclesOfTrustURLTemplate = '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';
26
9
  const apiVersion = 'protocol=2.1,resource=1.0';
27
10
 
28
11
  const getApiConfig = () => {
29
- const configPath = (0, _ApiUtils.getCurrentRealmPath)();
12
+ const configPath = getCurrentRealmPath();
30
13
  return {
31
14
  path: `${configPath}/realm-config/federation/circlesoftrust`,
32
15
  apiVersion
@@ -38,10 +21,9 @@ const getApiConfig = () => {
38
21
  */
39
22
 
40
23
 
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, {
24
+ export async function getCirclesOfTrust() {
25
+ const urlString = util.format(queryAllCirclesOfTrustURLTemplate, storage.session.getTenant(), getCurrentRealmPath());
26
+ return generateAmApi(getApiConfig()).get(urlString, {
45
27
  withCredentials: true
46
28
  });
47
29
  }
@@ -51,11 +33,9 @@ async function getCirclesOfTrust() {
51
33
  * @returns {Promise} a promise that resolves to a saml2 circle of trust object
52
34
  */
53
35
 
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, {
36
+ export async function getCircleOfTrust(cotId) {
37
+ const urlString = util.format(circleOfTrustByIdURLTemplate, storage.session.getTenant(), getCurrentRealmPath(), cotId);
38
+ return generateAmApi(getApiConfig()).get(urlString, {
59
39
  withCredentials: true
60
40
  });
61
41
  }
@@ -65,13 +45,11 @@ async function getCircleOfTrust(cotId) {
65
45
  * @returns {Promise} a promise that resolves to a saml2 circle of trust object
66
46
  */
67
47
 
48
+ export async function createCircleOfTrust(cotData) {
49
+ const postData = _.cloneDeep(cotData);
68
50
 
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, {
51
+ const urlString = util.format(createCircleOfTrustURLTemplate, storage.session.getTenant(), getCurrentRealmPath());
52
+ return generateAmApi(getApiConfig()).post(urlString, postData, {
75
53
  withCredentials: true
76
54
  });
77
55
  }
@@ -82,11 +60,9 @@ async function createCircleOfTrust(cotData) {
82
60
  * @returns {Promise} a promise that resolves to a saml2 circle of trust object
83
61
  */
84
62
 
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, {
63
+ export async function updateCircleOfTrust(cotId, cotData) {
64
+ const urlString = util.format(circleOfTrustByIdURLTemplate, storage.session.getTenant(), getCurrentRealmPath(), cotId);
65
+ return generateAmApi(getApiConfig()).put(urlString, cotData, {
90
66
  withCredentials: true
91
67
  });
92
68
  }
@@ -1 +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"}
1
+ {"version":3,"file":"CirclesOfTrustApi.js","names":["util","_","generateAmApi","getCurrentRealmPath","storage","circleOfTrustByIdURLTemplate","createCircleOfTrustURLTemplate","queryAllCirclesOfTrustURLTemplate","apiVersion","getApiConfig","configPath","path","getCirclesOfTrust","urlString","format","session","getTenant","get","withCredentials","getCircleOfTrust","cotId","createCircleOfTrust","cotData","postData","cloneDeep","post","updateCircleOfTrust","put"],"sources":["api/CirclesOfTrustApi.ts"],"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()\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,OAAOA,IAAP,MAAiB,MAAjB;AACA,OAAOC,CAAP,MAAc,QAAd;AACA,SAASC,aAAT,QAA8B,WAA9B;AACA,SAASC,mBAAT,QAAoC,kBAApC;AACA,OAAOC,OAAP,MAAoB,2BAApB;AAEA,MAAMC,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,GAAGP,mBAAmB,EAAtC;EACA,OAAO;IACLQ,IAAI,EAAG,GAAED,UAAW,yCADf;IAELF;EAFK,CAAP;AAID,CAND;AAQA;AACA;AACA;AACA;;;AACA,OAAO,eAAeI,iBAAf,GAAmC;EACxC,MAAMC,SAAS,GAAGb,IAAI,CAACc,MAAL,CAChBP,iCADgB,EAEhBH,OAAO,CAACW,OAAR,CAAgBC,SAAhB,EAFgB,EAGhBb,mBAAmB,EAHH,CAAlB;EAKA,OAAOD,aAAa,CAACO,YAAY,EAAb,CAAb,CAA8BQ,GAA9B,CAAkCJ,SAAlC,EAA6C;IAClDK,eAAe,EAAE;EADiC,CAA7C,CAAP;AAGD;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,eAAeC,gBAAf,CAAgCC,KAAhC,EAAuC;EAC5C,MAAMP,SAAS,GAAGb,IAAI,CAACc,MAAL,CAChBT,4BADgB,EAEhBD,OAAO,CAACW,OAAR,CAAgBC,SAAhB,EAFgB,EAGhBb,mBAAmB,EAHH,EAIhBiB,KAJgB,CAAlB;EAMA,OAAOlB,aAAa,CAACO,YAAY,EAAb,CAAb,CAA8BQ,GAA9B,CAAkCJ,SAAlC,EAA6C;IAClDK,eAAe,EAAE;EADiC,CAA7C,CAAP;AAGD;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,eAAeG,mBAAf,CAAmCC,OAAnC,EAA4C;EACjD,MAAMC,QAAQ,GAAGtB,CAAC,CAACuB,SAAF,CAAYF,OAAZ,CAAjB;;EACA,MAAMT,SAAS,GAAGb,IAAI,CAACc,MAAL,CAChBR,8BADgB,EAEhBF,OAAO,CAACW,OAAR,CAAgBC,SAAhB,EAFgB,EAGhBb,mBAAmB,EAHH,CAAlB;EAKA,OAAOD,aAAa,CAACO,YAAY,EAAb,CAAb,CAA8BgB,IAA9B,CAAmCZ,SAAnC,EAA8CU,QAA9C,EAAwD;IAC7DL,eAAe,EAAE;EAD4C,CAAxD,CAAP;AAGD;AAED;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,eAAeQ,mBAAf,CAAmCN,KAAnC,EAA0CE,OAA1C,EAAmD;EACxD,MAAMT,SAAS,GAAGb,IAAI,CAACc,MAAL,CAChBT,4BADgB,EAEhBD,OAAO,CAACW,OAAR,CAAgBC,SAAhB,EAFgB,EAGhBb,mBAAmB,EAHH,EAIhBiB,KAJgB,CAAlB;EAMA,OAAOlB,aAAa,CAACO,YAAY,EAAb,CAAb,CAA8BkB,GAA9B,CAAkCd,SAAlC,EAA6CS,OAA7C,EAAsD;IAC3DJ,eAAe,EAAE;EAD0C,CAAtD,CAAP;AAGD"}