@rockcarver/frodo-lib 0.16.2-9 → 0.17.1

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 +222 -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 +266 -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 +242 -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
@@ -0,0 +1,6 @@
1
+ {
2
+ "access_token": "eyJ0eXAiOiJKV1QiLCJraWQiOiJKSSt2QkJYWDd5ellQT3N4ZFdvWE16S2x1Q0E9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJjNWYzY2YzNS00Y2MxLTQyZjktODBiMy01OWUxY2E4NDI1MTAiLCJjdHMiOiJPQVVUSDJfU1RBVEVMRVNTX0dSQU5UIiwiYXV0aF9sZXZlbCI6MCwiYXVkaXRUcmFja2luZ0lkIjoiMjdiNDZkMmYtYmUxOC00Yzg4LWJkZTktYmRhMjQxODNhODg0LTIxNTY5OSIsInN1Ym5hbWUiOiJjNWYzY2YzNS00Y2MxLTQyZjktODBiMy01OWUxY2E4NDI1MTAiLCJpc3MiOiJodHRwczovL29wZW5hbS12b2xrZXItZGV2LmZvcmdlYmxvY2tzLmNvbTo0NDMvYW0vb2F1dGgyIiwidG9rZW5OYW1lIjoiYWNjZXNzX3Rva2VuIiwidG9rZW5fdHlwZSI6IkJlYXJlciIsImF1dGhHcmFudElkIjoiWFlxeVg5LUVuTmtaVW5DZVBnX2RIazVBdUNJIiwiYXVkIjoiaWRtQWRtaW5DbGllbnQiLCJuYmYiOjE2NjkzOTg1OTQsImdyYW50X3R5cGUiOiJhdXRob3JpemF0aW9uX2NvZGUiLCJzY29wZSI6WyJmcjppZG06KiJdLCJhdXRoX3RpbWUiOjE2NjkzOTg1NjQsInJlYWxtIjoiLyIsImV4cCI6MTY2OTQwMjE5NCwiaWF0IjoxNjY5Mzk4NTk0LCJleHBpcmVzX2luIjozNjAwLCJqdGkiOiJ0SGM1TEIzZ09ZaVJ2QzRfNVZvTFhlN1kzUlEifQ.FwYul4CSukUuXzIRF1G00uS-Bj5vwW7A98WsiwnmIPII3teLdcDM0OLAoTBpARtTCFxf8bSgleo0aznENjEIU3Y5Br0aE2iT5kT8nLhVGv4FputIgfr0wE2XySGtCVSft2LnuQZ8wmoV4RUGmO2p5FsiiOdzMVQu5k8xmlF9nb78GdpP0haqNnOi3Gck7nWWMFRp_oyNcvzWL79ZFQQ8oQPI2iIexN4PssPzDEsKhieTWzHCQEEL3L3ajgNJDYpM57kYB686vFs6YhYIoFQTQx71rx3x1QZdQruXQ5V1h25qQ0BB-4OVfo2fuqej6nLy0i_5XWjqCFASsxUOmpeHVg",
3
+ "scope": "fr:idm:*",
4
+ "token_type": "Bearer",
5
+ "expires_in": 3599
6
+ }
@@ -0,0 +1,19 @@
1
+ [
2
+ { "key": "x-frame-options", "value": "SAMEORIGIN" },
3
+ { "key": "x-content-type-options", "value": "nosniff" },
4
+ { "key": "cache-control", "value": "no-store" },
5
+ { "key": "pragma", "value": "no-cache" },
6
+ { "key": "content-type", "value": "application/json;charset=UTF-8" },
7
+ { "key": "content-length", "value": "1282" },
8
+ { "key": "date", "value": "Fri, 25 Nov 2022 17:49:54 GMT" },
9
+ { "key": "x-forgerock-transactionid", "value": "volker-at_PKCE-1669398592" },
10
+ {
11
+ "key": "strict-transport-security",
12
+ "value": "max-age=31536000; includeSubDomains; preload;"
13
+ },
14
+ { "key": "Via", "value": "1.1 google" },
15
+ {
16
+ "key": "Alt-Svc",
17
+ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"
18
+ }
19
+ ]
@@ -0,0 +1,38 @@
1
+ [
2
+ { "key": "x-frame-options", "value": "SAMEORIGIN" },
3
+ { "key": "x-content-type-options", "value": "nosniff" },
4
+ { "key": "cache-control", "value": "no-store" },
5
+ {
6
+ "key": "location",
7
+ "value": "https://openam-volker-dev.forgeblocks.com/platform/appAuthHelperRedirect.html?code=18mxu6ACkxVRJdmW6QjpUL01h8c&iss=https%3A%2F%2Fopenam-volker-dev.forgeblocks.com%3A443%2Fam%2Foauth2&client_id=idmAdminClient"
8
+ },
9
+ { "key": "pragma", "value": "no-cache" },
10
+ {
11
+ "key": "set-cookie",
12
+ "value": "OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=.mytest.run; Secure; HttpOnly; SameSite=none"
13
+ },
14
+ {
15
+ "key": "set-cookie",
16
+ "value": "OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=openam-volker-dev.forgeblocks.com; Secure; HttpOnly; SameSite=none"
17
+ },
18
+ {
19
+ "key": "set-cookie",
20
+ "value": "OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=.scheuber.io; Secure; HttpOnly; SameSite=none"
21
+ },
22
+ {
23
+ "key": "set-cookie",
24
+ "value": "OAUTH_REQUEST_ATTRIBUTES=DELETED; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Path=/; Domain=.mytestrun.com; Secure; HttpOnly; SameSite=none"
25
+ },
26
+ { "key": "content-length", "value": "0" },
27
+ { "key": "date", "value": "Fri, 25 Nov 2022 16:26:00 GMT" },
28
+ { "key": "x-forgerock-transactionid", "value": "volker-authZ-1669393558" },
29
+ {
30
+ "key": "strict-transport-security",
31
+ "value": "max-age=31536000; includeSubDomains; preload;"
32
+ },
33
+ { "key": "Via", "value": "1.1 google" },
34
+ {
35
+ "key": "Alt-Svc",
36
+ "value": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"
37
+ }
38
+ ]
@@ -0,0 +1,25 @@
1
+ {
2
+ "_id": "*",
3
+ "_rev": "825060247",
4
+ "domains": [],
5
+ "protectedUserAttributes": ["telephoneNumber", "mail"],
6
+ "cookieName": "4ad7d57003aee4f",
7
+ "secureCookie": true,
8
+ "forgotPassword": "false",
9
+ "forgotUsername": "false",
10
+ "kbaEnabled": "false",
11
+ "selfRegistration": "false",
12
+ "lang": "en-US",
13
+ "successfulUserRegistrationDestination": "default",
14
+ "socialImplementations": [],
15
+ "referralsEnabled": "false",
16
+ "zeroPageLogin": {
17
+ "enabled": false,
18
+ "refererWhitelist": [],
19
+ "allowedWithoutReferer": true
20
+ },
21
+ "realm": "/",
22
+ "xuiUserSessionValidationEnabled": true,
23
+ "fileBasedConfiguration": true,
24
+ "userIdAttributes": []
25
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "_id": "version",
3
+ "_rev": "-126497850",
4
+ "version": "7.3.0-2022-8-SNAPSHOT",
5
+ "fullVersion": "ForgeRock Access Management 7.3.0-2022-8-SNAPSHOT Build 3ec5d7df1472451f3bd7bbd28e5ac3ce09fa4c5c (2022-November-22 10:22)",
6
+ "revision": "3ec5d7df1472451f3bd7bbd28e5ac3ce09fa4c5c",
7
+ "date": "2022-November-22 10:22"
8
+ }
@@ -0,0 +1,72 @@
1
+ import path from 'path';
2
+ import { fileURLToPath } from 'url';
3
+ import pollyJest from 'setup-polly-jest';
4
+ import { Polly } from '@pollyjs/core';
5
+ import { MODES } from '@pollyjs/utils';
6
+ import NodeHttpAdapter from '@pollyjs/adapter-node-http';
7
+ import FSPersister from '@pollyjs/persister-fs';
8
+ import { getTokens } from '../ops/AuthenticateOps';
9
+ import { state } from '../index';
10
+ const {
11
+ setupPolly
12
+ } = pollyJest;
13
+ Polly.register(NodeHttpAdapter);
14
+ Polly.register(FSPersister);
15
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
16
+ state.setHost('https://openam-frodo-dev.forgeblocks.com/am');
17
+ state.setRealm('alpha');
18
+ let recordIfMissing = true;
19
+ let mode = MODES.REPLAY;
20
+
21
+ // resolve "/home/sandeepc/work/ForgeRock/sources/frodo-lib/esm/api" to
22
+ // "/home/sandeepc/work/ForgeRock/sources/frodo-lib/src/test/recordings"
23
+ const recordingsDir = __dirname.replace(/^(.*\/frodo-\w{3})(.*)$/gi, '$1/src/test/mock-recordings');
24
+ switch (process.env.FRODO_POLLY_MODE) {
25
+ case 'record':
26
+ mode = MODES.RECORD;
27
+ await getTokens();
28
+ break;
29
+ case 'replay':
30
+ mode = MODES.REPLAY;
31
+ state.default.session.setCookieName('cookieName');
32
+ state.default.session.setCookieValue('cookieValue');
33
+ break;
34
+ case 'offline':
35
+ mode = MODES.REPLAY;
36
+ recordIfMissing = false;
37
+ break;
38
+ }
39
+ export default function autoSetupPolly() {
40
+ return setupPolly({
41
+ adapters: ['node-http'],
42
+ mode,
43
+ recordIfMissing,
44
+ flushRequestsOnStop: true,
45
+ logLevel: 'warn',
46
+ recordFailedRequests: true,
47
+ persister: 'fs',
48
+ persisterOptions: {
49
+ fs: {
50
+ recordingsDir
51
+ }
52
+ },
53
+ matchRequestsBy: {
54
+ method: true,
55
+ headers: false,
56
+ // do not match headers, because "Authorization" header is sent only at recording time
57
+ body: true,
58
+ order: false,
59
+ url: {
60
+ protocol: true,
61
+ username: false,
62
+ password: false,
63
+ hostname: true,
64
+ port: false,
65
+ pathname: true,
66
+ query: true,
67
+ hash: true
68
+ }
69
+ }
70
+ });
71
+ }
72
+ //# sourceMappingURL=AutoSetupPolly.js.map
@@ -0,0 +1,3 @@
1
+ import console from 'console';
2
+ global.console = console;
3
+ //# sourceMappingURL=SetupJest.js.map
@@ -1,32 +1,30 @@
1
- // eslint-disable-next-line @typescript-eslint/no-var-requires
2
- const path = require('path');
3
-
4
1
  module.exports = {
5
2
  resolveSnapshotPath: (testPath, snapshotExtension) => {
3
+ // console.log(`testPath in = ${testPath}`);
6
4
  let snapshotFilePath = '';
7
-
8
5
  if (testPath.indexOf('cjs') !== -1) {
9
6
  snapshotFilePath = testPath.replace('cjs', 'src').concat(snapshotExtension);
10
7
  } else {
11
8
  snapshotFilePath = testPath.replace('esm', 'src').concat(snapshotExtension);
12
9
  }
13
-
10
+ snapshotFilePath = snapshotFilePath.replace(/(.*\/src)\/(.*)\/(.*)\.snap/g, '$1/test/snapshots/$2/$3.snap');
11
+ // console.log(`snapshotFilePath out = ${snapshotFilePath}`);
14
12
  return snapshotFilePath;
15
13
  },
16
14
  // resolves from snapshot to test path
17
15
  resolveTestPath: (snapshotFilePath, snapshotExtension) => {
18
- let testFilePath = '';
19
-
20
- if (snapshotFilePath.indexOf('cjs') !== -1) {
21
- testFilePath = snapshotFilePath.replace('src', 'cjs');
16
+ // console.log(`snapshotFilePath in = ${snapshotFilePath}`);
17
+ let testFilePath = snapshotFilePath.replace('/test/snapshots/', '/');
18
+ if (snapshotFilePath.indexOf('mjs') !== -1) {
19
+ testFilePath = testFilePath.replace('src', 'esm');
22
20
  } else {
23
- testFilePath = snapshotFilePath.replace('src', 'esm');
21
+ testFilePath = testFilePath.replace('src', 'cjs');
24
22
  }
25
-
26
23
  testFilePath = testFilePath.substring(0, testFilePath.indexOf(snapshotExtension));
24
+ // console.log(`testFilePath out = ${testFilePath}`);
27
25
  return testFilePath;
28
26
  },
29
27
  // Example test path, used for preflight consistency check of the implementation above
30
- testPathForConsistencyCheck: 'some/__tests__/example.test.js'
28
+ testPathForConsistencyCheck: '/home/sandeepc/work/ForgeRock/sources/frodo-lib/cjs/ops/IdmOps.test.js'
31
29
  };
32
30
  //# sourceMappingURL=snapshotResolve.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockcarver/frodo-lib",
3
- "version": "0.16.2-9",
3
+ "version": "0.17.1",
4
4
  "type": "commonjs",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.mjs",
@@ -15,12 +15,16 @@
15
15
  "scripts": {
16
16
  "test": "npx gulp && node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --silent",
17
17
  "test:only": "node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --silent",
18
+ "test:record": "npm run test:record:esm && npm run test:update:cjs",
19
+ "test:record:esm": "FRODO_POLLY_MODE=record node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --silent esm -u",
20
+ "test:update:cjs": "node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --silent cjs -u",
18
21
  "test:debug": "node --no-warnings --experimental-vm-modules --experimental-specifier-resolution=node node_modules/jest/bin/jest.js --verbose=true --silent=false",
19
22
  "lint": "npx eslint --ext .ts --ignore-path .gitignore .",
20
23
  "build": "npx gulp",
21
24
  "watch": "npx gulp watch"
22
25
  },
23
26
  "jest": {
27
+ "testRunner": "jest-jasmine2",
24
28
  "roots": [
25
29
  "<rootDir>/esm/",
26
30
  "<rootDir>/cjs/"
@@ -33,8 +37,8 @@
33
37
  "/node_modules/",
34
38
  "/dist/"
35
39
  ],
36
- "snapshotResolver": "<rootDir>/src/test/mocks/snapshotResolve.ts",
37
- "verbose": true
40
+ "snapshotResolver": "<rootDir>/src/utils/snapshotResolve.ts",
41
+ "verbose": false
38
42
  },
39
43
  "description": "A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.",
40
44
  "keywords": [
@@ -85,60 +89,66 @@
85
89
  ],
86
90
  "license": "MIT",
87
91
  "dependencies": {
88
- "@types/esprima": "^4.0.3",
89
92
  "agentkeepalive": "^4.2.1",
90
- "axios": "^0.27.2",
93
+ "axios": "0.27.2",
94
+ "axios-mock-adapter": "^1.21.2",
91
95
  "axios-retry": "^3.3.1",
92
- "cli-table3": "^0.6.2",
93
96
  "colors": "^1.4.0",
94
97
  "esprima": "^4.0.1",
95
98
  "fs-extra": "^10.0.0",
96
99
  "https-proxy-agent": "^5.0.1",
97
100
  "lodash": "^4.17.21",
101
+ "node-jose": "^2.1.1",
98
102
  "properties-reader": "^2.2.0",
99
103
  "qs": "^6.10.3",
100
104
  "readline-sync": "^1.4.10",
101
105
  "replaceall": "^0.1.6",
102
106
  "slugify": "^1.6.5",
103
- "uuid": "^8.3.2"
107
+ "uuid": "^9.0.0"
104
108
  },
105
109
  "devDependencies": {
106
- "@babel/core": "^7.18.13",
107
- "@babel/eslint-parser": "^7.18.9",
110
+ "@babel/core": "^7.20.2",
111
+ "@babel/eslint-parser": "^7.19.1",
108
112
  "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
109
- "@babel/plugin-syntax-import-assertions": "^7.16.7",
110
- "@babel/plugin-transform-modules-commonjs": "^7.16.8",
111
- "@babel/preset-env": "^7.18.10",
113
+ "@babel/plugin-syntax-import-assertions": "^7.20.0",
114
+ "@babel/plugin-transform-modules-commonjs": "^7.19.6",
115
+ "@babel/preset-env": "^7.20.2",
112
116
  "@babel/preset-typescript": "^7.18.6",
113
117
  "@jest/globals": "^29.0.1",
118
+ "@pollyjs/adapter-node-http": "^6.0.5",
119
+ "@pollyjs/core": "^6.0.5",
120
+ "@pollyjs/persister-fs": "^6.0.5",
114
121
  "@types/colors": "^1.2.1",
122
+ "@types/esprima": "^4.0.3",
115
123
  "@types/fs-extra": "^9.0.13",
116
- "@types/jest": "^29.2.0",
117
- "@types/lodash": "^4.14.184",
124
+ "@types/jest": "^29.2.3",
125
+ "@types/lodash": "^4.14.189",
118
126
  "@types/mock-fs": "^4.13.1",
119
- "@types/node": "^18.7.10",
127
+ "@types/node": "^18.11.9",
120
128
  "@types/properties-reader": "^2.1.1",
121
- "@types/uuid": "^8.3.4",
122
- "@typescript-eslint/eslint-plugin": "^5.34.0",
123
- "@typescript-eslint/parser": "^5.34.0",
124
- "axios-mock-adapter": "^1.21.2",
125
- "babel-jest": "^28.1.3",
129
+ "@types/uuid": "^9.0.0",
130
+ "@typescript-eslint/eslint-plugin": "^5.44.0",
131
+ "@typescript-eslint/parser": "^5.44.0",
132
+ "babel-jest": "^29.3.1",
126
133
  "babel-plugin-transform-import-meta": "^2.1.1",
127
- "del": "^6.0.0",
128
- "eslint": "^8.21.0",
134
+ "cli-table3": "^0.6.3",
135
+ "del": "6.1.1",
136
+ "eslint": "^8.28.0",
129
137
  "eslint-config-prettier": "^8.4.0",
130
138
  "eslint-plugin-import": "^2.25.4",
131
- "eslint-plugin-jest": "^26.8.2",
139
+ "eslint-plugin-jest": "^27.1.5",
132
140
  "eslint-plugin-prettier": "^4.2.1",
133
141
  "gulp": "^4.0.2",
134
142
  "gulp-babel": "^8.0.0",
135
143
  "gulp-rename": "^2.0.0",
136
144
  "gulp-sourcemaps": "^3.0.0",
137
145
  "gulp-typescript": "^6.0.0-alpha.1",
138
- "jest": "^29.2.2",
146
+ "jest": "^29.3.1",
147
+ "jest-jasmine2": "^29.3.1",
139
148
  "map-stream": "^0.0.7",
140
- "mock-fs": "^5.1.4",
149
+ "mock-fs": "^5.2.0",
141
150
  "prettier": "^2.7.1",
142
- "typescript": "^4.8.3"
151
+ "setup-polly-jest": "^0.11.0",
152
+ "typescript": "^4.9.3"
143
153
  }
144
154
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/AgentApi.ts"],"names":[],"mappings":"AA0BA;;;GAGG;AACH,wBAAsB,aAAa,iBAYlC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,gBAatD;AAED;;;GAGG;AACH,wBAAsB,SAAS,iBAgB9B;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,gBAalD;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAc5E;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAc3E;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,KAAA,gBAoBV;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,gBAehB","file":"AgentApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\nimport { debugMessage } from '../ops/utils/Console';\n\nconst getAgentTypesURLTemplate =\n '%s/json%s/realm-config/agents?_action=getAllTypes';\nconst getAllAgentsURLTemplate =\n '%s/json%s/realm-config/agents?_action=nextdescendents';\nconst queryAgentURLTemplate =\n \"%s/json%s/realm-config/agents?_queryFilter=_id+eq+'%s'\";\nconst queryAgentByTypeURLTemplate =\n \"%s/json%s/realm-config/agents/%s?_queryFilter=_id+eq+'%s'\";\nconst agentURLTemplate = '%s/json%s/realm-config/agents/%s/%s';\nconst agentListURLTemplate =\n '%s/json%s/realm-config/agents/%s?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/agents`,\n apiVersion,\n };\n};\n\n/**\n * Get agent types\n * @returns {Promise} a promise that resolves to an object containing an array of agent types\n */\nexport async function getAgentTypes() {\n debugMessage(`AgentApi.getAgentTypes: start`);\n const urlString = util.format(\n getAgentTypesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentTypes: end`);\n return data;\n}\n\n/**\n * Get agents\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects of the specified type\n */\nexport async function getAgentsByType(agentType: string) {\n debugMessage(`AgentApi.getAgentsByType: start`);\n const urlString = util.format(\n agentListURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n agentType\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentsByType: end`);\n return data;\n}\n\n/**\n * Get all agents\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects\n */\nexport async function getAgents() {\n debugMessage(`AgentApi.getAgents: start`);\n const urlString = util.format(\n getAllAgentsURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n debugMessage(`AgentApi.getAgents: end`);\n return data;\n}\n\n/**\n * Find agent by id\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentById(agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Find agent by id\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentByTypeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Get agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an object containing an agent object of the specified type\n */\nexport async function getAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.getAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Put agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @param {Object} agentData agent object\n * @returns {Promise} a promise that resolves to an object containing an agent object\n */\nexport async function putAgentByTypeAndId(\n agentType: string,\n agentId: string,\n agentData\n) {\n debugMessage(`AgentApi.putAgentByTypeAndId: start`);\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const agent = deleteDeepByKey(agentData, '-encrypted');\n delete agent._provider;\n delete agent._rev;\n const urlString = util.format(\n agentURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).put(urlString, agent, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.putAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Delete agent\n * @param agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param agentId agent id\n * @returns a promise that resolves to an object containing an agent object\n */\nexport async function deleteAgentByTypeAndId(\n agentType: string,\n agentId: string\n) {\n debugMessage(`AgentApi.deleteAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.deleteAgentByTypeAndId: end`);\n return data;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/AgentApi.ts"],"names":[],"mappings":"AA0BA;;;GAGG;AACH,wBAAsB,aAAa,iBAYlC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,gBAatD;AAED;;;GAGG;AACH,wBAAsB,SAAS,iBAgB9B;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,gBAalD;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAc5E;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAc3E;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,KAAA,gBAoBV;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,gBAehB","file":"AgentApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport * as state from '../shared/State';\nimport { debugMessage } from '../ops/utils/Console';\n\nconst getAgentTypesURLTemplate =\n '%s/json%s/realm-config/agents?_action=getAllTypes';\nconst getAllAgentsURLTemplate =\n '%s/json%s/realm-config/agents?_action=nextdescendents';\nconst queryAgentURLTemplate =\n \"%s/json%s/realm-config/agents?_queryFilter=_id+eq+'%s'\";\nconst queryAgentByTypeURLTemplate =\n \"%s/json%s/realm-config/agents/%s?_queryFilter=_id+eq+'%s'\";\nconst agentURLTemplate = '%s/json%s/realm-config/agents/%s/%s';\nconst agentListURLTemplate =\n '%s/json%s/realm-config/agents/%s?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/agents`,\n apiVersion,\n };\n};\n\n/**\n * Get agent types\n * @returns {Promise} a promise that resolves to an object containing an array of agent types\n */\nexport async function getAgentTypes() {\n debugMessage(`AgentApi.getAgentTypes: start`);\n const urlString = util.format(\n getAgentTypesURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentTypes: end`);\n return data;\n}\n\n/**\n * Get agents\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects of the specified type\n */\nexport async function getAgentsByType(agentType: string) {\n debugMessage(`AgentApi.getAgentsByType: start`);\n const urlString = util.format(\n agentListURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentsByType: end`);\n return data;\n}\n\n/**\n * Get all agents\n * @returns {Promise} a promise that resolves to an object containing an array of agent objects\n */\nexport async function getAgents() {\n debugMessage(`AgentApi.getAgents: start`);\n const urlString = util.format(\n getAllAgentsURLTemplate,\n state.getHost(),\n getCurrentRealmPath()\n );\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n }\n );\n debugMessage(`AgentApi.getAgents: end`);\n return data;\n}\n\n/**\n * Find agent by id\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentById(agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Find agent by id\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an array with one or zero agent objects\n */\nexport async function findAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.findAgentById: start`);\n const urlString = util.format(\n queryAgentByTypeURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.findAgentById: end`);\n return data.result;\n}\n\n/**\n * Get agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @returns {Promise} a promise that resolves to an object containing an agent object of the specified type\n */\nexport async function getAgentByTypeAndId(agentType: string, agentId: string) {\n debugMessage(`AgentApi.getAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.getAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Put agent\n * @param {string} agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param {string} agentId agent id\n * @param {Object} agentData agent object\n * @returns {Promise} a promise that resolves to an object containing an agent object\n */\nexport async function putAgentByTypeAndId(\n agentType: string,\n agentId: string,\n agentData\n) {\n debugMessage(`AgentApi.putAgentByTypeAndId: start`);\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const agent = deleteDeepByKey(agentData, '-encrypted');\n delete agent._provider;\n delete agent._rev;\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).put(urlString, agent, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.putAgentByTypeAndId: end`);\n return data;\n}\n\n/**\n * Delete agent\n * @param agentType agent type (IdentityGatewayAgent, J2EEAgent, WebAgent)\n * @param agentId agent id\n * @returns a promise that resolves to an object containing an agent object\n */\nexport async function deleteAgentByTypeAndId(\n agentType: string,\n agentId: string\n) {\n debugMessage(`AgentApi.deleteAgentByTypeAndId: start`);\n const urlString = util.format(\n agentURLTemplate,\n state.getHost(),\n getCurrentRealmPath(),\n agentType,\n agentId\n );\n const { data } = await generateAmApi(getApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n debugMessage(`AgentApi.deleteAgentByTypeAndId: end`);\n return data;\n}\n"]}
@@ -1,4 +1,4 @@
1
- interface ObjectSkeletonInterface {
1
+ export interface ObjectSkeletonInterface {
2
2
  _id: string;
3
3
  _rev?: number;
4
4
  [k: string]: string | number | boolean | string[] | ObjectSkeletonInterface;
@@ -18,46 +18,46 @@ export interface InnerNodeRefSkeletonInterface {
18
18
  displayName: string;
19
19
  nodeType: string;
20
20
  }
21
- export declare type TreeSkeleton = ObjectSkeletonInterface & {
21
+ export type TreeSkeleton = ObjectSkeletonInterface & {
22
22
  entryNodeId: string;
23
23
  nodes: Record<string, NodeRefSkeletonInterface>;
24
24
  identityResource?: string;
25
25
  uiConfig?: UiConfigInterface;
26
26
  enabled?: boolean;
27
27
  };
28
- export declare type AmServiceType = ObjectSkeletonInterface & {
28
+ export type AmServiceType = ObjectSkeletonInterface & {
29
29
  name: string;
30
30
  };
31
- export declare type NodeSkeleton = ObjectSkeletonInterface & {
31
+ export type NodeSkeleton = ObjectSkeletonInterface & {
32
32
  _type: AmServiceType;
33
33
  nodes?: InnerNodeRefSkeletonInterface[];
34
34
  tree?: string;
35
35
  identityResource?: string;
36
36
  };
37
- export declare type SocialIdpSkeleton = ObjectSkeletonInterface & {
37
+ export type SocialIdpSkeleton = ObjectSkeletonInterface & {
38
38
  _type: AmServiceType;
39
39
  enabled: boolean;
40
40
  };
41
- export declare type AmServiceSkeleton = ObjectSkeletonInterface & {
41
+ export type AmServiceSkeleton = ObjectSkeletonInterface & {
42
42
  _type: AmServiceType;
43
43
  [key: string]: any;
44
44
  };
45
- export declare type AgentSkeleton = ObjectSkeletonInterface & {
45
+ export type AgentSkeleton = ObjectSkeletonInterface & {
46
46
  _type: AmServiceType;
47
47
  };
48
- export declare type EmailTemplateSkeleton = ObjectSkeletonInterface & {
48
+ export type EmailTemplateSkeleton = ObjectSkeletonInterface & {
49
49
  defaultLocale?: string;
50
50
  displayName?: string;
51
51
  enabled?: boolean;
52
52
  from: string;
53
53
  subject: Record<string, string>;
54
54
  };
55
- export declare type ThemeSkeleton = ObjectSkeletonInterface & {
55
+ export type ThemeSkeleton = ObjectSkeletonInterface & {
56
56
  name: string;
57
57
  isDefault: boolean;
58
58
  linkedTrees: string[];
59
59
  };
60
- export declare type UiThemeRealmObject = ObjectSkeletonInterface & {
60
+ export type UiThemeRealmObject = ObjectSkeletonInterface & {
61
61
  name: string;
62
62
  realm: Map<string, ThemeSkeleton[]>;
63
63
  };
@@ -81,7 +81,7 @@ export declare enum ScriptContext {
81
81
  SAML2_IDP_ATTRIBUTE_MAPPER = "SAML2_IDP_ATTRIBUTE_MAPPER",
82
82
  OAUTH2_MAY_ACT = "OAUTH2_MAY_ACT"
83
83
  }
84
- export declare type ScriptSkeleton = ObjectSkeletonInterface & {
84
+ export type ScriptSkeleton = ObjectSkeletonInterface & {
85
85
  name: string;
86
86
  description: string;
87
87
  isDefault: boolean;
@@ -97,12 +97,12 @@ export declare enum Saml2ProiderLocation {
97
97
  HOSTED = "hosted",
98
98
  REMOTE = "remote"
99
99
  }
100
- export declare type Saml2ProviderStub = ObjectSkeletonInterface & {
100
+ export type Saml2ProviderStub = ObjectSkeletonInterface & {
101
101
  entityId: string;
102
102
  location: Saml2ProiderLocation;
103
103
  roles: string[];
104
104
  };
105
- export declare type Saml2ProviderSkeleton = ObjectSkeletonInterface & {
105
+ export type Saml2ProviderSkeleton = ObjectSkeletonInterface & {
106
106
  entityId: string;
107
107
  entityLocation: Saml2ProiderLocation;
108
108
  serviceProvider: unknown;
@@ -110,12 +110,12 @@ export declare type Saml2ProviderSkeleton = ObjectSkeletonInterface & {
110
110
  attributeQueryProvider: unknown;
111
111
  xacmlPolicyEnforcementPoint: unknown;
112
112
  };
113
- export declare type CircleOfTrustSkeleton = ObjectSkeletonInterface & {
113
+ export type CircleOfTrustSkeleton = ObjectSkeletonInterface & {
114
114
  _type: AmServiceType;
115
115
  status: string;
116
116
  trustedProviders: string[];
117
117
  };
118
- export declare type PagedResult<Result> = {
118
+ export type PagedResult<Result> = {
119
119
  result: Result[];
120
120
  resultCount: number;
121
121
  pagedResultsCookie: string;
@@ -123,4 +123,3 @@ export declare type PagedResult<Result> = {
123
123
  totalPagedResults: number;
124
124
  remainingPagedResults: number;
125
125
  };
126
- export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/ApiTypes.ts"],"names":[],"mappings":"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","file":"ApiTypes.d.ts","sourcesContent":["interface ObjectSkeletonInterface {\n _id: string;\n _rev?: number;\n [k: string]: string | number | boolean | string[] | ObjectSkeletonInterface;\n}\n\nexport interface UiConfigInterface {\n categories: string;\n}\n\nexport interface NodeRefSkeletonInterface {\n connections: Record<string, string>;\n displayName: string;\n nodeType: string;\n x: number;\n y: number;\n}\n\nexport interface InnerNodeRefSkeletonInterface {\n _id: string;\n displayName: string;\n nodeType: string;\n}\n\nexport type TreeSkeleton = ObjectSkeletonInterface & {\n entryNodeId: string;\n nodes: Record<string, NodeRefSkeletonInterface>;\n identityResource?: string;\n uiConfig?: UiConfigInterface;\n enabled?: boolean;\n};\n\nexport type AmServiceType = ObjectSkeletonInterface & {\n name: string;\n};\n\nexport type NodeSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n nodes?: InnerNodeRefSkeletonInterface[];\n tree?: string;\n identityResource?: string;\n};\n\nexport type SocialIdpSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n enabled: boolean;\n};\n\nexport type AmServiceSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\nexport type AgentSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n};\n\nexport type EmailTemplateSkeleton = ObjectSkeletonInterface & {\n defaultLocale?: string;\n displayName?: string;\n enabled?: boolean;\n from: string;\n subject: Record<string, string>;\n};\n\nexport type ThemeSkeleton = ObjectSkeletonInterface & {\n name: string;\n isDefault: boolean;\n linkedTrees: string[];\n};\n\nexport type UiThemeRealmObject = ObjectSkeletonInterface & {\n name: string;\n realm: Map<string, ThemeSkeleton[]>;\n};\n\nexport enum ScriptLanguage {\n GROOVY = 'GROOVY',\n JAVASCRIPT = 'JAVASCRIPT',\n}\n\nexport enum ScriptContext {\n OAUTH2_ACCESS_TOKEN_MODIFICATION = 'OAUTH2_ACCESS_TOKEN_MODIFICATION',\n AUTHENTICATION_CLIENT_SIDE = 'AUTHENTICATION_CLIENT_SIDE',\n AUTHENTICATION_TREE_DECISION_NODE = 'AUTHENTICATION_TREE_DECISION_NODE',\n AUTHENTICATION_SERVER_SIDE = 'AUTHENTICATION_SERVER_SIDE',\n SOCIAL_IDP_PROFILE_TRANSFORMATION = 'SOCIAL_IDP_PROFILE_TRANSFORMATION',\n OAUTH2_VALIDATE_SCOPE = 'OAUTH2_VALIDATE_SCOPE',\n CONFIG_PROVIDER_NODE = 'CONFIG_PROVIDER_NODE',\n OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER = 'OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER',\n OAUTH2_EVALUATE_SCOPE = 'OAUTH2_EVALUATE_SCOPE',\n POLICY_CONDITION = 'POLICY_CONDITION',\n OIDC_CLAIMS = 'OIDC_CLAIMS',\n SAML2_IDP_ADAPTER = 'SAML2_IDP_ADAPTER',\n SAML2_IDP_ATTRIBUTE_MAPPER = 'SAML2_IDP_ATTRIBUTE_MAPPER',\n OAUTH2_MAY_ACT = 'OAUTH2_MAY_ACT',\n}\n\nexport type ScriptSkeleton = ObjectSkeletonInterface & {\n name: string;\n description: string;\n isDefault: boolean;\n script: string;\n language: ScriptLanguage;\n context: ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\nexport enum Saml2ProiderLocation {\n HOSTED = 'hosted',\n REMOTE = 'remote',\n}\n\nexport type Saml2ProviderStub = ObjectSkeletonInterface & {\n entityId: string;\n location: Saml2ProiderLocation;\n roles: string[];\n};\n\nexport type Saml2ProviderSkeleton = ObjectSkeletonInterface & {\n entityId: string;\n entityLocation: Saml2ProiderLocation;\n serviceProvider: unknown;\n identityProvider: unknown;\n attributeQueryProvider: unknown;\n xacmlPolicyEnforcementPoint: unknown;\n};\n\nexport type CircleOfTrustSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n status: string;\n trustedProviders: string[];\n};\n\nexport type PagedResult<Result> = {\n result: Result[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: 'EXACT';\n totalPagedResults: number;\n remainingPagedResults: number;\n};\n"]}
1
+ {"version":3,"sources":["../src/api/ApiTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,uBAAuB,CAAC;CAC7E;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,6BAA6B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG;IACnD,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,6BAA6B,EAAE,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG;IACxD,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG;IACxD,KAAK,EAAE,aAAa,CAAC;IAErB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG;IACpD,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,uBAAuB,GAAG;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GAAG;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CACrC,CAAC;AAEF,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,oBAAY,aAAa;IACvB,gCAAgC,qCAAqC;IACrE,0BAA0B,+BAA+B;IACzD,iCAAiC,sCAAsC;IACvE,0BAA0B,+BAA+B;IACzD,iCAAiC,sCAAsC;IACvE,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAC7C,uCAAuC,4CAA4C;IACnF,qBAAqB,0BAA0B;IAC/C,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,0BAA0B,+BAA+B;IACzD,cAAc,mBAAmB;CAClC;AAED,MAAM,MAAM,cAAc,GAAG,uBAAuB,GAAG;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,uBAAuB,GAAG;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,oBAAoB,CAAC;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,2BAA2B,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,uBAAuB,GAAG;IAC5D,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,MAAM,IAAI;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC","file":"ApiTypes.d.ts","sourcesContent":["export interface ObjectSkeletonInterface {\n _id: string;\n _rev?: number;\n [k: string]: string | number | boolean | string[] | ObjectSkeletonInterface;\n}\n\nexport interface UiConfigInterface {\n categories: string;\n}\n\nexport interface NodeRefSkeletonInterface {\n connections: Record<string, string>;\n displayName: string;\n nodeType: string;\n x: number;\n y: number;\n}\n\nexport interface InnerNodeRefSkeletonInterface {\n _id: string;\n displayName: string;\n nodeType: string;\n}\n\nexport type TreeSkeleton = ObjectSkeletonInterface & {\n entryNodeId: string;\n nodes: Record<string, NodeRefSkeletonInterface>;\n identityResource?: string;\n uiConfig?: UiConfigInterface;\n enabled?: boolean;\n};\n\nexport type AmServiceType = ObjectSkeletonInterface & {\n name: string;\n};\n\nexport type NodeSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n nodes?: InnerNodeRefSkeletonInterface[];\n tree?: string;\n identityResource?: string;\n};\n\nexport type SocialIdpSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n enabled: boolean;\n};\n\nexport type AmServiceSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\nexport type AgentSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n};\n\nexport type EmailTemplateSkeleton = ObjectSkeletonInterface & {\n defaultLocale?: string;\n displayName?: string;\n enabled?: boolean;\n from: string;\n subject: Record<string, string>;\n};\n\nexport type ThemeSkeleton = ObjectSkeletonInterface & {\n name: string;\n isDefault: boolean;\n linkedTrees: string[];\n};\n\nexport type UiThemeRealmObject = ObjectSkeletonInterface & {\n name: string;\n realm: Map<string, ThemeSkeleton[]>;\n};\n\nexport enum ScriptLanguage {\n GROOVY = 'GROOVY',\n JAVASCRIPT = 'JAVASCRIPT',\n}\n\nexport enum ScriptContext {\n OAUTH2_ACCESS_TOKEN_MODIFICATION = 'OAUTH2_ACCESS_TOKEN_MODIFICATION',\n AUTHENTICATION_CLIENT_SIDE = 'AUTHENTICATION_CLIENT_SIDE',\n AUTHENTICATION_TREE_DECISION_NODE = 'AUTHENTICATION_TREE_DECISION_NODE',\n AUTHENTICATION_SERVER_SIDE = 'AUTHENTICATION_SERVER_SIDE',\n SOCIAL_IDP_PROFILE_TRANSFORMATION = 'SOCIAL_IDP_PROFILE_TRANSFORMATION',\n OAUTH2_VALIDATE_SCOPE = 'OAUTH2_VALIDATE_SCOPE',\n CONFIG_PROVIDER_NODE = 'CONFIG_PROVIDER_NODE',\n OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER = 'OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER',\n OAUTH2_EVALUATE_SCOPE = 'OAUTH2_EVALUATE_SCOPE',\n POLICY_CONDITION = 'POLICY_CONDITION',\n OIDC_CLAIMS = 'OIDC_CLAIMS',\n SAML2_IDP_ADAPTER = 'SAML2_IDP_ADAPTER',\n SAML2_IDP_ATTRIBUTE_MAPPER = 'SAML2_IDP_ATTRIBUTE_MAPPER',\n OAUTH2_MAY_ACT = 'OAUTH2_MAY_ACT',\n}\n\nexport type ScriptSkeleton = ObjectSkeletonInterface & {\n name: string;\n description: string;\n isDefault: boolean;\n script: string;\n language: ScriptLanguage;\n context: ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\nexport enum Saml2ProiderLocation {\n HOSTED = 'hosted',\n REMOTE = 'remote',\n}\n\nexport type Saml2ProviderStub = ObjectSkeletonInterface & {\n entityId: string;\n location: Saml2ProiderLocation;\n roles: string[];\n};\n\nexport type Saml2ProviderSkeleton = ObjectSkeletonInterface & {\n entityId: string;\n entityLocation: Saml2ProiderLocation;\n serviceProvider: unknown;\n identityProvider: unknown;\n attributeQueryProvider: unknown;\n xacmlPolicyEnforcementPoint: unknown;\n};\n\nexport type CircleOfTrustSkeleton = ObjectSkeletonInterface & {\n _type: AmServiceType;\n status: string;\n trustedProviders: string[];\n};\n\nexport type PagedResult<Result> = {\n result: Result[];\n resultCount: number;\n pagedResultsCookie: string;\n totalPagedResultsPolicy: 'EXACT';\n totalPagedResults: number;\n remainingPagedResults: number;\n};\n"]}
@@ -1,2 +1,2 @@
1
1
  export declare function getRealmUrl(realm: any): string;
2
- export declare function step(data?: {}, config?: {}): Promise<import("axios").AxiosResponse<any, any>>;
2
+ export declare function step(body?: {}, config?: {}): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/AuthenticateApi.ts"],"names":[],"mappings":"AAcA,wBAAgB,WAAW,CAAC,KAAK,KAAA,UAUhC;AAED,wBAAsB,IAAI,CAAC,IAAI,KAAK,EAAE,MAAM,KAAK,oDAchD","file":"AuthenticateApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst authenticateUrlTemplate = '%s/json%s/authenticate';\nconst authenticateWithServiceUrlTemplate = `${authenticateUrlTemplate}?authIndexType=service&authIndexValue=%s`;\n\nconst apiVersion = 'resource=2.0, protocol=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\nconst realmPathTemplate = '/realms/%s';\n\nexport function getRealmUrl(realm) {\n let localRealm = realm;\n if (localRealm.startsWith('/') && localRealm.length > 1) {\n localRealm = localRealm.substring(1);\n }\n let realmPath = util.format(realmPathTemplate, 'root');\n if (localRealm !== '/') {\n realmPath += util.format(realmPathTemplate, localRealm);\n }\n return realmPath;\n}\n\nexport async function step(data = {}, config = {}) {\n const urlString = storage.session.getAuthenticationService()\n ? util.format(\n authenticateWithServiceUrlTemplate,\n storage.session.getTenant(),\n getRealmUrl('/'),\n storage.session.getAuthenticationService()\n )\n : util.format(\n authenticateUrlTemplate,\n storage.session.getTenant(),\n getRealmUrl('/')\n );\n return generateAmApi(getApiConfig()).post(urlString, data, config);\n}\n"]}
1
+ {"version":3,"sources":["../src/api/AuthenticateApi.ts"],"names":[],"mappings":"AAcA,wBAAgB,WAAW,CAAC,KAAK,KAAA,UAUhC;AAED,wBAAsB,IAAI,CAAC,IAAI,KAAK,EAAE,MAAM,KAAK,gBAehD","file":"AuthenticateApi.d.ts","sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport * as state from '../shared/State';\n\nconst authenticateUrlTemplate = '%s/json%s/authenticate';\nconst authenticateWithServiceUrlTemplate = `${authenticateUrlTemplate}?authIndexType=service&authIndexValue=%s`;\n\nconst apiVersion = 'resource=2.0, protocol=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\nconst realmPathTemplate = '/realms/%s';\n\nexport function getRealmUrl(realm) {\n let localRealm = realm;\n if (localRealm.startsWith('/') && localRealm.length > 1) {\n localRealm = localRealm.substring(1);\n }\n let realmPath = util.format(realmPathTemplate, 'root');\n if (localRealm !== '/') {\n realmPath += util.format(realmPathTemplate, localRealm);\n }\n return realmPath;\n}\n\nexport async function step(body = {}, config = {}) {\n const urlString = state.getAuthenticationService()\n ? util.format(\n authenticateWithServiceUrlTemplate,\n state.getHost(),\n getRealmUrl('/'),\n state.getAuthenticationService()\n )\n : util.format(authenticateUrlTemplate, state.getHost(), getRealmUrl('/'));\n const { data } = await generateAmApi(getApiConfig()).post(\n urlString,\n body,\n config\n );\n return data;\n}\n"]}
@@ -1,3 +1,5 @@
1
+ import MockAdapter from 'axios-mock-adapter';
2
+ export declare const FrodoMockAdapter: MockAdapter;
1
3
  /**
2
4
  * Generates an AM Axios API instance
3
5
  * @param {object} resource Takes an object takes a resource object. example:
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/BaseApi.ts"],"names":[],"mappings":"AAsGA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCAwC3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCAuC/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCA4BlD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,KAAK,iCA6BtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAwBlD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA+B5D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,KAAA,EAAE,eAAe,KAAK,iCAsB/D","file":"BaseApi.d.ts","sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { curlirizeMessage, printMessage } from '../ops/utils/Console';\nimport _curlirize from '../ext/axios-curlirize/curlirize';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !storage.session.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request) {\n _curlirize(request, (result, err) => {\n const { command } = result;\n if (err) {\n printMessage(err, 'error');\n } else {\n curlirizeMessage(command);\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value\n ...(storage.session.getCookieName() &&\n storage.session.getCookieValue() && {\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value\n ...(storage.session.getCookieName() &&\n storage.session.getCookieValue() && {\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.getLogApiSecret(),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi(baseUrl, requestOverride = {}) {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (storage.session.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/BaseApi.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAe7C,eAAO,MAAM,gBAAgB,aAGd,CAAC;AA+FhB;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA+C3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA8C/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAiClD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,KAAK,iCA2BtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAwBlD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA6B5D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,KAAA,EAAE,eAAe,KAAK,iCAsB/D","file":"BaseApi.d.ts","sourcesContent":["import axios, { AxiosProxyConfig } from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport Agent from 'agentkeepalive';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport * as state from '../shared/State';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { curlirizeMessage, printMessage } from '../ops/utils/Console';\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport { randomUUID } from 'crypto';\nimport { mockAll } from '../test/mocks/ForgeRockApiMockEngine';\n\n// this has to be the first statement after the imports for mocking to work\nexport const FrodoMockAdapter =\n process.env.FRODO_MOCK || process.env.frodo_mock\n ? new MockAdapter(axios)\n : undefined;\n\nif (FrodoMockAdapter) mockAll(FrodoMockAdapter);\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nconst transactionId = `frodo-${randomUUID()}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !state.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !state.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request) {\n _curlirize(request, (result, err) => {\n const { command } = result;\n if (err) {\n printMessage(err, 'error');\n } else {\n curlirizeMessage(command);\n }\n });\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n // baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n // if (storage.session.getBearerToken()) {\n // requestDetails.headers[\n // 'Authorization'\n // ] = `Bearer ${storage.session.getBearerToken()}`;\n // }\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': state.getLogApiKey(),\n 'X-API-Secret': state.getLogApiSecret(),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi(baseUrl, requestOverride = {}) {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request);\n }\n\n return request;\n}\n"]}