@rockcarver/frodo-lib 0.16.2-9 → 0.17.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 (355) hide show
  1. package/CHANGELOG.md +217 -1
  2. package/cjs/api/AgentApi.js +14 -61
  3. package/cjs/api/AgentApi.js.map +1 -1
  4. package/cjs/api/AgentApi.test.js.map +1 -1
  5. package/cjs/api/ApiTypes.js +0 -5
  6. package/cjs/api/ApiTypes.js.map +1 -1
  7. package/cjs/api/AuthenticateApi.js +9 -20
  8. package/cjs/api/AuthenticateApi.js.map +1 -1
  9. package/cjs/api/AuthenticateApi.test.js.map +1 -0
  10. package/cjs/api/BaseApi.js +82 -124
  11. package/cjs/api/BaseApi.js.map +1 -1
  12. package/cjs/api/CirclesOfTrustApi.js +8 -32
  13. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  14. package/cjs/api/IdmConfigApi.js +9 -34
  15. package/cjs/api/IdmConfigApi.js.map +1 -1
  16. package/cjs/api/LogApi.js +8 -31
  17. package/cjs/api/LogApi.js.map +1 -1
  18. package/cjs/api/ManagedObjectApi.js +34 -31
  19. package/cjs/api/ManagedObjectApi.js.map +1 -1
  20. package/cjs/api/NodeApi.js +10 -41
  21. package/cjs/api/NodeApi.js.map +1 -1
  22. package/cjs/api/NodeApi.test.js.map +1 -1
  23. package/cjs/api/OAuth2ClientApi.js +7 -26
  24. package/cjs/api/OAuth2ClientApi.js.map +1 -1
  25. package/cjs/api/OAuth2OIDCApi.js +28 -34
  26. package/cjs/api/OAuth2OIDCApi.js.map +1 -1
  27. package/cjs/api/OAuth2OIDCApi.test.js.map +1 -0
  28. package/cjs/api/OAuth2ProviderApi.js +5 -15
  29. package/cjs/api/OAuth2ProviderApi.js.map +1 -1
  30. package/cjs/api/RealmApi.js +8 -34
  31. package/cjs/api/RealmApi.js.map +1 -1
  32. package/cjs/api/Saml2Api.js +16 -67
  33. package/cjs/api/Saml2Api.js.map +1 -1
  34. package/cjs/api/ScriptApi.js +8 -30
  35. package/cjs/api/ScriptApi.js.map +1 -1
  36. package/cjs/api/SecretsApi.js +14 -64
  37. package/cjs/api/SecretsApi.js.map +1 -1
  38. package/cjs/api/SecretsApi.test.js.map +1 -1
  39. package/cjs/api/ServerInfoApi.js +6 -21
  40. package/cjs/api/ServerInfoApi.js.map +1 -1
  41. package/cjs/api/ServiceApi.js +49 -47
  42. package/cjs/api/ServiceApi.js.map +1 -1
  43. package/cjs/api/SocialIdentityProvidersApi.js +9 -36
  44. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  45. package/cjs/api/StartupApi.js +5 -24
  46. package/cjs/api/StartupApi.js.map +1 -1
  47. package/cjs/api/StartupApi.test.js.map +1 -1
  48. package/cjs/api/TreeApi.js +8 -30
  49. package/cjs/api/TreeApi.js.map +1 -1
  50. package/cjs/api/TreeApi.test.js.map +1 -1
  51. package/cjs/api/VariablesApi.js +9 -37
  52. package/cjs/api/VariablesApi.js.map +1 -1
  53. package/cjs/api/VariablesApi.test.js.map +1 -1
  54. package/cjs/api/utils/ApiUtils.js +47 -57
  55. package/cjs/api/utils/ApiUtils.js.map +1 -1
  56. package/cjs/api/utils/ApiUtils.test.js.map +1 -1
  57. package/cjs/api/utils/Base64.js +5 -15
  58. package/cjs/api/utils/Base64.js.map +1 -1
  59. package/cjs/ext/axios-curlirize/curlirize.js +2 -9
  60. package/cjs/ext/axios-curlirize/curlirize.js.map +1 -1
  61. package/cjs/ext/axios-curlirize/lib/CurlHelper.js +7 -22
  62. package/cjs/ext/axios-curlirize/lib/CurlHelper.js.map +1 -1
  63. package/cjs/index.js +30 -89
  64. package/cjs/index.js.map +1 -1
  65. package/cjs/ops/AdminOps.js +27 -165
  66. package/cjs/ops/AdminOps.js.map +1 -1
  67. package/cjs/ops/AgentOps.js +2 -159
  68. package/cjs/ops/AgentOps.js.map +1 -1
  69. package/cjs/ops/AgentOps.test.js.map +1 -1
  70. package/cjs/ops/AuthenticateOps.js +265 -226
  71. package/cjs/ops/AuthenticateOps.js.map +1 -1
  72. package/cjs/ops/AuthenticateOps.test.js.map +1 -1
  73. package/cjs/ops/CirclesOfTrustOps.js +13 -91
  74. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  75. package/cjs/ops/ConnectionProfileOps.js +220 -136
  76. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  77. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  78. package/cjs/ops/EmailTemplateOps.js +35 -379
  79. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  80. package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
  81. package/cjs/ops/IdmOps.js +52 -426
  82. package/cjs/ops/IdmOps.js.map +1 -1
  83. package/cjs/ops/IdmOps.test.js.map +1 -1
  84. package/cjs/ops/IdpOps.js +11 -94
  85. package/cjs/ops/IdpOps.js.map +1 -1
  86. package/cjs/ops/IdpOps.test.js.map +1 -1
  87. package/cjs/ops/JoseOps.js +81 -0
  88. package/cjs/ops/JoseOps.js.map +1 -0
  89. package/cjs/ops/JoseOps.test.js.map +1 -0
  90. package/cjs/ops/JourneyOps.js +139 -370
  91. package/cjs/ops/JourneyOps.js.map +1 -1
  92. package/cjs/ops/JourneyOps.test.js.map +1 -1
  93. package/cjs/ops/LogOps.js +14 -47
  94. package/cjs/ops/LogOps.js.map +1 -1
  95. package/cjs/ops/ManagedObjectOps.js +4 -12
  96. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  97. package/cjs/ops/NodeOps.js +9 -67
  98. package/cjs/ops/NodeOps.js.map +1 -1
  99. package/cjs/ops/OAuth2ClientOps.js +10 -40
  100. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  101. package/cjs/ops/OpsTypes.js +0 -5
  102. package/cjs/ops/OpsTypes.js.map +1 -1
  103. package/cjs/ops/OrganizationOps.js +6 -25
  104. package/cjs/ops/OrganizationOps.js.map +1 -1
  105. package/cjs/ops/RealmOps.js +0 -19
  106. package/cjs/ops/RealmOps.js.map +1 -1
  107. package/cjs/ops/Saml2Ops.js +11 -107
  108. package/cjs/ops/Saml2Ops.js.map +1 -1
  109. package/cjs/ops/Saml2Ops.test.js.map +1 -1
  110. package/cjs/ops/ScriptOps.js +26 -73
  111. package/cjs/ops/ScriptOps.js.map +1 -1
  112. package/cjs/ops/SecretsOps.js +2 -58
  113. package/cjs/ops/SecretsOps.js.map +1 -1
  114. package/cjs/ops/ServiceAccountOps.js +61 -0
  115. package/cjs/ops/ServiceAccountOps.js.map +1 -0
  116. package/cjs/ops/ServiceAccountOps.test.js.map +1 -0
  117. package/cjs/ops/ServiceOps.js +55 -101
  118. package/cjs/ops/ServiceOps.js.map +1 -1
  119. package/cjs/ops/StartupOps.js +2 -23
  120. package/cjs/ops/StartupOps.js.map +1 -1
  121. package/cjs/ops/ThemeOps.js +230 -436
  122. package/cjs/ops/ThemeOps.js.map +1 -1
  123. package/cjs/ops/ThemeOps.test.js.map +1 -0
  124. package/cjs/ops/VariablesOps.js +0 -38
  125. package/cjs/ops/VariablesOps.js.map +1 -1
  126. package/cjs/ops/utils/Console.js +29 -62
  127. package/cjs/ops/utils/Console.js.map +1 -1
  128. package/cjs/ops/utils/DataProtection.js +13 -47
  129. package/cjs/ops/utils/DataProtection.js.map +1 -1
  130. package/cjs/ops/utils/DataProtection.test.js.map +1 -1
  131. package/cjs/ops/utils/ExportImportUtils.js +36 -74
  132. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  133. package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
  134. package/cjs/ops/utils/OpsUtils.js +27 -43
  135. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  136. package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
  137. package/cjs/ops/utils/ValidationUtils.js +0 -13
  138. package/cjs/ops/utils/ValidationUtils.js.map +1 -1
  139. package/cjs/ops/utils/ValidationUtils.test.js.map +1 -1
  140. package/cjs/ops/utils/Version.js +2 -12
  141. package/cjs/ops/utils/Version.js.map +1 -1
  142. package/cjs/ops/utils/Version.test.js.map +1 -1
  143. package/cjs/ops/utils/Wordwrap.js +1 -2
  144. package/cjs/ops/utils/Wordwrap.js.map +1 -1
  145. package/cjs/ops/utils/Wordwrap.test.js.map +1 -0
  146. package/cjs/shared/State.js +239 -0
  147. package/cjs/shared/State.js.map +1 -0
  148. package/cjs/shared/State.test.js.map +1 -0
  149. package/cjs/storage/StaticStorage.js.map +1 -1
  150. package/cjs/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
  151. package/cjs/test/mocks/ForgeRockApiMockEngine.js +161 -83
  152. package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
  153. package/cjs/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
  154. package/cjs/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
  155. package/cjs/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
  156. package/cjs/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
  157. package/cjs/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
  158. package/cjs/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
  159. package/cjs/utils/AutoSetupPolly.js +79 -0
  160. package/cjs/utils/AutoSetupPolly.js.map +1 -0
  161. package/cjs/utils/SetupJest.js +6 -0
  162. package/cjs/utils/SetupJest.js.map +1 -0
  163. package/cjs/{test/mocks → utils}/snapshotResolve.js +10 -12
  164. package/cjs/utils/snapshotResolve.js.map +1 -0
  165. package/esm/api/AgentApi.mjs +19 -21
  166. package/esm/api/AgentApi.test.mjs +6 -15
  167. package/esm/api/ApiTypes.mjs +0 -5
  168. package/esm/api/AuthenticateApi.mjs +7 -10
  169. package/esm/api/AuthenticateApi.test.mjs +39 -0
  170. package/esm/api/BaseApi.mjs +96 -81
  171. package/esm/api/CirclesOfTrustApi.mjs +9 -12
  172. package/esm/api/IdmConfigApi.mjs +11 -12
  173. package/esm/api/LogApi.mjs +6 -10
  174. package/esm/api/ManagedObjectApi.mjs +23 -8
  175. package/esm/api/NodeApi.mjs +13 -15
  176. package/esm/api/NodeApi.test.mjs +13 -17
  177. package/esm/api/OAuth2ClientApi.mjs +7 -9
  178. package/esm/api/OAuth2OIDCApi.mjs +15 -9
  179. package/esm/api/OAuth2OIDCApi.test.mjs +53 -0
  180. package/esm/api/OAuth2ProviderApi.mjs +3 -5
  181. package/esm/api/RealmApi.mjs +10 -13
  182. package/esm/api/Saml2Api.mjs +25 -29
  183. package/esm/api/ScriptApi.mjs +9 -11
  184. package/esm/api/SecretsApi.mjs +21 -24
  185. package/esm/api/SecretsApi.test.mjs +9 -31
  186. package/esm/api/ServerInfoApi.mjs +5 -9
  187. package/esm/api/ServiceApi.mjs +53 -26
  188. package/esm/api/SocialIdentityProvidersApi.mjs +11 -13
  189. package/esm/api/StartupApi.mjs +5 -10
  190. package/esm/api/StartupApi.test.mjs +4 -7
  191. package/esm/api/TreeApi.mjs +9 -11
  192. package/esm/api/TreeApi.test.mjs +24 -61
  193. package/esm/api/VariablesApi.mjs +11 -13
  194. package/esm/api/VariablesApi.test.mjs +80 -222
  195. package/esm/api/utils/ApiUtils.mjs +45 -48
  196. package/esm/api/utils/ApiUtils.test.mjs +33 -32
  197. package/esm/api/utils/Base64.mjs +5 -9
  198. package/esm/ext/axios-curlirize/curlirize.mjs +2 -7
  199. package/esm/ext/axios-curlirize/lib/CurlHelper.mjs +7 -20
  200. package/esm/index.mjs +23 -13
  201. package/esm/ops/AdminOps.mjs +33 -119
  202. package/esm/ops/AgentOps.mjs +37 -80
  203. package/esm/ops/AgentOps.test.mjs +5 -45
  204. package/esm/ops/AuthenticateOps.mjs +241 -175
  205. package/esm/ops/AuthenticateOps.test.mjs +7 -9
  206. package/esm/ops/CirclesOfTrustOps.mjs +24 -61
  207. package/esm/ops/ConnectionProfileOps.mjs +192 -82
  208. package/esm/ops/ConnectionProfileOps.test.mjs +19 -19
  209. package/esm/ops/EmailTemplateOps.mjs +18 -276
  210. package/esm/ops/EmailTemplateOps.test.mjs +19 -44
  211. package/esm/ops/IdmOps.mjs +30 -327
  212. package/esm/ops/IdmOps.test.mjs +47 -54
  213. package/esm/ops/IdpOps.mjs +21 -59
  214. package/esm/ops/IdpOps.test.mjs +5 -5
  215. package/esm/ops/JoseOps.mjs +41 -0
  216. package/esm/ops/JoseOps.test.mjs +137 -0
  217. package/esm/ops/JourneyOps.mjs +146 -289
  218. package/esm/ops/JourneyOps.test.mjs +29 -27
  219. package/esm/ops/LogOps.mjs +15 -25
  220. package/esm/ops/ManagedObjectOps.mjs +6 -6
  221. package/esm/ops/NodeOps.mjs +9 -47
  222. package/esm/ops/OAuth2ClientOps.mjs +13 -19
  223. package/esm/ops/OpsTypes.mjs +1 -3
  224. package/esm/ops/OrganizationOps.mjs +7 -14
  225. package/esm/ops/RealmOps.mjs +4 -7
  226. package/esm/ops/Saml2Ops.mjs +28 -62
  227. package/esm/ops/Saml2Ops.test.mjs +20 -23
  228. package/esm/ops/ScriptOps.mjs +29 -47
  229. package/esm/ops/SecretsOps.mjs +15 -31
  230. package/esm/ops/ServiceAccountOps.mjs +41 -0
  231. package/esm/ops/ServiceAccountOps.test.mjs +51 -0
  232. package/esm/ops/ServiceOps.mjs +66 -83
  233. package/esm/ops/StartupOps.mjs +4 -13
  234. package/esm/ops/ThemeOps.mjs +189 -298
  235. package/esm/{api/ThemeApi.test.mjs → ops/ThemeOps.test.mjs} +91 -96
  236. package/esm/ops/VariablesOps.mjs +9 -18
  237. package/esm/ops/utils/Console.mjs +28 -46
  238. package/esm/ops/utils/DataProtection.mjs +15 -28
  239. package/esm/ops/utils/DataProtection.test.mjs +8 -8
  240. package/esm/ops/utils/ExportImportUtils.mjs +34 -43
  241. package/esm/ops/utils/ExportImportUtils.test.mjs +20 -18
  242. package/esm/ops/utils/OpsUtils.mjs +27 -21
  243. package/esm/ops/utils/OpsUtils.test.mjs +155 -27
  244. package/esm/ops/utils/ValidationUtils.mjs +0 -9
  245. package/esm/ops/utils/Version.mjs +2 -3
  246. package/esm/ops/utils/Version.test.mjs +0 -2
  247. package/esm/ops/utils/Wordwrap.mjs +1 -1
  248. package/esm/ops/utils/Wordwrap.test.mjs +19 -0
  249. package/esm/shared/State.mjs +164 -0
  250. package/esm/shared/State.test.mjs +249 -0
  251. package/esm/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
  252. package/esm/test/mocks/ForgeRockApiMockEngine.mjs +147 -31
  253. package/esm/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
  254. package/esm/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
  255. package/esm/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
  256. package/esm/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
  257. package/esm/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
  258. package/esm/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
  259. package/esm/utils/AutoSetupPolly.mjs +72 -0
  260. package/esm/utils/SetupJest.mjs +3 -0
  261. package/esm/{test/mocks → utils}/snapshotResolve.mjs +10 -12
  262. package/package.json +36 -26
  263. package/types/api/AgentApi.d.ts.map +1 -1
  264. package/types/api/ApiTypes.d.ts +15 -16
  265. package/types/api/ApiTypes.d.ts.map +1 -1
  266. package/types/api/AuthenticateApi.d.ts +1 -1
  267. package/types/api/AuthenticateApi.d.ts.map +1 -1
  268. package/types/api/BaseApi.d.ts +2 -0
  269. package/types/api/BaseApi.d.ts.map +1 -1
  270. package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
  271. package/types/api/IdmConfigApi.d.ts.map +1 -1
  272. package/types/api/LogApi.d.ts.map +1 -1
  273. package/types/api/ManagedObjectApi.d.ts +9 -1
  274. package/types/api/ManagedObjectApi.d.ts.map +1 -1
  275. package/types/api/NodeApi.d.ts.map +1 -1
  276. package/types/api/OAuth2ClientApi.d.ts.map +1 -1
  277. package/types/api/OAuth2OIDCApi.d.ts +4 -2
  278. package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
  279. package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
  280. package/types/api/RealmApi.d.ts.map +1 -1
  281. package/types/api/Saml2Api.d.ts.map +1 -1
  282. package/types/api/ScriptApi.d.ts.map +1 -1
  283. package/types/api/SecretsApi.d.ts.map +1 -1
  284. package/types/api/ServerInfoApi.d.ts.map +1 -1
  285. package/types/api/ServiceApi.d.ts +14 -7
  286. package/types/api/ServiceApi.d.ts.map +1 -1
  287. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  288. package/types/api/StartupApi.d.ts.map +1 -1
  289. package/types/api/TreeApi.d.ts.map +1 -1
  290. package/types/api/VariablesApi.d.ts.map +1 -1
  291. package/types/api/utils/ApiUtils.d.ts +1 -0
  292. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  293. package/types/index.d.ts +11 -5
  294. package/types/index.d.ts.map +1 -1
  295. package/types/ops/AuthenticateOps.d.ts +10 -2
  296. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  297. package/types/ops/ConnectionProfileOps.d.ts +49 -21
  298. package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
  299. package/types/ops/EmailTemplateOps.d.ts +14 -33
  300. package/types/ops/EmailTemplateOps.d.ts.map +1 -1
  301. package/types/ops/IdmOps.d.ts +29 -37
  302. package/types/ops/IdmOps.d.ts.map +1 -1
  303. package/types/ops/JoseOps.d.ts +33 -0
  304. package/types/ops/JoseOps.d.ts.map +1 -0
  305. package/types/ops/JourneyOps.d.ts.map +1 -1
  306. package/types/ops/LogOps.d.ts.map +1 -1
  307. package/types/ops/NodeOps.d.ts.map +1 -1
  308. package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
  309. package/types/ops/OpsTypes.d.ts +1 -1
  310. package/types/ops/OpsTypes.d.ts.map +1 -1
  311. package/types/ops/OrganizationOps.d.ts.map +1 -1
  312. package/types/ops/ScriptOps.d.ts.map +1 -1
  313. package/types/ops/ServiceAccountOps.d.ts +20 -0
  314. package/types/ops/ServiceAccountOps.d.ts.map +1 -0
  315. package/types/ops/ServiceOps.d.ts +18 -10
  316. package/types/ops/ServiceOps.d.ts.map +1 -1
  317. package/types/ops/ThemeOps.d.ts +35 -50
  318. package/types/ops/ThemeOps.d.ts.map +1 -1
  319. package/types/ops/utils/Console.d.ts +1 -1
  320. package/types/ops/utils/Console.d.ts.map +1 -1
  321. package/types/ops/utils/DataProtection.d.ts.map +1 -1
  322. package/types/ops/utils/ExportImportUtils.d.ts +5 -2
  323. package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
  324. package/types/ops/utils/OpsUtils.d.ts +6 -0
  325. package/types/ops/utils/OpsUtils.d.ts.map +1 -1
  326. package/types/ops/utils/Wordwrap.d.ts.map +1 -1
  327. package/types/shared/State.d.ts +223 -0
  328. package/types/shared/State.d.ts.map +1 -0
  329. package/types/test/mocks/ForgeRockApiMockEngine.d.ts +19 -1
  330. package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
  331. package/types/utils/AutoSetupPolly.d.ts +1 -0
  332. package/types/utils/AutoSetupPolly.d.ts.map +1 -0
  333. package/types/utils/SetupJest.d.ts +1 -0
  334. package/types/utils/SetupJest.d.ts.map +1 -0
  335. package/types/utils/snapshotResolve.d.ts +1 -0
  336. package/types/utils/snapshotResolve.d.ts.map +1 -0
  337. package/cjs/api/EmailTemplateApi.js +0 -73
  338. package/cjs/api/EmailTemplateApi.js.map +0 -1
  339. package/cjs/api/ThemeApi.js +0 -367
  340. package/cjs/api/ThemeApi.js.map +0 -1
  341. package/cjs/api/ThemeApi.test.js.map +0 -1
  342. package/cjs/storage/SessionStorage.js +0 -91
  343. package/cjs/storage/SessionStorage.js.map +0 -1
  344. package/cjs/test/mocks/snapshotResolve.js.map +0 -1
  345. package/esm/api/EmailTemplateApi.mjs +0 -34
  346. package/esm/api/ThemeApi.mjs +0 -271
  347. package/esm/storage/SessionStorage.mjs +0 -79
  348. package/types/api/EmailTemplateApi.d.ts +0 -22
  349. package/types/api/EmailTemplateApi.d.ts.map +0 -1
  350. package/types/api/ThemeApi.d.ts +0 -56
  351. package/types/api/ThemeApi.d.ts.map +0 -1
  352. package/types/storage/SessionStorage.d.ts +0 -71
  353. package/types/storage/SessionStorage.d.ts.map +0 -1
  354. package/types/test/mocks/snapshotResolve.d.ts +0 -1
  355. package/types/test/mocks/snapshotResolve.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/CirclesOfTrustApi.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,wBAAsB,iBAAiB,iBAUtC;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,KAAA,gBAW3C;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,KAAA,gBAehD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA,gBAWvD","file":"CirclesOfTrustApi.d.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 return {\n path: `/json${getCurrentRealmPath()}/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 const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\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 const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\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 const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n postData,\n {\n withCredentials: true,\n }\n );\n return data;\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 const { data } = await generateAmApi(getApiConfig()).put(urlString, cotData, {\n withCredentials: true,\n });\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/CirclesOfTrustApi.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,wBAAsB,iBAAiB,iBAUtC;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,KAAA,gBAW3C;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,KAAA,gBAehD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA,gBAWvD","file":"CirclesOfTrustApi.d.ts","sourcesContent":["import util from 'util';\nimport _ from 'lodash';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\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 return {\n path: `/json${getCurrentRealmPath()}/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 state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\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 state.getHost(),\n getCurrentRealmPath(),\n cotId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\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 state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n postData,\n {\n withCredentials: true,\n }\n );\n return data;\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 state.getHost(),\n getCurrentRealmPath(),\n cotId\n );\n const { data } = await generateAmApi(getApiConfig()).put(urlString, cotData, {\n withCredentials: true,\n });\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/IdmConfigApi.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,wBAAsB,oBAAoB,iBAOzC;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,KAAA,gBAQjD;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,QAAQ,KAAA,gBAQ7C;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,MAAM,gBAa5B;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,KAAA,EACJ,MAAM,KAAA,EACN,UAAU,KAAA,GACT,OAAO,CAAC;IACT,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC,CAeD","file":"IdmConfigApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\nconst idmManagedObjectURLTemplate =\n '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities() {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {String} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType(type) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getTenantURL(storage.session.getTenant()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity(entityId) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(storage.session.getTenant()),\n entityId\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity(\n entityId: string,\n entityData: string | object\n) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(storage.session.getTenant()),\n entityId\n );\n try {\n const { data } = await generateIdmApi().put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Query managed objects\n * @param {String} type managed object type\n * @param {[String]} fields fields to retrieve\n * @param {String} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n type,\n fields,\n pageCookie\n): Promise<{\n result: unknown[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: string;\n totalPagedResults: number;\n remainingPagedResults: number;\n}> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${idmManagedObjectURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(storage.session.getTenant()),\n type\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/IdmConfigApi.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,wBAAsB,oBAAoB,iBAOzC;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,KAAA,gBAQjD;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,QAAQ,KAAA,gBAQ7C;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,MAAM,gBAa5B;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,KAAA,EACJ,MAAM,KAAA,EACN,UAAU,KAAA,GACT,OAAO,CAAC;IACT,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC,CAeD","file":"IdmConfigApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\nconst idmManagedObjectURLTemplate =\n '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities() {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {String} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType(type) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getTenantURL(state.getHost()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity(entityId) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity(\n entityId: string,\n entityData: string | object\n) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(state.getHost()),\n entityId\n );\n try {\n const { data } = await generateIdmApi().put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Query managed objects\n * @param {String} type managed object type\n * @param {[String]} fields fields to retrieve\n * @param {String} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n type,\n fields,\n pageCookie\n): Promise<{\n result: unknown[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: string;\n totalPagedResults: number;\n remainingPagedResults: number;\n}> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${idmManagedObjectURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n const { data } = await generateIdmApi().get(urlString);\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/LogApi.ts"],"names":[],"mappings":"AAYA,wBAAsB,IAAI,CAAC,MAAM,KAAA,EAAE,MAAM,KAAA,oDAUxC;AAED,wBAAsB,UAAU,qDAM/B;AAED,wBAAsB,UAAU,qDAM/B;AAED,wBAAsB,qBAAqB,CAAC,OAAO,KAAA,oDAMlD;AAED,wBAAsB,KAAK,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA,EAAE,KAAK,KAAA,EAAE,MAAM,KAAA,oDAYzD","file":"LogApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateLogApi, generateLogKeysApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst logsTailURLTemplate = '%s/monitoring/logs/tail?source=%s';\nconst logsFetchURLTemplate =\n '%s/monitoring/logs?source=%s&beginTime=%s&endTime=%s';\nconst logsSourcesURLTemplate = '%s/monitoring/logs/sources';\nconst logsCreateAPIKeyAndSecretURLTemplate = '%s/keys?_action=create';\nconst logsGetAPIKeysURLTemplate = '%s/keys';\n\nexport async function tail(source, cookie) {\n let urlString = util.format(\n logsTailURLTemplate,\n getTenantURL(storage.session.getTenant()),\n encodeURIComponent(source)\n );\n if (cookie) {\n urlString += `&_pagedResultsCookie=${encodeURIComponent(cookie)}`;\n }\n return generateLogApi().get(urlString);\n}\n\nexport async function getAPIKeys() {\n const urlString = util.format(\n logsGetAPIKeysURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n return generateLogKeysApi().get(urlString);\n}\n\nexport async function getSources() {\n const urlString = util.format(\n logsSourcesURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n return generateLogApi().get(urlString);\n}\n\nexport async function createAPIKeyAndSecret(keyName) {\n const urlString = util.format(\n logsCreateAPIKeyAndSecretURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n return generateLogKeysApi().post(urlString, { name: keyName });\n}\n\nexport async function fetch(source, startTs, endTs, cookie) {\n let urlString = util.format(\n logsFetchURLTemplate,\n getTenantURL(storage.session.getTenant()),\n encodeURIComponent(source),\n startTs,\n endTs\n );\n if (cookie) {\n urlString += `&_pagedResultsCookie=${encodeURIComponent(cookie)}`;\n }\n return generateLogApi({ timeout: 60000 }).get(urlString);\n}\n"]}
1
+ {"version":3,"sources":["../src/api/LogApi.ts"],"names":[],"mappings":"AAYA,wBAAsB,IAAI,CAAC,MAAM,KAAA,EAAE,MAAM,KAAA,oDAUxC;AAED,wBAAsB,UAAU,qDAM/B;AAED,wBAAsB,UAAU,qDAM/B;AAED,wBAAsB,qBAAqB,CAAC,OAAO,KAAA,oDAMlD;AAED,wBAAsB,KAAK,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA,EAAE,KAAK,KAAA,EAAE,MAAM,KAAA,oDAYzD","file":"LogApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateLogApi, generateLogKeysApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst logsTailURLTemplate = '%s/monitoring/logs/tail?source=%s';\nconst logsFetchURLTemplate =\n '%s/monitoring/logs?source=%s&beginTime=%s&endTime=%s';\nconst logsSourcesURLTemplate = '%s/monitoring/logs/sources';\nconst logsCreateAPIKeyAndSecretURLTemplate = '%s/keys?_action=create';\nconst logsGetAPIKeysURLTemplate = '%s/keys';\n\nexport async function tail(source, cookie) {\n let urlString = util.format(\n logsTailURLTemplate,\n getTenantURL(state.getHost()),\n encodeURIComponent(source)\n );\n if (cookie) {\n urlString += `&_pagedResultsCookie=${encodeURIComponent(cookie)}`;\n }\n return generateLogApi().get(urlString);\n}\n\nexport async function getAPIKeys() {\n const urlString = util.format(\n logsGetAPIKeysURLTemplate,\n getTenantURL(state.getHost())\n );\n return generateLogKeysApi().get(urlString);\n}\n\nexport async function getSources() {\n const urlString = util.format(\n logsSourcesURLTemplate,\n getTenantURL(state.getHost())\n );\n return generateLogApi().get(urlString);\n}\n\nexport async function createAPIKeyAndSecret(keyName) {\n const urlString = util.format(\n logsCreateAPIKeyAndSecretURLTemplate,\n getTenantURL(state.getHost())\n );\n return generateLogKeysApi().post(urlString, { name: keyName });\n}\n\nexport async function fetch(source, startTs, endTs, cookie) {\n let urlString = util.format(\n logsFetchURLTemplate,\n getTenantURL(state.getHost()),\n encodeURIComponent(source),\n startTs,\n endTs\n );\n if (cookie) {\n urlString += `&_pagedResultsCookie=${encodeURIComponent(cookie)}`;\n }\n return generateLogApi({ timeout: 60000 }).get(urlString);\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import { ObjectSkeletonInterface } from './ApiTypes';
1
2
  /**
2
3
  * Get managed object
3
4
  * @param {String} id managed object id
@@ -5,7 +6,14 @@
5
6
  */
6
7
  export declare function getManagedObject(type: any, id: any, fields: any): Promise<import("axios").AxiosResponse<any, any>>;
7
8
  /**
8
- * Put managed object
9
+ * Create managed object with server-generated id
10
+ * @param {string} moType managed object type
11
+ * @param {any} moData managed object data
12
+ * @returns {Promise<ObjectSkeletonInterface>} a promise that resolves to an object containing a managed object
13
+ */
14
+ export declare function createManagedObject(moType: string, moData: any): Promise<ObjectSkeletonInterface>;
15
+ /**
16
+ * Create or update managed object
9
17
  * @param {String} id managed object id
10
18
  * @param {String} data managed object
11
19
  * @returns {Promise} a promise that resolves to an object containing a managed object
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/ManagedObjectApi.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA,EAAE,MAAM,KAAA,oDAUtD;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA,EAAE,IAAI,KAAA,oDAQpD;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,UAAU,KAAA,oDAY1E","file":"ManagedObjectApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst managedObjectURLTemplate = '%s/openidm/managed/%s';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `${managedObjectURLTemplate}?_queryFilter=true&_pageSize=10000`;\n\n/**\n * Get managed object\n * @param {String} id managed object id\n * @returns {Promise} a promise that resolves to an object containing a managed object\n */\nexport async function getManagedObject(type, id, fields) {\n const fieldsParam =\n fields.length > 0 ? `_fields=${fields.join(',')}` : '_fields=*';\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getTenantURL(storage.session.getTenant()),\n type,\n id\n );\n return generateIdmApi().get(urlString);\n}\n\n/**\n * Put managed object\n * @param {String} id managed object id\n * @param {String} data managed object\n * @returns {Promise} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject(type, id, data) {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getTenantURL(storage.session.getTenant()),\n type,\n id\n );\n return generateIdmApi().put(urlString, data);\n}\n\n/**\n * Query managed objects\n * @param {String} type managed object type\n * @param {String} fields fields to retrieve\n * @param {String} pageCookie paged results cookie\n * @returns {Promise} a promise that resolves to an object containing managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(type, fields, pageCookie) {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${pageCookie}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(storage.session.getTenant()),\n type\n );\n return generateIdmApi().get(urlString);\n}\n"]}
1
+ {"version":3,"sources":["../src/api/ManagedObjectApi.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAOrD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA,EAAE,MAAM,KAAA,oDAUtD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,KAAA,GACL,OAAO,CAAC,uBAAuB,CAAC,CAQlC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA,EAAE,IAAI,KAAA,oDAQpD;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,UAAU,KAAA,oDAY1E","file":"ManagedObjectApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getTenantURL } from './utils/ApiUtils';\nimport * as state from '../shared/State';\nimport { ObjectSkeletonInterface } from './ApiTypes';\n\nconst managedObjectURLTemplate = '%s/openidm/managed/%s';\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `${managedObjectURLTemplate}?_queryFilter=true&_pageSize=10000`;\n\n/**\n * Get managed object\n * @param {String} id managed object id\n * @returns {Promise} a promise that resolves to an object containing a managed object\n */\nexport async function getManagedObject(type, id, fields) {\n const fieldsParam =\n fields.length > 0 ? `_fields=${fields.join(',')}` : '_fields=*';\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getTenantURL(state.getHost()),\n type,\n id\n );\n return generateIdmApi().get(urlString);\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} moType managed object type\n * @param {any} moData managed object data\n * @returns {Promise<ObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject(\n moType: string,\n moData\n): Promise<ObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n getTenantURL(state.getHost()),\n moType\n );\n const { data } = await generateIdmApi().post(urlString, moData);\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {String} id managed object id\n * @param {String} data managed object\n * @returns {Promise} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject(type, id, data) {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getTenantURL(state.getHost()),\n type,\n id\n );\n return generateIdmApi().put(urlString, data);\n}\n\n/**\n * Query managed objects\n * @param {String} type managed object type\n * @param {String} fields fields to retrieve\n * @param {String} pageCookie paged results cookie\n * @returns {Promise} a promise that resolves to an object containing managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(type, fields, pageCookie) {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${pageCookie}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getTenantURL(state.getHost()),\n type\n );\n return generateIdmApi().get(urlString);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/NodeApi.ts"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,wBAAsB,YAAY,iBAejC;AAED;;;GAGG;AACH,wBAAsB,QAAQ,iBAe7B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,gBAWpD;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAY7D;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,KAAA,gBAmBvE;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAYhE","file":"NodeApi.d.ts","sourcesContent":["import util from 'util';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst queryAllNodeTypesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes';\nconst queryAllNodesByTypeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s?_queryFilter=true';\nconst queryAllNodesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents';\nconst nodeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s/%s';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getNodeApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get all node types\n * @returns {Promise} a promise that resolves to an array of node type objects\n */\nexport async function getNodeTypes() {\n const urlString = util.format(\n queryAllNodeTypesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return data;\n}\n\n/**\n * Get all nodes\n * @returns {Promise} a promise that resolves to an object containing an array of node objects\n */\nexport async function getNodes() {\n const urlString = util.format(\n queryAllNodesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return data;\n}\n\n/**\n * Get all nodes by type\n * @param {string} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing an array of node objects of the requested type\n */\nexport async function getNodesByType(nodeType: string) {\n const urlString = util.format(\n queryAllNodesByTypeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to a node object\n */\nexport async function getNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @param {Object} nodeData node object\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function putNode(nodeId: string, nodeType: string, nodeData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(nodeData, '-encrypted');\n const urlString = util.format(\n nodeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function deleteNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/NodeApi.ts"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,wBAAsB,YAAY,iBAejC;AAED;;;GAGG;AACH,wBAAsB,QAAQ,iBAe7B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,gBAWpD;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAY7D;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,KAAA,gBAmBvE;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAYhE","file":"NodeApi.d.ts","sourcesContent":["import util from 'util';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst queryAllNodeTypesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes';\nconst queryAllNodesByTypeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s?_queryFilter=true';\nconst queryAllNodesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents';\nconst nodeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s/%s';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getNodeApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get all node types\n * @returns {Promise} a promise that resolves to an array of node type objects\n */\nexport async function getNodeTypes() {\n const urlString = util.format(\n queryAllNodeTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return data;\n}\n\n/**\n * Get all nodes\n * @returns {Promise} a promise that resolves to an object containing an array of node objects\n */\nexport async function getNodes() {\n const urlString = util.format(\n queryAllNodesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return data;\n}\n\n/**\n * Get all nodes by type\n * @param {string} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing an array of node objects of the requested type\n */\nexport async function getNodesByType(nodeType: string) {\n const urlString = util.format(\n queryAllNodesByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to a node object\n */\nexport async function getNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @param {Object} nodeData node object\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function putNode(nodeId: string, nodeType: string, nodeData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(nodeData, '-encrypted');\n const urlString = util.format(\n nodeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function deleteNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/OAuth2ClientApi.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAsB,gBAAgB,qDASrC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,EAAE,KAAA,oDAUvC;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,EAAE,KAAA,EAAE,IAAI,KAAA,oDAe7C","file":"OAuth2ClientApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst oauth2ClientURLTemplate = '%s/json%s/realm-config/agents/OAuth2Client/%s';\nconst oauth2ClientListURLTemplate =\n '%s/json%s/realm-config/agents/OAuth2Client?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/agents/OAuth2Client`,\n apiVersion,\n };\n};\n\n/**\n * Get OAuth2 Clients\n * @returns {Promise} a promise that resolves to an object containing an array of oauth2client objects\n */\nexport async function getOAuth2Clients() {\n const urlString = util.format(\n oauth2ClientListURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get OAuth2 Client\n * @param {String} id client id\n * @returns {Promise} a promise that resolves to an object containing an oauth2client object\n */\nexport async function getOAuth2Client(id) {\n const urlString = util.format(\n oauth2ClientURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n id\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Put OAuth2 Client\n * @param {String} id client id\n * @param {Object} data oauth2client object\n * @returns {Promise} a promise that resolves to an object containing an oauth2client object\n */\nexport async function putOAuth2Client(id, data) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const client = deleteDeepByKey(data, '-encrypted');\n delete client._provider;\n delete client._rev;\n const urlString = util.format(\n oauth2ClientURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n id\n );\n return generateAmApi(getApiConfig()).put(urlString, client, {\n withCredentials: true,\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/api/OAuth2ClientApi.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAsB,gBAAgB,qDASrC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,EAAE,KAAA,oDAUvC;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,EAAE,KAAA,EAAE,IAAI,KAAA,oDAe7C","file":"OAuth2ClientApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst oauth2ClientURLTemplate = '%s/json%s/realm-config/agents/OAuth2Client/%s';\nconst oauth2ClientListURLTemplate =\n '%s/json%s/realm-config/agents/OAuth2Client?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/agents/OAuth2Client`,\n apiVersion,\n };\n};\n\n/**\n * Get OAuth2 Clients\n * @returns {Promise} a promise that resolves to an object containing an array of oauth2client objects\n */\nexport async function getOAuth2Clients() {\n const urlString = util.format(\n oauth2ClientListURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get OAuth2 Client\n * @param {String} id client id\n * @returns {Promise} a promise that resolves to an object containing an oauth2client object\n */\nexport async function getOAuth2Client(id) {\n const urlString = util.format(\n oauth2ClientURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n id\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Put OAuth2 Client\n * @param {String} id client id\n * @param {Object} data oauth2client object\n * @returns {Promise} a promise that resolves to an object containing an oauth2client object\n */\nexport async function putOAuth2Client(id, data) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const client = deleteDeepByKey(data, '-encrypted');\n delete client._provider;\n delete client._rev;\n const urlString = util.format(\n oauth2ClientURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n id\n );\n return generateAmApi(getApiConfig()).put(urlString, client, {\n withCredentials: true,\n });\n}\n"]}
@@ -1,17 +1,19 @@
1
+ import { AxiosRequestConfig } from 'axios';
1
2
  /**
2
3
  * Perform the authorization step of the authorization code grant flow
3
4
  * @param {String} data body form data
4
5
  * @param {Object} config axios request config object
5
6
  * @returns {Promise} a promise resolving to an object containing the authorization server response object
6
7
  */
7
- export declare function authorize(data: any, config?: {}): Promise<import("axios").AxiosResponse<any, any>>;
8
+ export declare function authorize(data: any, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any>>;
8
9
  /**
9
10
  * Perform access token request step of the authorization code grant flow
10
11
  * @param {*} data body form data
11
12
  * @param {*} config config axios request config object
12
13
  * @returns {Promise} a promise resolving to an object containing the authorization server response object containing the access token
13
14
  */
14
- export declare function accessToken(data: any, config?: {}): Promise<import("axios").AxiosResponse<any, any>>;
15
+ export declare function accessToken(data: any, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any>>;
16
+ export declare function getTokenInfo(config?: AxiosRequestConfig): Promise<any>;
15
17
  /**
16
18
  * Perform client credentials grant flow
17
19
  * @param {String} clientId client id
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/OAuth2OIDCApi.ts"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,IAAI,KAAA,EAAE,MAAM,KAAK,oDAOhD;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,KAAA,EAAE,MAAM,KAAK,oDAOlD;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,KAAA,EAAE,YAAY,KAAA,EAAE,KAAK,KAAA,oDAqBzE","file":"OAuth2OIDCApi.d.ts","sourcesContent":["import util from 'util';\nimport qs from 'qs';\nimport { generateOauth2Api } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\nimport { encode } from './utils/Base64';\n\nconst authorizeUrlTemplate = '%s/oauth2%s/authorize';\nconst accessTokenUrlTemplate = '%s/oauth2%s/access_token';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\n/**\n * Perform the authorization step of the authorization code grant flow\n * @param {String} data body form data\n * @param {Object} config axios request config object\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function authorize(data, config = {}) {\n const authorizeURL = util.format(\n authorizeUrlTemplate,\n storage.session.getTenant(),\n ''\n );\n return generateOauth2Api(getApiConfig()).post(authorizeURL, data, config);\n}\n\n/**\n * Perform access token request step of the authorization code grant flow\n * @param {*} data body form data\n * @param {*} config config axios request config object\n * @returns {Promise} a promise resolving to an object containing the authorization server response object containing the access token\n */\nexport async function accessToken(data, config = {}) {\n const accessTokenURL = util.format(\n accessTokenUrlTemplate,\n storage.session.getTenant(),\n ''\n );\n return generateOauth2Api(getApiConfig()).post(accessTokenURL, data, config);\n}\n\n/**\n * Perform client credentials grant flow\n * @param {String} clientId client id\n * @param {String} clientSecret client secret\n * @param {String} scope space-delimited scope list\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function clientCredentialsGrant(clientId, clientSecret, scope) {\n const urlString = util.format(\n accessTokenUrlTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const requestOverride = {\n headers: {\n Authorization: `Basic ${encode(`${clientId}:${clientSecret}`)}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n const requestBody = {\n grant_type: 'client_credentials',\n scope,\n };\n return generateOauth2Api(getApiConfig(), requestOverride).post(\n urlString,\n qs.stringify(requestBody),\n { withCredentials: true }\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/api/OAuth2OIDCApi.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAU3C;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,IAAI,KAAA,EAAE,MAAM,GAAE,kBAAuB,oDAGpE;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,KAAA,EAAE,MAAM,GAAE,kBAAuB,oDAOtE;AAED,wBAAsB,YAAY,CAAC,MAAM,GAAE,kBAAuB,gBAOjE;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,KAAA,EAAE,YAAY,KAAA,EAAE,KAAK,KAAA,oDAqBzE","file":"OAuth2OIDCApi.d.ts","sourcesContent":["import util from 'util';\nimport qs from 'qs';\nimport { generateOauth2Api } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\nimport { encode } from './utils/Base64';\nimport { AxiosRequestConfig } from 'axios';\n\nconst authorizeUrlTemplate = '%s/oauth2%s/authorize';\nconst accessTokenUrlTemplate = '%s/oauth2%s/access_token';\nconst tokenInfoUrlTemplate = '%s/oauth2%s/tokeninfo';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\n/**\n * Perform the authorization step of the authorization code grant flow\n * @param {String} data body form data\n * @param {Object} config axios request config object\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function authorize(data, config: AxiosRequestConfig = {}) {\n const authorizeURL = util.format(authorizeUrlTemplate, state.getHost(), '');\n return generateOauth2Api(getApiConfig()).post(authorizeURL, data, config);\n}\n\n/**\n * Perform access token request step of the authorization code grant flow\n * @param {*} data body form data\n * @param {*} config config axios request config object\n * @returns {Promise} a promise resolving to an object containing the authorization server response object containing the access token\n */\nexport async function accessToken(data, config: AxiosRequestConfig = {}) {\n const accessTokenURL = util.format(\n accessTokenUrlTemplate,\n state.getHost(),\n ''\n );\n return generateOauth2Api(getApiConfig()).post(accessTokenURL, data, config);\n}\n\nexport async function getTokenInfo(config: AxiosRequestConfig = {}) {\n const accessTokenURL = util.format(tokenInfoUrlTemplate, state.getHost(), '');\n const { data } = await generateOauth2Api(getApiConfig()).get(\n accessTokenURL,\n config\n );\n return data;\n}\n\n/**\n * Perform client credentials grant flow\n * @param {String} clientId client id\n * @param {String} clientSecret client secret\n * @param {String} scope space-delimited scope list\n * @returns {Promise} a promise resolving to an object containing the authorization server response object\n */\nexport async function clientCredentialsGrant(clientId, clientSecret, scope) {\n const urlString = util.format(\n accessTokenUrlTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const requestOverride = {\n headers: {\n Authorization: `Basic ${encode(`${clientId}:${clientSecret}`)}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n };\n const requestBody = {\n grant_type: 'client_credentials',\n scope,\n };\n return generateOauth2Api(getApiConfig(), requestOverride).post(\n urlString,\n qs.stringify(requestBody),\n { withCredentials: true }\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/OAuth2ProviderApi.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAsB,iBAAiB,qDAStC","file":"OAuth2ProviderApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst oauthProviderServiceURLTemplate =\n '%s/json%s/realm-config/services/oauth-oidc';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get OAuth2 Provider\n * @returns {Promise} a promise that resolves to an object containing an OAuth2Provider object\n */\nexport async function getOAuth2Provider() {\n const urlString = util.format(\n oauthProviderServiceURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/api/OAuth2ProviderApi.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAsB,iBAAiB,qDAStC","file":"OAuth2ProviderApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst oauthProviderServiceURLTemplate =\n '%s/json%s/realm-config/services/oauth-oidc';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get OAuth2 Provider\n * @returns {Promise} a promise that resolves to an object containing an OAuth2Provider object\n */\nexport async function getOAuth2Provider() {\n const urlString = util.format(\n oauthProviderServiceURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/RealmApi.ts"],"names":[],"mappings":"AAqBA;;;GAGG;AACH,wBAAsB,SAAS,qDAQ9B;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,EAAE,KAAA,oDAShC;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,KAAA,gBASxC;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,EAAE,KAAA,EAAE,IAAI,KAAA,oDAStC;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,EAAE,KAAA,oDASnC","file":"RealmApi.d.ts","sourcesContent":["import util from 'util';\nimport {\n getTenantURL,\n getCurrentRealmPath,\n getRealmName,\n} from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst realmsListURLTemplate = '%s/json/global-config/realms/?_queryFilter=true';\nconst realmURLTemplate = '%s/json/global-config/realms/%s';\n\nconst apiVersion = 'protocol=2.0,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/am/json/global-config/realms`,\n apiVersion,\n };\n};\n\n/**\n * Get all realms\n * @returns {Promise} a promise that resolves to an object containing an array of realm objects\n */\nexport async function getRealms() {\n const urlString = util.format(\n realmsListURLTemplate,\n storage.session.getTenant()\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get realm by id\n * @param {String} id realm id\n * @returns {Promise} a promise that resolves to an object containing a realm object\n */\nexport async function getRealm(id) {\n const urlString = util.format(\n realmURLTemplate,\n storage.session.getTenant(),\n id\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get realm by name\n * @param {String} name realm name\n * @returns {Promise} a promise that resolves to a realm object\n */\nexport async function getRealmByName(name) {\n return getRealms().then((realms) => {\n for (const realm of realms.data.result) {\n if (getRealmName(name) === realm.name) {\n return realm;\n }\n }\n throw new Error(`Realm ${name} not found!`);\n });\n}\n\n/**\n * Put realm\n * @param {String} id realm id\n * @param {Object} data realm config object\n * @returns {Promise} a promise that resolves to an object containing a realm object\n */\nexport async function putRealm(id, data) {\n const urlString = util.format(\n realmURLTemplate,\n storage.session.getTenant(),\n id\n );\n return generateAmApi(getApiConfig()).put(urlString, data, {\n withCredentials: true,\n });\n}\n\n/**\n * Delete realm\n * @param {String} id realm id\n * @returns {Promise} a promise that resolves to an object containing a realm object\n */\nexport async function deleteRealm(id) {\n const urlString = util.format(\n realmURLTemplate,\n getTenantURL(storage.session.getTenant()),\n id\n );\n return generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/api/RealmApi.ts"],"names":[],"mappings":"AAqBA;;;GAGG;AACH,wBAAsB,SAAS,qDAK9B;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,EAAE,KAAA,oDAKhC;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,KAAA,gBASxC;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,EAAE,KAAA,EAAE,IAAI,KAAA,oDAKtC;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,EAAE,KAAA,oDASnC","file":"RealmApi.d.ts","sourcesContent":["import util from 'util';\nimport {\n getTenantURL,\n getCurrentRealmPath,\n getRealmName,\n} from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst realmsListURLTemplate = '%s/json/global-config/realms/?_queryFilter=true';\nconst realmURLTemplate = '%s/json/global-config/realms/%s';\n\nconst apiVersion = 'protocol=2.0,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/am/json/global-config/realms`,\n apiVersion,\n };\n};\n\n/**\n * Get all realms\n * @returns {Promise} a promise that resolves to an object containing an array of realm objects\n */\nexport async function getRealms() {\n const urlString = util.format(realmsListURLTemplate, state.getHost());\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get realm by id\n * @param {String} id realm id\n * @returns {Promise} a promise that resolves to an object containing a realm object\n */\nexport async function getRealm(id) {\n const urlString = util.format(realmURLTemplate, state.getHost(), id);\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get realm by name\n * @param {String} name realm name\n * @returns {Promise} a promise that resolves to a realm object\n */\nexport async function getRealmByName(name) {\n return getRealms().then((realms) => {\n for (const realm of realms.data.result) {\n if (getRealmName(name) === realm.name) {\n return realm;\n }\n }\n throw new Error(`Realm ${name} not found!`);\n });\n}\n\n/**\n * Put realm\n * @param {String} id realm id\n * @param {Object} data realm config object\n * @returns {Promise} a promise that resolves to an object containing a realm object\n */\nexport async function putRealm(id, data) {\n const urlString = util.format(realmURLTemplate, state.getHost(), id);\n return generateAmApi(getApiConfig()).put(urlString, data, {\n withCredentials: true,\n });\n}\n\n/**\n * Delete realm\n * @param {String} id realm id\n * @returns {Promise} a promise that resolves to an object containing a realm object\n */\nexport async function deleteRealm(id) {\n const urlString = util.format(\n realmURLTemplate,\n getTenantURL(state.getHost()),\n id\n );\n return generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/Saml2Api.ts"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,wBAAsB,YAAY,iBAUjC;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,MAAM,SAAS,EAAE,MAAM,WAAQ,gBAYlE;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,gBAanB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,KAAA,gBAQjD;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,QAAQ,KAAA,EAAE,YAAY,KAAA,EAAE,QAAQ,KAAA,gBA8BpE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,QAAQ,KAAA,EAAE,YAAY,KAAA,gBAgB1D;AAID;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,KAAA,gBAW5C;AAED;;;GAGG;AACH,wBAAsB,eAAe,iBAUpC;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,gBAWpD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,KAAA,gBAehE","file":"Saml2Api.d.ts","sourcesContent":["import _ from 'lodash';\nimport util from 'util';\nimport storage from '../storage/SessionStorage';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\n\nconst providerByLocationAndIdURLTemplate = '%s/json%s/realm-config/saml2/%s/%s';\nconst createHostedProviderURLTemplate =\n '%s/json%s/realm-config/saml2/hosted/?_action=create';\nconst createRemoteProviderURLTemplate =\n '%s/json%s/realm-config/saml2/remote/?_action=importEntity';\nconst queryAllProvidersURLTemplate =\n '%s/json%s/realm-config/saml2?_queryFilter=true';\nconst queryProvidersByEntityIdURLTemplate =\n '%s/json%s/realm-config/saml2?_queryFilter=%s&_fields=%s';\nconst metadataByEntityIdURLTemplate =\n '%s/saml2/jsp/exportmetadata.jsp?entityid=%s&realm=%s';\nconst samlApplicationQueryURLTemplateRaw =\n '%s/json%s/realm-config/federation/entityproviders/saml2?_queryFilter=true';\nconst samlApplicationByEntityIdURLTemplate =\n '%s/json%s/realm-config/federation/entityproviders/saml2/%s';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/saml2`,\n apiVersion,\n };\n};\n\n/**\n * Get all SAML2 entity providers\n * @returns {Promise} a promise that resolves to an array of saml2 entity stubs\n */\nexport async function getProviders() {\n const urlString = util.format(\n queryAllProvidersURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Find all providers matching the filter and return the requested fields\n * @param {string} filter CREST filter string, eg \"entityId+eq+'${entityId}'\" or \"true\" for all providers\n * @param {string[]} fields array of field names to include in the response\n * @returns {Promise} a promise that resolves to an object containing an array of saml2 entities\n */\nexport async function findProviders(filter = 'true', fields = ['*']) {\n const urlString = util.format(\n queryProvidersByEntityIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n encodeURIComponent(filter),\n fields.join(',')\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Geta SAML2 entity provider by location and id\n * @param {string} location Entity provider location (hosted or remote)\n * @param {string} entityId64 Base64-encoded provider entity id\n * @returns {Promise} a promise that resolves to a saml2 entity provider object\n */\nexport async function getProviderByLocationAndId(\n location: string,\n entityId64: string\n) {\n const urlString = util.format(\n providerByLocationAndIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n location,\n entityId64\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get a SAML2 entity provider's metadata URL by entity id\n * @param {string} entityId SAML2 entity id\n * @returns {string} the URL to get the metadata from\n */\nexport function getProviderMetadataUrl(entityId: string): string {\n return util.format(\n metadataByEntityIdURLTemplate,\n storage.session.getTenant(),\n encodeURIComponent(entityId),\n storage.session.getRealm()\n );\n}\n\n/**\n * Get a SAML2 entity provider's metadata by entity id\n * @param {String} entityId SAML2 entity id\n * @returns {Promise} a promise that resolves to an object containing a SAML2 metadata\n */\nexport async function getProviderMetadata(entityId) {\n const { data } = await generateAmApi(getApiConfig()).get(\n getProviderMetadataUrl(entityId),\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Create a SAML2 entity provider\n * @param {String} location 'hosted' or 'remote'\n * @param {Object} providerData Object representing a SAML entity provider\n * @param {String} metaData Base64-encoded metadata XML. Only required for remote providers\n * @returns {Promise} a promise that resolves to a saml2 entity provider object\n */\nexport async function createProvider(location, providerData, metaData) {\n let postData = _.cloneDeep(providerData);\n let urlString = util.format(\n createHostedProviderURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n\n if (location === 'remote') {\n /**\n * Remote entity providers must be created using XML metadata\n */\n urlString = util.format(\n createRemoteProviderURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n postData = {\n standardMetadata: metaData,\n };\n }\n\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n postData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Update SAML2 entity provider\n * @param {String} location Entity provider location (hosted or remote)\n * @param {Object} providerData Object representing a SAML entity provider\n * @returns {Promise} a promise that resolves to a saml2 entity provider object\n */\nexport async function updateProvider(location, providerData) {\n const urlString = util.format(\n providerByLocationAndIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n location,\n providerData._id\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n providerData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n// Contributions using legacy APIs. Need to investigate if those will be deprecated in the future\n\n/**\n * Deletes a SAML2 entity provider by entity id\n * @param {string} entityId Provider entity id\n * @returns {Promise} a promise that resolves to a provider object\n */\nexport async function deleteProvider(entityId) {\n const urlString = util.format(\n samlApplicationByEntityIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n entityId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Retrieves all entity providers using the legacy federation enpoints.\n * @returns {Promise} a promise that resolves to an object containing an array of providers\n */\nexport async function getRawProviders() {\n const urlString = util.format(\n samlApplicationQueryURLTemplateRaw,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Gets the data for an entity provider including the raw XML.\n * @param {string} entityId The entity provider id\n * @returns Promise that when resolved includes the configuration and raw xml for a SAML entity provider\n */\nexport async function getRawProvider(entityId: string) {\n const urlString = util.format(\n samlApplicationByEntityIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n encodeURIComponent(entityId)\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Stores a new SAML2 entity provider\n * @param {string} entityId The entity provider id\n * @param {string} entityData The actual data containing the entity provider configuration\n * @returns {Promise} Promise that resolves to a provider object\n */\nexport async function putRawProvider(entityId: string, entityData) {\n const urlString = util.format(\n samlApplicationByEntityIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n encodeURIComponent(entityId)\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n entityData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/Saml2Api.ts"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,wBAAsB,YAAY,iBAUjC;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,MAAM,SAAS,EAAE,MAAM,WAAQ,gBAYlE;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,gBAanB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,KAAA,gBAQjD;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,QAAQ,KAAA,EAAE,YAAY,KAAA,EAAE,QAAQ,KAAA,gBA8BpE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,QAAQ,KAAA,EAAE,YAAY,KAAA,gBAgB1D;AAID;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,KAAA,gBAW5C;AAED;;;GAGG;AACH,wBAAsB,eAAe,iBAUpC;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,gBAWpD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,KAAA,gBAehE","file":"Saml2Api.d.ts","sourcesContent":["import _ from 'lodash';\nimport util from 'util';\nimport * as state from '../shared/State';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\n\nconst providerByLocationAndIdURLTemplate = '%s/json%s/realm-config/saml2/%s/%s';\nconst createHostedProviderURLTemplate =\n '%s/json%s/realm-config/saml2/hosted/?_action=create';\nconst createRemoteProviderURLTemplate =\n '%s/json%s/realm-config/saml2/remote/?_action=importEntity';\nconst queryAllProvidersURLTemplate =\n '%s/json%s/realm-config/saml2?_queryFilter=true';\nconst queryProvidersByEntityIdURLTemplate =\n '%s/json%s/realm-config/saml2?_queryFilter=%s&_fields=%s';\nconst metadataByEntityIdURLTemplate =\n '%s/saml2/jsp/exportmetadata.jsp?entityid=%s&realm=%s';\nconst samlApplicationQueryURLTemplateRaw =\n '%s/json%s/realm-config/federation/entityproviders/saml2?_queryFilter=true';\nconst samlApplicationByEntityIdURLTemplate =\n '%s/json%s/realm-config/federation/entityproviders/saml2/%s';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/saml2`,\n apiVersion,\n };\n};\n\n/**\n * Get all SAML2 entity providers\n * @returns {Promise} a promise that resolves to an array of saml2 entity stubs\n */\nexport async function getProviders() {\n const urlString = util.format(\n queryAllProvidersURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Find all providers matching the filter and return the requested fields\n * @param {string} filter CREST filter string, eg \"entityId+eq+'${entityId}'\" or \"true\" for all providers\n * @param {string[]} fields array of field names to include in the response\n * @returns {Promise} a promise that resolves to an object containing an array of saml2 entities\n */\nexport async function findProviders(filter = 'true', fields = ['*']) {\n const urlString = util.format(\n queryProvidersByEntityIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n encodeURIComponent(filter),\n fields.join(',')\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Geta SAML2 entity provider by location and id\n * @param {string} location Entity provider location (hosted or remote)\n * @param {string} entityId64 Base64-encoded provider entity id\n * @returns {Promise} a promise that resolves to a saml2 entity provider object\n */\nexport async function getProviderByLocationAndId(\n location: string,\n entityId64: string\n) {\n const urlString = util.format(\n providerByLocationAndIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n location,\n entityId64\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get a SAML2 entity provider's metadata URL by entity id\n * @param {string} entityId SAML2 entity id\n * @returns {string} the URL to get the metadata from\n */\nexport function getProviderMetadataUrl(entityId: string): string {\n return util.format(\n metadataByEntityIdURLTemplate,\n state.getHost(),\n encodeURIComponent(entityId),\n state.getRealm()\n );\n}\n\n/**\n * Get a SAML2 entity provider's metadata by entity id\n * @param {String} entityId SAML2 entity id\n * @returns {Promise} a promise that resolves to an object containing a SAML2 metadata\n */\nexport async function getProviderMetadata(entityId) {\n const { data } = await generateAmApi(getApiConfig()).get(\n getProviderMetadataUrl(entityId),\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Create a SAML2 entity provider\n * @param {String} location 'hosted' or 'remote'\n * @param {Object} providerData Object representing a SAML entity provider\n * @param {String} metaData Base64-encoded metadata XML. Only required for remote providers\n * @returns {Promise} a promise that resolves to a saml2 entity provider object\n */\nexport async function createProvider(location, providerData, metaData) {\n let postData = _.cloneDeep(providerData);\n let urlString = util.format(\n createHostedProviderURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n\n if (location === 'remote') {\n /**\n * Remote entity providers must be created using XML metadata\n */\n urlString = util.format(\n createRemoteProviderURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n postData = {\n standardMetadata: metaData,\n };\n }\n\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n postData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Update SAML2 entity provider\n * @param {String} location Entity provider location (hosted or remote)\n * @param {Object} providerData Object representing a SAML entity provider\n * @returns {Promise} a promise that resolves to a saml2 entity provider object\n */\nexport async function updateProvider(location, providerData) {\n const urlString = util.format(\n providerByLocationAndIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n location,\n providerData._id\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n providerData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n// Contributions using legacy APIs. Need to investigate if those will be deprecated in the future\n\n/**\n * Deletes a SAML2 entity provider by entity id\n * @param {string} entityId Provider entity id\n * @returns {Promise} a promise that resolves to a provider object\n */\nexport async function deleteProvider(entityId) {\n const urlString = util.format(\n samlApplicationByEntityIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n entityId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Retrieves all entity providers using the legacy federation enpoints.\n * @returns {Promise} a promise that resolves to an object containing an array of providers\n */\nexport async function getRawProviders() {\n const urlString = util.format(\n samlApplicationQueryURLTemplateRaw,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Gets the data for an entity provider including the raw XML.\n * @param {string} entityId The entity provider id\n * @returns Promise that when resolved includes the configuration and raw xml for a SAML entity provider\n */\nexport async function getRawProvider(entityId: string) {\n const urlString = util.format(\n samlApplicationByEntityIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n encodeURIComponent(entityId)\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Stores a new SAML2 entity provider\n * @param {string} entityId The entity provider id\n * @param {string} entityData The actual data containing the entity provider configuration\n * @returns {Promise} Promise that resolves to a provider object\n */\nexport async function putRawProvider(entityId: string, entityData) {\n const urlString = util.format(\n samlApplicationByEntityIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n encodeURIComponent(entityId)\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n entityData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/ScriptApi.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAsB,UAAU,iBAU/B;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,UAAU,KAAA,gBAW/C;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,QAAQ,KAAA,gBAWvC;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,QAAQ,KAAA,EAAE,UAAU,KAAA,gBAenD","file":"ScriptApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst scriptURLTemplate = '%s/json%s/scripts/%s';\nconst scriptListURLTemplate = '%s/json%s/scripts?_queryFilter=true';\nconst scriptQueryURLTemplate =\n '%s/json%s/scripts?_queryFilter=name+eq+%%22%s%%22';\nconst apiVersion = 'protocol=2.0,resource=1.0';\nconst getApiConfig = () => {\n return {\n path: `/json${getCurrentRealmPath()}/scripts`,\n apiVersion,\n };\n};\n\n/**\n * Get all scripts\n * @returns {Promise} a promise that resolves to an object containing an array of script objects\n */\nexport async function getScripts() {\n const urlString = util.format(\n scriptListURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get script by name\n * @param {String} scriptName script name\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function getScriptByName(scriptName) {\n const urlString = util.format(\n scriptQueryURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n scriptName\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get script by id\n * @param {String} scriptId script uuid/name\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function getScript(scriptId) {\n const urlString = util.format(\n scriptURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n scriptId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put script\n * @param {string} scriptId script uuid\n * @param {Object} scriptData script object\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function putScript(scriptId, scriptData) {\n const urlString = util.format(\n scriptURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n scriptId\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n scriptData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/ScriptApi.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAsB,UAAU,iBAU/B;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,UAAU,KAAA,gBAW/C;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,QAAQ,KAAA,gBAWvC;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,QAAQ,KAAA,EAAE,UAAU,KAAA,gBAenD","file":"ScriptApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst scriptURLTemplate = '%s/json%s/scripts/%s';\nconst scriptListURLTemplate = '%s/json%s/scripts?_queryFilter=true';\nconst scriptQueryURLTemplate =\n '%s/json%s/scripts?_queryFilter=name+eq+%%22%s%%22';\nconst apiVersion = 'protocol=2.0,resource=1.0';\nconst getApiConfig = () => {\n return {\n path: `/json${getCurrentRealmPath()}/scripts`,\n apiVersion,\n };\n};\n\n/**\n * Get all scripts\n * @returns {Promise} a promise that resolves to an object containing an array of script objects\n */\nexport async function getScripts() {\n const urlString = util.format(\n scriptListURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get script by name\n * @param {String} scriptName script name\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function getScriptByName(scriptName) {\n const urlString = util.format(\n scriptQueryURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n scriptName\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get script by id\n * @param {String} scriptId script uuid/name\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function getScript(scriptId) {\n const urlString = util.format(\n scriptURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n scriptId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put script\n * @param {string} scriptId script uuid\n * @param {Object} scriptData script object\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function putScript(scriptId, scriptData) {\n const urlString = util.format(\n scriptURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n scriptId\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n scriptData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/SecretsApi.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,wBAAsB,UAAU,iBAS/B;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,QAAQ,KAAA,gBAUvC;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,KAAA,EACR,KAAK,KAAA,EACL,WAAW,KAAA,EACX,QAAQ,SAAY,EACpB,iBAAiB,UAAO,gBAuBzB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,KAAA,EAAE,WAAW,KAAA,gBAY/D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,KAAA,gBAU1C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,KAAA,gBAU/C;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA,gBAY7D;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA,gBAWzD;AAED,oBAAY,qBAAqB;IAC/B,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,qBAAqB,gBAc9B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA,gBAW5D","file":"SecretsApi.d.ts","sourcesContent":["import util from 'util';\nimport { encode } from './utils/Base64';\nimport { getTenantURL } from './utils/ApiUtils';\nimport { generateESVApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst secretsListURLTemplate = '%s/environment/secrets';\nconst secretListVersionsURLTemplate = '%s/environment/secrets/%s/versions';\nconst secretCreateNewVersionURLTemplate = `${secretListVersionsURLTemplate}?_action=create`;\nconst secretGetVersionURLTemplate = `${secretListVersionsURLTemplate}/%s`;\nconst secretVersionStatusURLTemplate = `${secretGetVersionURLTemplate}?_action=changestatus`;\nconst secretURLTemplate = '%s/environment/secrets/%s';\nconst secretSetDescriptionURLTemplate = `${secretURLTemplate}?_action=setDescription`;\n\nconst apiVersion = 'protocol=1.0,resource=1.0';\nconst getApiConfig = () => ({\n path: `/environment/secrets`,\n apiVersion,\n});\n\n/**\n * Get all secrets\n * @returns {Promise<unknown[]>} a promise that resolves to an array of secrets\n */\nexport async function getSecrets() {\n const urlString = util.format(\n secretsListURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get secret\n * @param secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\nexport async function getSecret(secretId) {\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\nexport async function putSecret(\n secretId,\n value,\n description,\n encoding = 'generic',\n useInPlaceholders = true\n) {\n if (encoding !== 'generic')\n throw new Error(`Unsupported encoding: ${encoding}`);\n const secretData = {\n valueBase64: encode(value),\n description,\n encoding,\n useInPlaceholders,\n };\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).put(\n urlString,\n secretData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Set secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\nexport async function setSecretDescription(secretId, description) {\n const urlString = util.format(\n secretSetDescriptionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { description },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Delete secret\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret object\n */\nexport async function deleteSecret(secretId) {\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get secret versions\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to an array of secret versions\n */\nexport async function getSecretVersions(secretId) {\n const urlString = util.format(\n secretListVersionsURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Create new secret version\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\nexport async function createNewVersionOfSecret(secretId, value) {\n const urlString = util.format(\n secretCreateNewVersionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { valueBase64: encode(value) },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Get version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\nexport async function getVersionOfSecret(secretId, version) {\n const urlString = util.format(\n secretGetVersionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\nexport enum VersionOfSecretStatus {\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED',\n}\n\n/**\n * Update the status of a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @param {VersionOfSecretStatus} status status\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\nexport async function setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n) {\n const urlString = util.format(\n secretVersionStatusURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { status },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Delete version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\nexport async function deleteVersionOfSecret(secretId, version) {\n const urlString = util.format(\n secretGetVersionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/SecretsApi.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,wBAAsB,UAAU,iBAS/B;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,QAAQ,KAAA,gBAUvC;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,KAAA,EACR,KAAK,KAAA,EACL,WAAW,KAAA,EACX,QAAQ,SAAY,EACpB,iBAAiB,UAAO,gBAuBzB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,KAAA,EAAE,WAAW,KAAA,gBAY/D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,KAAA,gBAU1C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,KAAA,gBAU/C;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA,gBAY7D;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA,gBAWzD;AAED,oBAAY,qBAAqB;IAC/B,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,qBAAqB,gBAc9B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA,gBAW5D","file":"SecretsApi.d.ts","sourcesContent":["import util from 'util';\nimport { encode } from './utils/Base64';\nimport { getTenantURL } from './utils/ApiUtils';\nimport { generateESVApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst secretsListURLTemplate = '%s/environment/secrets';\nconst secretListVersionsURLTemplate = '%s/environment/secrets/%s/versions';\nconst secretCreateNewVersionURLTemplate = `${secretListVersionsURLTemplate}?_action=create`;\nconst secretGetVersionURLTemplate = `${secretListVersionsURLTemplate}/%s`;\nconst secretVersionStatusURLTemplate = `${secretGetVersionURLTemplate}?_action=changestatus`;\nconst secretURLTemplate = '%s/environment/secrets/%s';\nconst secretSetDescriptionURLTemplate = `${secretURLTemplate}?_action=setDescription`;\n\nconst apiVersion = 'protocol=1.0,resource=1.0';\nconst getApiConfig = () => ({\n path: `/environment/secrets`,\n apiVersion,\n});\n\n/**\n * Get all secrets\n * @returns {Promise<unknown[]>} a promise that resolves to an array of secrets\n */\nexport async function getSecrets() {\n const urlString = util.format(\n secretsListURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get secret\n * @param secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\nexport async function getSecret(secretId) {\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(state.getHost()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<unknown>} a promise that resolves to a secret\n */\nexport async function putSecret(\n secretId,\n value,\n description,\n encoding = 'generic',\n useInPlaceholders = true\n) {\n if (encoding !== 'generic')\n throw new Error(`Unsupported encoding: ${encoding}`);\n const secretData = {\n valueBase64: encode(value),\n description,\n encoding,\n useInPlaceholders,\n };\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(state.getHost()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).put(\n urlString,\n secretData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Set secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\nexport async function setSecretDescription(secretId, description) {\n const urlString = util.format(\n secretSetDescriptionURLTemplate,\n getTenantURL(state.getHost()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { description },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Delete secret\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to a secret object\n */\nexport async function deleteSecret(secretId) {\n const urlString = util.format(\n secretURLTemplate,\n getTenantURL(state.getHost()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get secret versions\n * @param {string} secretId secret id/name\n * @returns {Promise<unknown>} a promise that resolves to an array of secret versions\n */\nexport async function getSecretVersions(secretId) {\n const urlString = util.format(\n secretListVersionsURLTemplate,\n getTenantURL(state.getHost()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Create new secret version\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\nexport async function createNewVersionOfSecret(secretId, value) {\n const urlString = util.format(\n secretCreateNewVersionURLTemplate,\n getTenantURL(state.getHost()),\n secretId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { valueBase64: encode(value) },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Get version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\nexport async function getVersionOfSecret(secretId, version) {\n const urlString = util.format(\n secretGetVersionURLTemplate,\n getTenantURL(state.getHost()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\nexport enum VersionOfSecretStatus {\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED',\n}\n\n/**\n * Update the status of a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @param {VersionOfSecretStatus} status status\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\nexport async function setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n) {\n const urlString = util.format(\n secretVersionStatusURLTemplate,\n getTenantURL(state.getHost()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { status },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Delete version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<unknown>} a promise that resolves to a version object\n */\nexport async function deleteVersionOfSecret(secretId, version) {\n const urlString = util.format(\n secretGetVersionURLTemplate,\n getTenantURL(state.getHost()),\n secretId,\n version\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/ServerInfoApi.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAsB,aAAa,qDAOlC;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,qDAOzC","file":"ServerInfoApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst serverInfoUrlTemplate = '%s/json/serverinfo/%s';\n\nconst serverInfoApiVersion = 'resource=1.1';\nconst getServerInfoApiConfig = () => ({\n apiVersion: serverInfoApiVersion,\n});\n\nconst serverVersionoApiVersion = 'resource=1.0';\nconst getServerVersionApiConfig = () => ({\n apiVersion: serverVersionoApiVersion,\n});\n\n/**\n * Get server info\n * @returns {Promise} a promise that resolves to an object containing a server info object\n */\nexport async function getServerInfo() {\n const urlString = util.format(\n serverInfoUrlTemplate,\n storage.session.getTenant(),\n '*'\n );\n return generateAmApi(getServerInfoApiConfig()).get(urlString, {});\n}\n\n/**\n * Get server version info\n * @returns {Promise} a promise that resolves to an object containing a server version info object\n */\nexport async function getServerVersionInfo() {\n const urlString = util.format(\n serverInfoUrlTemplate,\n storage.session.getTenant(),\n 'version'\n );\n return generateAmApi(getServerVersionApiConfig()).get(urlString, {});\n}\n"]}
1
+ {"version":3,"sources":["../src/api/ServerInfoApi.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAsB,aAAa,qDAGlC;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,qDAOzC","file":"ServerInfoApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst serverInfoUrlTemplate = '%s/json/serverinfo/%s';\n\nconst serverInfoApiVersion = 'resource=1.1';\nconst getServerInfoApiConfig = () => ({\n apiVersion: serverInfoApiVersion,\n});\n\nconst serverVersionoApiVersion = 'resource=1.0';\nconst getServerVersionApiConfig = () => ({\n apiVersion: serverVersionoApiVersion,\n});\n\n/**\n * Get server info\n * @returns {Promise} a promise that resolves to an object containing a server info object\n */\nexport async function getServerInfo() {\n const urlString = util.format(serverInfoUrlTemplate, state.getHost(), '*');\n return generateAmApi(getServerInfoApiConfig()).get(urlString, {});\n}\n\n/**\n * Get server version info\n * @returns {Promise} a promise that resolves to an object containing a server version info object\n */\nexport async function getServerVersionInfo() {\n const urlString = util.format(\n serverInfoUrlTemplate,\n state.getHost(),\n 'version'\n );\n return generateAmApi(getServerVersionApiConfig()).get(urlString, {});\n}\n"]}
@@ -21,48 +21,55 @@ export interface ServiceNextDescendent {
21
21
  }
22
22
  /**
23
23
  * Get a list of services
24
+ * @param {boolean} globalConfig true if the global list of services is requested, false otherwise. Default: false.
24
25
  * @returns {Promise<ServiceListItem[]>} a promise resolving to an array of service list items.
25
26
  */
26
- export declare function getListOfServices(): Promise<PagedResult<ServiceListItem>>;
27
+ export declare function getListOfServices(globalConfig?: boolean): Promise<PagedResult<ServiceListItem>>;
27
28
  /**
28
29
  * Get service
29
30
  * @param {string} serviceId servide id
31
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
30
32
  * @returns {Promise<AmService>} a promise resolving to a service object
31
33
  */
32
- export declare function getService(serviceId: string): Promise<AmServiceSkeleton>;
34
+ export declare function getService(serviceId: string, globalConfig?: boolean): Promise<AmServiceSkeleton>;
33
35
  /**
34
36
  * Get a service's decendents (applicable for structured services only, e.g. SocialIdentityProviders)
35
37
  * @param {string} serviceId service id
38
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
36
39
  * @returns {Promise<ServiceNextDescendent[]>} a promise resolving to an array of the service's next decendents
37
40
  */
38
- export declare function getServiceDescendents(serviceId: string): Promise<ServiceNextDescendent[]>;
41
+ export declare function getServiceDescendents(serviceId: string, globalConfig?: boolean): Promise<ServiceNextDescendent[]>;
39
42
  /**
40
43
  * Create or update a service
41
44
  * @param {string} serviceId service id
42
45
  * @param {AmService} serviceData service configuration
46
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
43
47
  * @returns {Promise<AmService>} a promise resolving to a service object
44
48
  */
45
- export declare function putService(serviceId: string, serviceData: AmServiceSkeleton): Promise<AmServiceSkeleton>;
49
+ export declare function putService(serviceId: string, serviceData: AmServiceSkeleton, globalConfig?: boolean): Promise<AmServiceSkeleton>;
46
50
  /**
47
51
  * Create or update a service next descendent instance
48
52
  * @param {string} serviceId service id
49
53
  * @param {string} serviceType service type
50
54
  * @param {string} serviceNextDescendentId service instance id
51
55
  * @param {ServiceNextDescendent} serviceNextDescendentData service next descendent configuration
56
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
52
57
  * @returns {Promise<ServiceNextDescendent>} a promise resolving to a service next descendent
53
58
  */
54
- export declare function putServiceNextDescendent(serviceId: string, serviceType: string, serviceNextDescendentId: string, serviceNextDescendentData: ServiceNextDescendent): Promise<ServiceNextDescendent>;
59
+ export declare function putServiceNextDescendent(serviceId: string, serviceType: string, serviceNextDescendentId: string, serviceNextDescendentData: ServiceNextDescendent, globalConfig?: boolean): Promise<ServiceNextDescendent>;
55
60
  /**
56
61
  * Delete service
57
62
  * @param {string} serviceId service id
63
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
58
64
  * @returns {Promise<AmService>} a promise resolving to a service object
59
65
  */
60
- export declare function deleteService(serviceId: string): Promise<AmServiceSkeleton>;
66
+ export declare function deleteService(serviceId: string, globalConfig?: boolean): Promise<AmServiceSkeleton>;
61
67
  /**
62
68
  * Delete service next descendent
63
69
  * @param {string} serviceId service id
64
70
  * @param {string} serviceType service type
65
71
  * @param {string} serviceNextDescendentId service instance id
72
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
66
73
  * @returns {Promise<ServiceNextDescendent>} a promise resolving to a service next descendent
67
74
  */
68
- export declare function deleteServiceNextDescendent(serviceId: string, serviceType: string, serviceNextDescendentId: string): Promise<ServiceNextDescendent>;
75
+ export declare function deleteServiceNextDescendent(serviceId: string, serviceType: string, serviceNextDescendentId: string, globalConfig?: boolean): Promise<ServiceNextDescendent>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/ServiceApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAqB5D,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAaD,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IAEpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAChD,WAAW,CAAC,eAAe,CAAC,CAC7B,CAYA;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAc5B;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAalC;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,iBAAiB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAe5B;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,uBAAuB,EAAE,MAAM,EAC/B,yBAAyB,EAAE,qBAAqB,GAC/C,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAW5B;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAahC","file":"ServiceApi.d.ts","sourcesContent":["import util from 'util';\nimport storage from '../storage/SessionStorage';\nimport { AmServiceSkeleton, PagedResult } from './ApiTypes';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\n\nconst serviceURLTemplate = '%s/json%s/realm-config/services/%s';\nconst serviceURLNextDescendentsTemplate =\n '%s/json%s/realm-config/services/%s?_action=nextdescendents';\nconst serviceURLNextDescendentTemplate =\n '%s/json%s/realm-config/services/%s/%s/%s';\nconst serviceListURLTemplate =\n '%s/json%s/realm-config/services?_queryFilter=true';\nconst apiVersion = 'protocol=2.0,resource=1.0';\n\nfunction getApiConfig() {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/services`,\n apiVersion,\n };\n}\n\nexport interface ServiceListItem {\n /**\n * The identifier for the service - used to construct the subpath for the service\n */\n _id: string;\n /**\n * The user-facing name of the service\n */\n name: string;\n /**\n * The revision number of the service\n */\n _rev: string;\n}\n\n// export interface AmService {\n// _id: '';\n// _rev: string;\n// _type: {\n// _id: string;\n// name: string;\n// collection: boolean;\n// };\n// [key: string]: any;\n// }\n\nexport interface ServiceNextDescendentResponse {\n result: ServiceNextDescendent;\n}\n\nexport interface ServiceNextDescendent {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\n/**\n * Get a list of services\n * @returns {Promise<ServiceListItem[]>} a promise resolving to an array of service list items.\n */\nexport async function getListOfServices(): Promise<\n PagedResult<ServiceListItem>\n> {\n const urlString = util.format(\n serviceListURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get<\n PagedResult<ServiceListItem>\n >(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get service\n * @param {string} serviceId servide id\n * @returns {Promise<AmService>} a promise resolving to a service object\n */\nexport async function getService(\n serviceId: string\n): Promise<AmServiceSkeleton> {\n const urlString = util.format(\n serviceURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n serviceId\n );\n const { data } = await generateAmApi(getApiConfig()).get<AmServiceSkeleton>(\n urlString,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Get a service's decendents (applicable for structured services only, e.g. SocialIdentityProviders)\n * @param {string} serviceId service id\n * @returns {Promise<ServiceNextDescendent[]>} a promise resolving to an array of the service's next decendents\n */\nexport async function getServiceDescendents(\n serviceId: string\n): Promise<ServiceNextDescendent[]> {\n const urlString = util.format(\n serviceURLNextDescendentsTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n serviceId\n );\n const { data } = await generateAmApi(\n getApiConfig()\n ).post<ServiceNextDescendentResponse>(urlString, {\n withCredentials: true,\n });\n return data.result as ServiceNextDescendent[];\n}\n\n/**\n * Create or update a service\n * @param {string} serviceId service id\n * @param {AmService} serviceData service configuration\n * @returns {Promise<AmService>} a promise resolving to a service object\n */\nexport async function putService(\n serviceId: string,\n serviceData: AmServiceSkeleton\n): Promise<AmServiceSkeleton> {\n const urlString = util.format(\n serviceURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n serviceId\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n serviceData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Create or update a service next descendent instance\n * @param {string} serviceId service id\n * @param {string} serviceType service type\n * @param {string} serviceNextDescendentId service instance id\n * @param {ServiceNextDescendent} serviceNextDescendentData service next descendent configuration\n * @returns {Promise<ServiceNextDescendent>} a promise resolving to a service next descendent\n */\nexport async function putServiceNextDescendent(\n serviceId: string,\n serviceType: string,\n serviceNextDescendentId: string,\n serviceNextDescendentData: ServiceNextDescendent\n): Promise<ServiceNextDescendent> {\n const urlString = util.format(\n serviceURLNextDescendentTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n serviceId,\n serviceType,\n serviceNextDescendentId\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n serviceNextDescendentData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete service\n * @param {string} serviceId service id\n * @returns {Promise<AmService>} a promise resolving to a service object\n */\nexport async function deleteService(\n serviceId: string\n): Promise<AmServiceSkeleton> {\n const urlString = util.format(\n serviceURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n serviceId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Delete service next descendent\n * @param {string} serviceId service id\n * @param {string} serviceType service type\n * @param {string} serviceNextDescendentId service instance id\n * @returns {Promise<ServiceNextDescendent>} a promise resolving to a service next descendent\n */\nexport async function deleteServiceNextDescendent(\n serviceId: string,\n serviceType: string,\n serviceNextDescendentId: string\n): Promise<ServiceNextDescendent> {\n const urlString = util.format(\n serviceURLNextDescendentTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n serviceId,\n serviceType,\n serviceNextDescendentId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/ServiceApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmB5D,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAaD,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IAEpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAwBD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,UAAQ,GACnB,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAavC;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,YAAY,UAAQ,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAe5B;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,YAAY,UAAQ,GACnB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAclC;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,iBAAiB,EAC9B,YAAY,UAAQ,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAgB5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,uBAAuB,EAAE,MAAM,EAC/B,yBAAyB,EAAE,qBAAqB,EAChD,YAAY,UAAQ,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAkBhC;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,YAAY,UAAQ,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAY5B;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,uBAAuB,EAAE,MAAM,EAC/B,YAAY,UAAQ,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAchC","file":"ServiceApi.d.ts","sourcesContent":["import util from 'util';\nimport * as state from '../shared/State';\nimport { AmServiceSkeleton, PagedResult } from './ApiTypes';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\n\nconst serviceURLTemplate = '%s/json%s/%s/services/%s';\nconst serviceURLNextDescendentsTemplate =\n '%s/json%s/%s/services/%s?_action=nextdescendents';\nconst serviceURLNextDescendentTemplate = '%s/json%s/%s/services/%s/%s/%s';\nconst serviceListURLTemplate = '%s/json%s/%s/services?_queryFilter=true';\nconst apiVersion = 'protocol=2.0,resource=1.0';\n\nfunction getApiConfig() {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/services`,\n apiVersion,\n };\n}\n\nexport interface ServiceListItem {\n /**\n * The identifier for the service - used to construct the subpath for the service\n */\n _id: string;\n /**\n * The user-facing name of the service\n */\n name: string;\n /**\n * The revision number of the service\n */\n _rev: string;\n}\n\n// export interface AmService {\n// _id: '';\n// _rev: string;\n// _type: {\n// _id: string;\n// name: string;\n// collection: boolean;\n// };\n// [key: string]: any;\n// }\n\nexport interface ServiceNextDescendentResponse {\n result: ServiceNextDescendent;\n}\n\nexport interface ServiceNextDescendent {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\n/**\n * Helper function to get the realm path required for the API call considering if the request\n * should obtain the realm config or the global config of the service in question\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise.\n * @returns {string} The realm path to be used for the request\n */\nfunction getRealmPath(globalConfig: boolean): string {\n if (globalConfig) return '';\n return getCurrentRealmPath();\n}\n\n/**\n * Helper function to get the config path required for the API call considering if the request\n * should obtain the realm config or the global config of the service in question\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise.\n * @returns {string} The config path to be used for the request\n */\nfunction getConfigPath(globalConfig: boolean): string {\n if (globalConfig) return 'global-config';\n return 'realm-config';\n}\n\n/**\n * Get a list of services\n * @param {boolean} globalConfig true if the global list of services is requested, false otherwise. Default: false.\n * @returns {Promise<ServiceListItem[]>} a promise resolving to an array of service list items.\n */\nexport async function getListOfServices(\n globalConfig = false\n): Promise<PagedResult<ServiceListItem>> {\n const urlString = util.format(\n serviceListURLTemplate,\n state.getHost(),\n getRealmPath(globalConfig),\n getConfigPath(globalConfig)\n );\n const { data } = await generateAmApi(getApiConfig()).get<\n PagedResult<ServiceListItem>\n >(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get service\n * @param {string} serviceId servide id\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<AmService>} a promise resolving to a service object\n */\nexport async function getService(\n serviceId: string,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n const urlString = util.format(\n serviceURLTemplate,\n state.getHost(),\n getRealmPath(globalConfig),\n getConfigPath(globalConfig),\n serviceId\n );\n const { data } = await generateAmApi(getApiConfig()).get<AmServiceSkeleton>(\n urlString,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Get a service's decendents (applicable for structured services only, e.g. SocialIdentityProviders)\n * @param {string} serviceId service id\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<ServiceNextDescendent[]>} a promise resolving to an array of the service's next decendents\n */\nexport async function getServiceDescendents(\n serviceId: string,\n globalConfig = false\n): Promise<ServiceNextDescendent[]> {\n const urlString = util.format(\n serviceURLNextDescendentsTemplate,\n state.getHost(),\n getRealmPath(globalConfig),\n getConfigPath(globalConfig),\n serviceId\n );\n const { data } = await generateAmApi(\n getApiConfig()\n ).post<ServiceNextDescendentResponse>(urlString, {\n withCredentials: true,\n });\n return data.result as ServiceNextDescendent[];\n}\n\n/**\n * Create or update a service\n * @param {string} serviceId service id\n * @param {AmService} serviceData service configuration\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<AmService>} a promise resolving to a service object\n */\nexport async function putService(\n serviceId: string,\n serviceData: AmServiceSkeleton,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n const urlString = util.format(\n serviceURLTemplate,\n state.getHost(),\n getRealmPath(globalConfig),\n getConfigPath(globalConfig),\n serviceId\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n serviceData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Create or update a service next descendent instance\n * @param {string} serviceId service id\n * @param {string} serviceType service type\n * @param {string} serviceNextDescendentId service instance id\n * @param {ServiceNextDescendent} serviceNextDescendentData service next descendent configuration\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<ServiceNextDescendent>} a promise resolving to a service next descendent\n */\nexport async function putServiceNextDescendent(\n serviceId: string,\n serviceType: string,\n serviceNextDescendentId: string,\n serviceNextDescendentData: ServiceNextDescendent,\n globalConfig = false\n): Promise<ServiceNextDescendent> {\n const urlString = util.format(\n serviceURLNextDescendentTemplate,\n state.getHost(),\n getRealmPath(globalConfig),\n getConfigPath(globalConfig),\n serviceId,\n serviceType,\n serviceNextDescendentId\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n serviceNextDescendentData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete service\n * @param {string} serviceId service id\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<AmService>} a promise resolving to a service object\n */\nexport async function deleteService(\n serviceId: string,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n const urlString = util.format(\n serviceURLTemplate,\n state.getHost(),\n getRealmPath(globalConfig),\n getConfigPath(globalConfig),\n serviceId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Delete service next descendent\n * @param {string} serviceId service id\n * @param {string} serviceType service type\n * @param {string} serviceNextDescendentId service instance id\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<ServiceNextDescendent>} a promise resolving to a service next descendent\n */\nexport async function deleteServiceNextDescendent(\n serviceId: string,\n serviceType: string,\n serviceNextDescendentId: string,\n globalConfig = false\n): Promise<ServiceNextDescendent> {\n const urlString = util.format(\n serviceURLNextDescendentTemplate,\n state.getHost(),\n getRealmPath(globalConfig),\n getConfigPath(globalConfig),\n serviceId,\n serviceType,\n serviceNextDescendentId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/SocialIdentityProvidersApi.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAsB,8BAA8B,iBAUnD;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,IAAI,KAAA,gBAW1D;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,iBAc/C;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA,gBAYpD;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA,EAAE,YAAY,KAAA,gBAmBlE","file":"SocialIdentityProvidersApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst getAllProviderTypesURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders?_action=getAllTypes';\nconst providerByTypeAndIdURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders/%s/%s';\nconst getAllProvidersURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders?_action=nextdescendents';\nconst getProvidersByTypeURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders/%s?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/services/SocialIdentityProviders`,\n apiVersion,\n };\n};\n\n/**\n * Get social identity provider types\n * @returns {Promise} a promise that resolves to an object containing an array of social identity provider types\n */\nexport async function getSocialIdentityProviderTypes() {\n const urlString = util.format(\n getAllProviderTypesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get social identity providers by type\n * @param {String} type social identity provider type\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers of the requested type\n */\nexport async function getSocialIdentityProvidersByType(type) {\n const urlString = util.format(\n getProvidersByTypeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n type\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get all social identity providers\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers\n */\nexport async function getSocialIdentityProviders() {\n const urlString = util.format(\n getAllProvidersURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Get social identity provider by type and id\n * @param {*} type social identity provider type\n * @param {*} id social identity provider id/name\n * @returns {Promise} a promise that resolves to an object containing a social identity provider\n */\nexport async function getProviderByTypeAndId(type, id) {\n const urlString = util.format(\n providerByTypeAndIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n type,\n id\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get social identity provider by type and id\n * @param {String} type social identity provider type\n * @param {String} id social identity provider id/name\n * @param {Object} providerData a social identity provider object\n * @returns {Promise} a promise that resolves to an object containing a social identity provider\n */\nexport async function putProviderByTypeAndId(type, id, providerData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(providerData, '-encrypted');\n const urlString = util.format(\n providerByTypeAndIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n type,\n id\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/SocialIdentityProvidersApi.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAsB,8BAA8B,iBAUnD;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,IAAI,KAAA,gBAW1D;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,iBAc/C;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA,gBAYpD;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA,EAAE,YAAY,KAAA,gBAmBlE","file":"SocialIdentityProvidersApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\n\nconst getAllProviderTypesURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders?_action=getAllTypes';\nconst providerByTypeAndIdURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders/%s/%s';\nconst getAllProvidersURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders?_action=nextdescendents';\nconst getProvidersByTypeURLTemplate =\n '%s/json%s/realm-config/services/SocialIdentityProviders/%s?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/services/SocialIdentityProviders`,\n apiVersion,\n };\n};\n\n/**\n * Get social identity provider types\n * @returns {Promise} a promise that resolves to an object containing an array of social identity provider types\n */\nexport async function getSocialIdentityProviderTypes() {\n const urlString = util.format(\n getAllProviderTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get social identity providers by type\n * @param {String} type social identity provider type\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers of the requested type\n */\nexport async function getSocialIdentityProvidersByType(type) {\n const urlString = util.format(\n getProvidersByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get all social identity providers\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers\n */\nexport async function getSocialIdentityProviders() {\n const urlString = util.format(\n getAllProvidersURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Get social identity provider by type and id\n * @param {*} type social identity provider type\n * @param {*} id social identity provider id/name\n * @returns {Promise} a promise that resolves to an object containing a social identity provider\n */\nexport async function getProviderByTypeAndId(type, id) {\n const urlString = util.format(\n providerByTypeAndIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type,\n id\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get social identity provider by type and id\n * @param {String} type social identity provider type\n * @param {String} id social identity provider id/name\n * @param {Object} providerData a social identity provider object\n * @returns {Promise} a promise that resolves to an object containing a social identity provider\n */\nexport async function putProviderByTypeAndId(type, id, providerData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(providerData, '-encrypted');\n const urlString = util.format(\n providerByTypeAndIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n type,\n id\n );\n const { data } = await generateAmApi(getApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/StartupApi.ts"],"names":[],"mappings":"AAcA,oBAAY,aAAa;IACvB,UAAU,eAAe;IACzB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,CASxD;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,CAiB9D","file":"StartupApi.d.ts","sourcesContent":["import util from 'util';\nimport { getTenantURL } from './utils/ApiUtils';\nimport { generateESVApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst startupURLTemplate = '%s/environment/startup';\nconst startupInitiateRestartURLTemplate = `${startupURLTemplate}?_action=restart`;\n\nconst apiVersion = 'protocol=1.0,resource=1.0';\nconst getApiConfig = () => ({\n path: `/environment/startup`,\n apiVersion,\n});\n\nexport enum RestartStatus {\n restarting = 'restarting',\n ready = 'ready',\n}\n\n/**\n * Get status\n * @returns {Promise<RestartStatus>} a promise that resolves to a string indicating status\n */\nexport async function getStatus(): Promise<RestartStatus> {\n const urlString = util.format(\n startupURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data.restartStatus;\n}\n\n/**\n * Initiate restart\n * @returns {Promise<string>} a promise that resolves to a string indicating status\n */\nexport async function initiateRestart(): Promise<RestartStatus> {\n const restartStatus = await getStatus();\n if (restartStatus === RestartStatus.ready) {\n const urlString = util.format(\n startupInitiateRestartURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n null,\n {\n withCredentials: true,\n }\n );\n return data.restartStatus;\n }\n throw new Error(`Not ready! Current status: ${restartStatus}`);\n}\n"]}
1
+ {"version":3,"sources":["../src/api/StartupApi.ts"],"names":[],"mappings":"AAcA,oBAAY,aAAa;IACvB,UAAU,eAAe;IACzB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC,CASxD;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,CAiB9D","file":"StartupApi.d.ts","sourcesContent":["import util from 'util';\nimport { getTenantURL } from './utils/ApiUtils';\nimport { generateESVApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst startupURLTemplate = '%s/environment/startup';\nconst startupInitiateRestartURLTemplate = `${startupURLTemplate}?_action=restart`;\n\nconst apiVersion = 'protocol=1.0,resource=1.0';\nconst getApiConfig = () => ({\n path: `/environment/startup`,\n apiVersion,\n});\n\nexport enum RestartStatus {\n restarting = 'restarting',\n ready = 'ready',\n}\n\n/**\n * Get status\n * @returns {Promise<RestartStatus>} a promise that resolves to a string indicating status\n */\nexport async function getStatus(): Promise<RestartStatus> {\n const urlString = util.format(\n startupURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data.restartStatus;\n}\n\n/**\n * Initiate restart\n * @returns {Promise<string>} a promise that resolves to a string indicating status\n */\nexport async function initiateRestart(): Promise<RestartStatus> {\n const restartStatus = await getStatus();\n if (restartStatus === RestartStatus.ready) {\n const urlString = util.format(\n startupInitiateRestartURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n null,\n {\n withCredentials: true,\n }\n );\n return data.restartStatus;\n }\n throw new Error(`Not ready! Current status: ${restartStatus}`);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/TreeApi.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,wBAAsB,QAAQ,iBAU7B;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,EAAE,KAAA,gBAW/B;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,KAAA,gBAerD;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,KAAA,gBAWtC","file":"TreeApi.d.ts","sourcesContent":["import util from 'util';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst treeByIdURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/trees/%s';\nconst queryAllTreesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/trees?_queryFilter=true';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getTreeApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get all trees\n * @returns {Promise<unknown[]>} a promise that resolves to an array of tree objects\n */\nexport async function getTrees() {\n const urlString = util.format(\n queryAllTreesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getTreeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get tree by id/name\n * @param {String} id tree id/name\n * @returns {Promise} a promise that resolves to a tree object\n */\nexport async function getTree(id) {\n const urlString = util.format(\n treeByIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n id\n );\n const { data } = await generateAmApi(getTreeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put tree by id/name\n * @param {String} treeId tree id/name\n * @param {Object} treeData tree object\n * @returns {Promise} a promise that resolves to a tree object\n */\nexport async function putTree(treeId: string, treeData) {\n const urlString = util.format(\n treeByIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n treeId\n );\n const { data } = await generateAmApi(getTreeApiConfig()).put(\n urlString,\n treeData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete tree by id/name\n * @param {String} treeId tree id/name\n * @returns {Promise} a promise that resolves to a tree object\n */\nexport async function deleteTree(treeId) {\n const urlString = util.format(\n treeByIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n treeId\n );\n const { data } = await generateAmApi(getTreeApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/TreeApi.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,wBAAsB,QAAQ,iBAU7B;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,EAAE,KAAA,gBAW/B;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,KAAA,gBAerD;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,KAAA,gBAWtC","file":"TreeApi.d.ts","sourcesContent":["import util from 'util';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst treeByIdURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/trees/%s';\nconst queryAllTreesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/trees?_queryFilter=true';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getTreeApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get all trees\n * @returns {Promise<unknown[]>} a promise that resolves to an array of tree objects\n */\nexport async function getTrees() {\n const urlString = util.format(\n queryAllTreesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getTreeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get tree by id/name\n * @param {String} id tree id/name\n * @returns {Promise} a promise that resolves to a tree object\n */\nexport async function getTree(id) {\n const urlString = util.format(\n treeByIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n id\n );\n const { data } = await generateAmApi(getTreeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put tree by id/name\n * @param {String} treeId tree id/name\n * @param {Object} treeData tree object\n * @returns {Promise} a promise that resolves to a tree object\n */\nexport async function putTree(treeId: string, treeData) {\n const urlString = util.format(\n treeByIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n treeId\n );\n const { data } = await generateAmApi(getTreeApiConfig()).put(\n urlString,\n treeData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete tree by id/name\n * @param {String} treeId tree id/name\n * @returns {Promise} a promise that resolves to a tree object\n */\nexport async function deleteTree(treeId) {\n const urlString = util.format(\n treeByIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n treeId\n );\n const { data } = await generateAmApi(getTreeApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/VariablesApi.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,wBAAsB,YAAY,iBASjC;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,UAAU,KAAA,gBAU3C;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,UAAU,KAAA,EAAE,KAAK,KAAA,EAAE,WAAW,KAAA,gBAiB/D;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,KAAA,EAAE,WAAW,KAAA,gBAYnE;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,UAAU,KAAA,gBAU9C","file":"VariablesApi.d.ts","sourcesContent":["import util from 'util';\nimport { encode } from './utils/Base64';\nimport { getTenantURL, getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateESVApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst variablesListURLTemplate = '%s/environment/variables';\nconst variableURLTemplate = '%s/environment/variables/%s';\nconst variableSetDescriptionURLTemplate = `${variableURLTemplate}?_action=setDescription`;\n\nconst apiVersion = 'protocol=1.0,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/environment/secrets`,\n apiVersion,\n };\n};\n\n/**\n * Get all variables\n * @returns {Promise<unknown[]>} a promise that resolves to an array of variable objects\n */\nexport async function getVariables() {\n const urlString = util.format(\n variablesListURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get variable by id/name\n * @param {string} variableId variable id/name\n * @returns {Promise<unknown>} a promise that resolves to a variable object\n */\nexport async function getVariable(variableId) {\n const urlString = util.format(\n variableURLTemplate,\n getTenantURL(storage.session.getTenant()),\n variableId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put variable by id/name\n * @param {string} variableId variable id/name\n * @param {string} value variable value\n * @param {string} description variable description\n * @returns {Promise<unknown>} a promise that resolves to a variable object\n */\nexport async function putVariable(variableId, value, description) {\n const variableData = {};\n if (value) variableData['valueBase64'] = encode(value);\n if (description) variableData['description'] = description;\n const urlString = util.format(\n variableURLTemplate,\n getTenantURL(storage.session.getTenant()),\n variableId\n );\n const { data } = await generateESVApi(getApiConfig()).put(\n urlString,\n variableData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Set variable description\n * @param {string} variableId variable id/name\n * @param {string} description variable description\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\nexport async function setVariableDescription(variableId, description) {\n const urlString = util.format(\n variableSetDescriptionURLTemplate,\n getTenantURL(storage.session.getTenant()),\n variableId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { description },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Delete variable by id/name\n * @param {string} variableId variable id/name\n * @returns {Promise<unknown>} a promise that resolves to a variable object\n */\nexport async function deleteVariable(variableId) {\n const urlString = util.format(\n variableURLTemplate,\n getTenantURL(storage.session.getTenant()),\n variableId\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/VariablesApi.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,wBAAsB,YAAY,iBASjC;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,UAAU,KAAA,gBAU3C;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,UAAU,KAAA,EAAE,KAAK,KAAA,EAAE,WAAW,KAAA,gBAiB/D;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,KAAA,EAAE,WAAW,KAAA,gBAYnE;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,UAAU,KAAA,gBAU9C","file":"VariablesApi.d.ts","sourcesContent":["import util from 'util';\nimport { encode } from './utils/Base64';\nimport { getTenantURL, getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateESVApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst variablesListURLTemplate = '%s/environment/variables';\nconst variableURLTemplate = '%s/environment/variables/%s';\nconst variableSetDescriptionURLTemplate = `${variableURLTemplate}?_action=setDescription`;\n\nconst apiVersion = 'protocol=1.0,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/environment/secrets`,\n apiVersion,\n };\n};\n\n/**\n * Get all variables\n * @returns {Promise<unknown[]>} a promise that resolves to an array of variable objects\n */\nexport async function getVariables() {\n const urlString = util.format(\n variablesListURLTemplate,\n getTenantURL(state.getHost())\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get variable by id/name\n * @param {string} variableId variable id/name\n * @returns {Promise<unknown>} a promise that resolves to a variable object\n */\nexport async function getVariable(variableId) {\n const urlString = util.format(\n variableURLTemplate,\n getTenantURL(state.getHost()),\n variableId\n );\n const { data } = await generateESVApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put variable by id/name\n * @param {string} variableId variable id/name\n * @param {string} value variable value\n * @param {string} description variable description\n * @returns {Promise<unknown>} a promise that resolves to a variable object\n */\nexport async function putVariable(variableId, value, description) {\n const variableData = {};\n if (value) variableData['valueBase64'] = encode(value);\n if (description) variableData['description'] = description;\n const urlString = util.format(\n variableURLTemplate,\n getTenantURL(state.getHost()),\n variableId\n );\n const { data } = await generateESVApi(getApiConfig()).put(\n urlString,\n variableData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Set variable description\n * @param {string} variableId variable id/name\n * @param {string} description variable description\n * @returns {Promise<unknown>} a promise that resolves to a status object\n */\nexport async function setVariableDescription(variableId, description) {\n const urlString = util.format(\n variableSetDescriptionURLTemplate,\n getTenantURL(state.getHost()),\n variableId\n );\n const { data } = await generateESVApi(getApiConfig()).post(\n urlString,\n { description },\n { withCredentials: true }\n );\n return data;\n}\n\n/**\n * Delete variable by id/name\n * @param {string} variableId variable id/name\n * @returns {Promise<unknown>} a promise that resolves to a variable object\n */\nexport async function deleteVariable(variableId) {\n const urlString = util.format(\n variableURLTemplate,\n getTenantURL(state.getHost()),\n variableId\n );\n const { data } = await generateESVApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"]}
@@ -41,3 +41,4 @@ export declare function parseUrl(href: any): {
41
41
  password: any;
42
42
  searchParam: {};
43
43
  };
44
+ export declare function parseQueryString(query: string): {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/utils/ApiUtils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,mBAAmB,WAUlC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,WAQlC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,KAAA,UAOjC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,KAAA,UAGlC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA,OAWhD;AA6BD,wBAAgB,QAAQ,CAAC,IAAI,KAAA;;;;;;;;;;;;;EAkC5B","file":"ApiUtils.d.ts","sourcesContent":["import storage from '../../storage/SessionStorage';\n\n/**\n * Get current realm path\n * @returns {String} a CREST-compliant realm path, e.g. /realms/root/realms/alpha\n */\nexport function getCurrentRealmPath() {\n let realm = storage.session.getRealm();\n if (realm.startsWith('/')) {\n realm = realm.substring(1);\n }\n const elements = ['root'].concat(\n realm.split('/').filter((element) => element !== '')\n );\n const realmPath = `/realms/${elements.join('/realms/')}`;\n return realmPath;\n}\n\n/**\n * Get current realm name\n * @returns {String} name of the current realm. /alpha -> alpha\n */\nexport function getCurrentRealmName() {\n const realm = storage.session.getRealm();\n const components = realm.split('/');\n let realmName = '/';\n if (components.length > 0 && realmName !== realm) {\n realmName = components[components.length - 1];\n }\n return realmName;\n}\n\n/**\n * Get current realm name\n * @param {String} realm realm\n * @returns {String} name of the realm. /alpha -> alpha\n */\nexport function getRealmName(realm) {\n const components = realm.split('/');\n let realmName = '/';\n if (components.length > 0 && realmName !== realm) {\n realmName = components[components.length - 1];\n }\n return realmName;\n}\n\n/**\n * Get tenant base URL\n * @param {String} tenant tenant URL with path and query params\n * @returns {String} tenant base URL without path and query params\n */\nexport function getTenantURL(tenant) {\n const parsedUrl = new URL(tenant);\n return `${parsedUrl.protocol}//${parsedUrl.host}`;\n}\n\n/**\n * Deep delete keys and their values from an input object. If a key in object contains substring, the key an its value is deleted.\n * @param {Object} object input object that needs keys removed\n * @param {String} substring substring to search for in key\n * @returns the modified object without the matching keys and their values\n */\nexport function deleteDeepByKey(object, substring) {\n const obj = object;\n const keys = Object.keys(obj);\n for (const key of keys) {\n if (key.indexOf(substring) > 0) {\n delete obj[key];\n } else if (Object(obj[key]) === obj[key]) {\n obj[key] = deleteDeepByKey(obj[key], substring);\n }\n }\n return obj;\n}\n\n/*\n * Parse a URL into its components and make them easily accessible by name\n *\n * Use in a Scripte Decision Node Script as follows:\n * var referer = parseUrl(requestHeaders.get(\"referer\").get(0));\n * var origin = referer.origin;\n *\n * e.g.: https://openam-volker-dev.forgeblocks.com/am/XUI/?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim#/\n * {\n * hash: '#/',\n * host: 'openam-volker-dev.forgeblocks.com',\n * hostname: 'openam-volker-dev.forgeblocks.com',\n * href: 'https://openam-volker-dev.forgeblocks.com/am/XUI/?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim#/',\n * origin: 'https://openam-volker-dev.forgeblocks.com',\n * pathname: '/am/XUI/',\n * port: '',\n * protocol: 'https',\n * search: '?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim',\n * username: '',\n * password: '',\n * searchParam: {\n * realm: '/bravo',\n * authIndexType: 'service',\n * authIndexValue: 'InitiateOwnerClaim'\n * }\n * }\n */\nexport function parseUrl(href) {\n const m = href.match(\n /^(([^:/?#]+):?(?:\\/\\/((?:([^/?#:]*):([^/?#:]*)@)?([^/?#:]*)(?::([^/?#:]*))?)))?([^?#]*)(\\?[^#]*)?(#.*)?$/\n ),\n r = {\n hash: m[10] || '', // #/\n host: m[3] || '', // openam-volker-dev.forgeblocks.com\n hostname: m[6] || '', // openam-volker-dev.forgeblocks.com\n href: m[0] || '', // https://openam-volker-dev.forgeblocks.com/am/XUI/?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim#/\n origin: m[1] || '', // https://openam-volker-dev.forgeblocks.com\n pathname: m[8] || (m[1] ? '/' : ''), // /am/XUI/\n port: m[7] || '', //\n protocol: m[2] || '', // https\n search: m[9] || '', // ?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim\n username: m[4] || '', //\n password: m[5] || '', //\n searchParam: {}, // { realm: '/bravo',\n // authIndexType: 'service',\n // authIndexValue: 'InitiateOwnerClaim' }\n };\n if (r.protocol.length == 2) {\n r.protocol = 'file:///' + r.protocol.toUpperCase();\n r.origin = r.protocol + '//' + r.host;\n }\n if (r.search.length > 2) {\n const query = r.search.indexOf('?') === 0 ? r.search.substr(1) : r.search;\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n r.searchParam[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n }\n r.href = r.origin + r.pathname + r.search + r.hash;\n return r;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/utils/ApiUtils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,mBAAmB,WAUlC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,WAQlC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,KAAA,UAOjC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,KAAA,UAGlC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA,OAWhD;AA6BD,wBAAgB,QAAQ,CAAC,IAAI,KAAA;;;;;;;;;;;;;EAkC5B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,MAQ7C","file":"ApiUtils.d.ts","sourcesContent":["import * as state from '../../shared/State';\n\n/**\n * Get current realm path\n * @returns {String} a CREST-compliant realm path, e.g. /realms/root/realms/alpha\n */\nexport function getCurrentRealmPath() {\n let realm = state.getRealm();\n if (realm.startsWith('/')) {\n realm = realm.substring(1);\n }\n const elements = ['root'].concat(\n realm.split('/').filter((element) => element !== '')\n );\n const realmPath = `/realms/${elements.join('/realms/')}`;\n return realmPath;\n}\n\n/**\n * Get current realm name\n * @returns {String} name of the current realm. /alpha -> alpha\n */\nexport function getCurrentRealmName() {\n const realm = state.getRealm();\n const components = realm.split('/');\n let realmName = '/';\n if (components.length > 0 && realmName !== realm) {\n realmName = components[components.length - 1];\n }\n return realmName;\n}\n\n/**\n * Get current realm name\n * @param {String} realm realm\n * @returns {String} name of the realm. /alpha -> alpha\n */\nexport function getRealmName(realm) {\n const components = realm.split('/');\n let realmName = '/';\n if (components.length > 0 && realmName !== realm) {\n realmName = components[components.length - 1];\n }\n return realmName;\n}\n\n/**\n * Get tenant base URL\n * @param {String} tenant tenant URL with path and query params\n * @returns {String} tenant base URL without path and query params\n */\nexport function getTenantURL(tenant) {\n const parsedUrl = new URL(tenant);\n return `${parsedUrl.protocol}//${parsedUrl.host}`;\n}\n\n/**\n * Deep delete keys and their values from an input object. If a key in object contains substring, the key an its value is deleted.\n * @param {Object} object input object that needs keys removed\n * @param {String} substring substring to search for in key\n * @returns the modified object without the matching keys and their values\n */\nexport function deleteDeepByKey(object, substring) {\n const obj = object;\n const keys = Object.keys(obj);\n for (const key of keys) {\n if (key.indexOf(substring) > 0) {\n delete obj[key];\n } else if (Object(obj[key]) === obj[key]) {\n obj[key] = deleteDeepByKey(obj[key], substring);\n }\n }\n return obj;\n}\n\n/*\n * Parse a URL into its components and make them easily accessible by name\n *\n * Use in a Scripte Decision Node Script as follows:\n * var referer = parseUrl(requestHeaders.get(\"referer\").get(0));\n * var origin = referer.origin;\n *\n * e.g.: https://openam-volker-dev.forgeblocks.com/am/XUI/?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim#/\n * {\n * hash: '#/',\n * host: 'openam-volker-dev.forgeblocks.com',\n * hostname: 'openam-volker-dev.forgeblocks.com',\n * href: 'https://openam-volker-dev.forgeblocks.com/am/XUI/?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim#/',\n * origin: 'https://openam-volker-dev.forgeblocks.com',\n * pathname: '/am/XUI/',\n * port: '',\n * protocol: 'https',\n * search: '?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim',\n * username: '',\n * password: '',\n * searchParam: {\n * realm: '/bravo',\n * authIndexType: 'service',\n * authIndexValue: 'InitiateOwnerClaim'\n * }\n * }\n */\nexport function parseUrl(href) {\n const m = href.match(\n /^(([^:/?#]+):?(?:\\/\\/((?:([^/?#:]*):([^/?#:]*)@)?([^/?#:]*)(?::([^/?#:]*))?)))?([^?#]*)(\\?[^#]*)?(#.*)?$/\n ),\n r = {\n hash: m[10] || '', // #/\n host: m[3] || '', // openam-volker-dev.forgeblocks.com\n hostname: m[6] || '', // openam-volker-dev.forgeblocks.com\n href: m[0] || '', // https://openam-volker-dev.forgeblocks.com/am/XUI/?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim#/\n origin: m[1] || '', // https://openam-volker-dev.forgeblocks.com\n pathname: m[8] || (m[1] ? '/' : ''), // /am/XUI/\n port: m[7] || '', //\n protocol: m[2] || '', // https\n search: m[9] || '', // ?realm=/bravo&authIndexType=service&authIndexValue=InitiateOwnerClaim\n username: m[4] || '', //\n password: m[5] || '', //\n searchParam: {}, // { realm: '/bravo',\n // authIndexType: 'service',\n // authIndexValue: 'InitiateOwnerClaim' }\n };\n if (r.protocol.length == 2) {\n r.protocol = 'file:///' + r.protocol.toUpperCase();\n r.origin = r.protocol + '//' + r.host;\n }\n if (r.search.length > 2) {\n const query = r.search.indexOf('?') === 0 ? r.search.substr(1) : r.search;\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n r.searchParam[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n }\n r.href = r.origin + r.pathname + r.search + r.hash;\n return r;\n}\n\nexport function parseQueryString(query: string) {\n const vars = query.split('&');\n const searchParam = {};\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n searchParam[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return searchParam;\n}\n"]}