@rockcarver/frodo-lib 0.12.2-4 → 0.12.2-7

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 (361) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/cjs/api/CirclesOfTrustApi.js +17 -6
  3. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  4. package/cjs/api/EmailTemplateApi.js +10 -10
  5. package/cjs/api/EmailTemplateApi.js.map +1 -1
  6. package/cjs/api/IdmConfigApi.js +31 -16
  7. package/cjs/api/IdmConfigApi.js.map +1 -1
  8. package/cjs/api/NodeApi.js +14 -8
  9. package/cjs/api/NodeApi.js.map +1 -1
  10. package/cjs/api/NodeApi.test.js.map +1 -1
  11. package/cjs/api/Saml2Api.js +35 -17
  12. package/cjs/api/Saml2Api.js.map +1 -1
  13. package/cjs/api/ScriptApi.js +27 -16
  14. package/cjs/api/ScriptApi.js.map +1 -1
  15. package/cjs/api/SecretsApi.test.js.map +1 -1
  16. package/cjs/api/SocialIdentityProvidersApi.js +23 -8
  17. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  18. package/cjs/api/StartupApi.test.js.map +1 -1
  19. package/cjs/api/ThemeApi.js +55 -54
  20. package/cjs/api/ThemeApi.js.map +1 -1
  21. package/cjs/api/TreeApi.js +1 -1
  22. package/cjs/api/TreeApi.js.map +1 -1
  23. package/cjs/api/TreeApi.test.js.map +1 -1
  24. package/cjs/api/VariablesApi.test.js.map +1 -0
  25. package/cjs/api/utils/ApiUtils.js +79 -0
  26. package/cjs/api/utils/ApiUtils.js.map +1 -1
  27. package/cjs/index.js +5 -1
  28. package/cjs/index.js.map +1 -1
  29. package/cjs/ops/AdminOps.js +11 -11
  30. package/cjs/ops/AdminOps.js.map +1 -1
  31. package/cjs/ops/CirclesOfTrustOps.js +36 -63
  32. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  33. package/cjs/ops/EmailTemplateOps.js +94 -82
  34. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  35. package/cjs/ops/IdmOps.js +7 -7
  36. package/cjs/ops/IdmOps.js.map +1 -1
  37. package/cjs/ops/IdpOps.js +3 -3
  38. package/cjs/ops/IdpOps.js.map +1 -1
  39. package/cjs/ops/JourneyOps.js +250 -218
  40. package/cjs/ops/JourneyOps.js.map +1 -1
  41. package/cjs/ops/JourneyOps.test.js.map +1 -0
  42. package/cjs/ops/SamlOps.js +99 -95
  43. package/cjs/ops/SamlOps.js.map +1 -1
  44. package/cjs/ops/ScriptOps.js +6 -6
  45. package/cjs/ops/ScriptOps.js.map +1 -1
  46. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  47. package/cjs/test/e2e/journey/baseline/ForgottenUsername.journey.json +216 -0
  48. package/cjs/test/e2e/journey/baseline/Login.journey.json +205 -0
  49. package/cjs/test/e2e/journey/baseline/PasswordGrant.journey.json +139 -0
  50. package/cjs/test/e2e/journey/baseline/ProgressiveProfile.journey.json +198 -0
  51. package/cjs/test/e2e/journey/baseline/Registration.journey.json +249 -0
  52. package/cjs/test/e2e/journey/baseline/ResetPassword.journey.json +268 -0
  53. package/cjs/test/e2e/journey/baseline/UpdatePassword.journey.json +323 -0
  54. package/cjs/test/e2e/journey/baseline/allAlphaJourneys.journeys.json +1520 -0
  55. package/cjs/test/e2e/journey/delete/ForgottenUsername.journey.json +216 -0
  56. package/cjs/test/e2e/journey/delete/Login.journey.json +205 -0
  57. package/cjs/test/e2e/journey/delete/PasswordGrant.journey.json +139 -0
  58. package/cjs/test/e2e/journey/delete/ProgressiveProfile.journey.json +198 -0
  59. package/cjs/test/e2e/journey/delete/Registration.journey.json +249 -0
  60. package/cjs/test/e2e/journey/delete/ResetPassword.journey.json +268 -0
  61. package/cjs/test/e2e/journey/delete/UpdatePassword.journey.json +323 -0
  62. package/cjs/test/e2e/journey/delete/deleteMe.journey.json +230 -0
  63. package/cjs/test/e2e/journey/list/Disabled.journey.json +43 -0
  64. package/cjs/test/e2e/journey/list/ForgottenUsername.journey.json +216 -0
  65. package/cjs/test/e2e/journey/list/Login.journey.json +205 -0
  66. package/cjs/test/e2e/journey/list/PasswordGrant.journey.json +139 -0
  67. package/cjs/test/e2e/journey/list/ProgressiveProfile.journey.json +198 -0
  68. package/cjs/test/e2e/journey/list/Registration.journey.json +249 -0
  69. package/cjs/test/e2e/journey/list/ResetPassword.journey.json +268 -0
  70. package/cjs/test/e2e/journey/list/UpdatePassword.journey.json +323 -0
  71. package/cjs/test/e2e/theme/baseline/Contrast.theme.json +95 -0
  72. package/cjs/test/e2e/theme/baseline/Highlander.theme.json +95 -0
  73. package/cjs/test/e2e/theme/baseline/Robroy.theme.json +95 -0
  74. package/cjs/test/e2e/theme/baseline/Starter-Theme.theme.json +94 -0
  75. package/cjs/test/e2e/theme/baseline/Zardoz.theme.json +95 -0
  76. package/cjs/test/e2e/theme/import/Contrast.theme.json +95 -0
  77. package/cjs/test/e2e/theme/import/Highlander.theme.json +95 -0
  78. package/cjs/test/e2e/theme/import/Robroy.theme.json +95 -0
  79. package/cjs/test/e2e/theme/import/Starter-Theme.theme.json +94 -0
  80. package/cjs/test/e2e/theme/import/Zardoz.default.theme.json +95 -0
  81. package/cjs/test/mocks/CirclesOfTrustApi/getCircleOfTrust/AzureCOT.json +17 -0
  82. package/cjs/test/mocks/CirclesOfTrustApi/getCirclesOfTrust/cots.json +53 -0
  83. package/cjs/test/mocks/ForgeRockApiMockEngine.js +341 -0
  84. package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -0
  85. package/cjs/test/mocks/IdmConfigApi/getConfigEntity/emailTemplate/welcome.json +18 -0
  86. package/cjs/test/mocks/IdmConfigApi/getConfigEntity/ui/themerealm.json +3554 -0
  87. package/cjs/test/mocks/JourneyOps/importJourney/FrodoTest.journey.json +1277 -0
  88. package/cjs/test/mocks/NodeApi/deleteNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json +28 -0
  89. package/cjs/test/mocks/NodeApi/getNode/EmailTemplateNode/bf153f37-83dd-4f39-aa0c-74135430242e.json +22 -0
  90. package/cjs/test/mocks/NodeApi/getNode/IdentityStoreDecisionNode/fc7e47cd-c679-4211-8e05-a36654f23c67.json +32 -0
  91. package/cjs/test/mocks/NodeApi/getNode/PageNode/278bf084-9eea-46fe-8ce9-2600dde3b046.json +38 -0
  92. package/cjs/test/mocks/NodeApi/getNode/PageNode/731c5810-020b-45c8-a7fc-3c21903ae2b3.json +33 -0
  93. package/cjs/test/mocks/NodeApi/getNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json +28 -0
  94. package/cjs/test/mocks/NodeApi/getNode/ScriptedDecisionNode/e2c39477-847a-4df2-9c5d-b449a752638b.json +23 -0
  95. package/cjs/test/mocks/NodeApi/getNode/SelectIdPNode/038f9b2a-36b2-489b-9e03-386c9a62ea21.json +24 -0
  96. package/cjs/test/mocks/NodeApi/getNode/SelectIdPNode/228a44d5-fd78-4278-8999-fdd470ea7ebf.json +24 -0
  97. package/cjs/test/mocks/NodeApi/getNode/SocialProviderHandlerNode/d5cc2d52-6ce4-452d-85ea-3a5b50218b67.json +22 -0
  98. package/cjs/test/mocks/NodeApi/getNode/ValidatedPasswordNode/804e6a68-1720-442b-926a-007e90f02782.json +17 -0
  99. package/cjs/test/mocks/NodeApi/getNode/ValidatedPasswordNode/dd16c8d4-baca-4ae0-bcd8-fb98b9040524.json +17 -0
  100. package/cjs/test/mocks/NodeApi/getNode/ValidatedUsernameNode/7a351800-fb7e-4145-903c-388554747556.json +17 -0
  101. package/cjs/test/mocks/NodeApi/getNode/node.json +3 -0
  102. package/cjs/test/mocks/NodeApi/getNode/product-Saml2Node/64157fca-bd5b-4405-a4c8-64ffd98a5461.json +30 -0
  103. package/cjs/test/mocks/NodeApi/getNodeTypes/types.json +687 -0
  104. package/cjs/test/mocks/NodeApi/getNodesByType/PageNode.json +4825 -0
  105. package/cjs/test/mocks/NodeApi/putNode/PageNode_0ad90971-d08a-4af3-86f3-01729572dc8f.json +26 -0
  106. package/cjs/test/mocks/NodeApi/putNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json +28 -0
  107. package/cjs/test/mocks/Saml2Api/getProvider/aVNQQXp1cmU.json +147 -0
  108. package/cjs/test/mocks/Saml2Api/getProvider/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.json +80 -0
  109. package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aVNQQXp1cmU.json +147 -0
  110. package/cjs/test/mocks/Saml2Api/getProviderByLocationAndId/remote/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.json +80 -0
  111. package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/aVNQQXp1cmU.xml +74 -0
  112. package/cjs/test/mocks/Saml2Api/getProviderMetadata/alpha/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.xml +56 -0
  113. package/cjs/test/mocks/Saml2Api/getProviders/providers.json +69 -0
  114. package/cjs/test/mocks/ScriptApi/getScript/23143919-6b78-40c3-b25e-beca19b229e0.json +13 -0
  115. package/cjs/test/mocks/ScriptApi/getScript/484e6246-dbc6-4288-97e6-54e55431402e.json +13 -0
  116. package/cjs/test/mocks/ScriptApi/getScript/58c824ae-84ed-4724-82cd-db128fc3f6c.json +13 -0
  117. package/cjs/test/mocks/ScriptApi/getScript/58d29080-4563-480b-89bb-1e7719776a21.json +13 -0
  118. package/cjs/test/mocks/ScriptApi/getScript/6325cf19-a49b-471e-8d26-7e4df76df0e2.json +13 -0
  119. package/cjs/test/mocks/ScriptApi/getScript/739bdc48-fd24-4c52-b353-88706d75558a.json +13 -0
  120. package/cjs/test/mocks/ScriptApi/getScript/73cecbfc-dad0-4395-be6a-6858ee3a80e5.json +13 -0
  121. package/cjs/test/mocks/ScriptApi/getScript/bae1d54a-e97d-4997-aa5d-c027f21af82c.json +13 -0
  122. package/cjs/test/mocks/ScriptApi/getScript/dbe0bf9a-72aa-49d5-8483-9db147985a47.json +13 -0
  123. package/cjs/test/mocks/ScriptApi/getScriptByName/ADFS Profile Normalization (JS).json +13 -0
  124. package/cjs/test/mocks/ScriptApi/getScriptByName/Apple Profile Normalization.json +13 -0
  125. package/cjs/test/mocks/ScriptApi/getScriptByName/Check Username.json +13 -0
  126. package/cjs/test/mocks/ScriptApi/getScriptByName/Facebook Profile Normalization.json +13 -0
  127. package/cjs/test/mocks/ScriptApi/getScriptByName/GitHub Profile Normalization.json +13 -0
  128. package/cjs/test/mocks/ScriptApi/getScriptByName/Google Profile Normalization.json +13 -0
  129. package/cjs/test/mocks/ScriptApi/getScriptByName/Microsoft Profile Normalization.json +13 -0
  130. package/cjs/test/mocks/ScriptApi/getScriptByName/Normalized Profile to Managed User.json +13 -0
  131. package/cjs/test/mocks/ScriptApi/getScriptByName/Okta Profile Normalization.json +13 -0
  132. package/cjs/test/mocks/SecretsApi/createNewVersionOfSecret/error.json +4 -0
  133. package/cjs/test/mocks/SecretsApi/createNewVersionOfSecret/esv-does-not-exist.txt +1 -0
  134. package/cjs/test/mocks/SecretsApi/createNewVersionOfSecret/esv-volkerstestsecret1.json +6 -0
  135. package/cjs/test/mocks/SecretsApi/deleteSecret/error.json +4 -0
  136. package/cjs/test/mocks/SecretsApi/deleteSecret/esv-volkerstestsecret1.json +11 -0
  137. package/cjs/test/mocks/SecretsApi/deleteVersionOfSecret/error.json +4 -0
  138. package/cjs/test/mocks/SecretsApi/deleteVersionOfSecret/esv-volkerstestsecret1_v2.json +6 -0
  139. package/cjs/test/mocks/SecretsApi/getSecret/esv-does-not-exist.json +4 -0
  140. package/cjs/test/mocks/SecretsApi/getSecret/esv-volkerstestsecret1.json +11 -0
  141. package/cjs/test/mocks/SecretsApi/getSecretVersions/esv-does-not-exist.json +4 -0
  142. package/cjs/test/mocks/SecretsApi/getSecretVersions/esv-volkerstestsecret1.json +20 -0
  143. package/cjs/test/mocks/SecretsApi/getSecrets/error.json +4 -0
  144. package/cjs/test/mocks/SecretsApi/getSecrets/secrets.json +75 -0
  145. package/cjs/test/mocks/SecretsApi/getVersionOfSecret/esv-does-not-exist_v2.json +4 -0
  146. package/cjs/test/mocks/SecretsApi/getVersionOfSecret/esv-volkerstestsecret1_v2.json +6 -0
  147. package/cjs/test/mocks/SecretsApi/putSecret/error.json +4 -0
  148. package/cjs/test/mocks/SecretsApi/putSecret/esv-volkerstestsecret1.json +11 -0
  149. package/cjs/test/mocks/SecretsApi/setSecretDescription/error.json +4 -0
  150. package/cjs/test/mocks/SecretsApi/setStatusOfVersionOfSecret/error.json +4 -0
  151. package/cjs/test/mocks/SecretsApi/setStatusOfVersionOfSecret/esv-does-not-exist_v2_DISABLED.json +4 -0
  152. package/cjs/test/mocks/SecretsApi/setStatusOfVersionOfSecret/esv-volkerstestsecret1_v2_DISABLED.json +6 -0
  153. package/cjs/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/adfs.json +44 -0
  154. package/cjs/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/apple-stoyan.json +46 -0
  155. package/cjs/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/apple_web.json +46 -0
  156. package/cjs/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/azure.json +36 -0
  157. package/cjs/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/facebook.json +36 -0
  158. package/cjs/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/github.json +34 -0
  159. package/cjs/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/google.json +44 -0
  160. package/cjs/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/okta-trial-5735851.json +37 -0
  161. package/cjs/test/mocks/SocialIdentityProvidersApi/getSocialIdentityProviders/socialIdentityProviders.json +327 -0
  162. package/cjs/test/mocks/StartupApi/getStatus/ready.json +1 -0
  163. package/cjs/test/mocks/StartupApi/getStatus/restarting.json +1 -0
  164. package/cjs/test/mocks/StartupApi/initiateRestart/ready.json +1 -0
  165. package/cjs/test/mocks/StartupApi/initiateRestart/restarting.json +1 -0
  166. package/cjs/test/mocks/ThemeApi/getThemes/alphaThemes.json +3047 -0
  167. package/cjs/test/mocks/TreeApi/deleteTree/FrodoTest.json +99 -0
  168. package/cjs/test/mocks/TreeApi/getTree/FrodoTest.json +99 -0
  169. package/cjs/test/mocks/TreeApi/getTrees/trees.json +8494 -0
  170. package/cjs/test/mocks/TreeApi/putTree/FrodoTest.json +99 -0
  171. package/cjs/test/mocks/TreeApi/putTree/Invalid_invalid-attribute.json +10 -0
  172. package/cjs/test/mocks/TreeApi/putTree/Invalid_invalid-nodes.json +12 -0
  173. package/cjs/test/mocks/TreeApi/putTree/Invalid_no-entry-node.json +9 -0
  174. package/cjs/test/mocks/TreeApi/putTree/Invalid_trailing-data.txt +11 -0
  175. package/esm/api/CirclesOfTrustApi.mjs +17 -6
  176. package/esm/api/EmailTemplateApi.mjs +10 -10
  177. package/esm/api/IdmConfigApi.mjs +31 -16
  178. package/esm/api/NodeApi.mjs +14 -8
  179. package/esm/api/NodeApi.test.mjs +834 -8
  180. package/esm/api/Saml2Api.mjs +35 -17
  181. package/esm/api/ScriptApi.mjs +27 -16
  182. package/esm/api/SecretsApi.test.mjs +21 -21
  183. package/esm/api/SocialIdentityProvidersApi.mjs +23 -8
  184. package/esm/api/StartupApi.test.mjs +6 -6
  185. package/esm/api/ThemeApi.mjs +55 -54
  186. package/esm/api/TreeApi.mjs +1 -1
  187. package/esm/api/TreeApi.test.mjs +21 -9
  188. package/esm/api/VariablesApi.test.mjs +229 -0
  189. package/esm/api/utils/ApiUtils.mjs +77 -0
  190. package/esm/index.mjs +2 -1
  191. package/esm/ops/AdminOps.mjs +11 -11
  192. package/esm/ops/CirclesOfTrustOps.mjs +20 -35
  193. package/esm/ops/EmailTemplateOps.mjs +35 -27
  194. package/esm/ops/IdmOps.mjs +7 -7
  195. package/esm/ops/IdpOps.mjs +3 -3
  196. package/esm/ops/JourneyOps.mjs +185 -129
  197. package/esm/ops/JourneyOps.test.mjs +195 -0
  198. package/esm/ops/SamlOps.mjs +104 -89
  199. package/esm/ops/ScriptOps.mjs +6 -6
  200. package/esm/test/e2e/journey/baseline/ForgottenUsername.journey.json +216 -0
  201. package/esm/test/e2e/journey/baseline/Login.journey.json +205 -0
  202. package/esm/test/e2e/journey/baseline/PasswordGrant.journey.json +139 -0
  203. package/esm/test/e2e/journey/baseline/ProgressiveProfile.journey.json +198 -0
  204. package/esm/test/e2e/journey/baseline/Registration.journey.json +249 -0
  205. package/esm/test/e2e/journey/baseline/ResetPassword.journey.json +268 -0
  206. package/esm/test/e2e/journey/baseline/UpdatePassword.journey.json +323 -0
  207. package/esm/test/e2e/journey/baseline/allAlphaJourneys.journeys.json +1520 -0
  208. package/esm/test/e2e/journey/delete/ForgottenUsername.journey.json +216 -0
  209. package/esm/test/e2e/journey/delete/Login.journey.json +205 -0
  210. package/esm/test/e2e/journey/delete/PasswordGrant.journey.json +139 -0
  211. package/esm/test/e2e/journey/delete/ProgressiveProfile.journey.json +198 -0
  212. package/esm/test/e2e/journey/delete/Registration.journey.json +249 -0
  213. package/esm/test/e2e/journey/delete/ResetPassword.journey.json +268 -0
  214. package/esm/test/e2e/journey/delete/UpdatePassword.journey.json +323 -0
  215. package/esm/test/e2e/journey/delete/deleteMe.journey.json +230 -0
  216. package/esm/test/e2e/journey/list/Disabled.journey.json +43 -0
  217. package/esm/test/e2e/journey/list/ForgottenUsername.journey.json +216 -0
  218. package/esm/test/e2e/journey/list/Login.journey.json +205 -0
  219. package/esm/test/e2e/journey/list/PasswordGrant.journey.json +139 -0
  220. package/esm/test/e2e/journey/list/ProgressiveProfile.journey.json +198 -0
  221. package/esm/test/e2e/journey/list/Registration.journey.json +249 -0
  222. package/esm/test/e2e/journey/list/ResetPassword.journey.json +268 -0
  223. package/esm/test/e2e/journey/list/UpdatePassword.journey.json +323 -0
  224. package/esm/test/e2e/theme/baseline/Contrast.theme.json +95 -0
  225. package/esm/test/e2e/theme/baseline/Highlander.theme.json +95 -0
  226. package/esm/test/e2e/theme/baseline/Robroy.theme.json +95 -0
  227. package/esm/test/e2e/theme/baseline/Starter-Theme.theme.json +94 -0
  228. package/esm/test/e2e/theme/baseline/Zardoz.theme.json +95 -0
  229. package/esm/test/e2e/theme/import/Contrast.theme.json +95 -0
  230. package/esm/test/e2e/theme/import/Highlander.theme.json +95 -0
  231. package/esm/test/e2e/theme/import/Robroy.theme.json +95 -0
  232. package/esm/test/e2e/theme/import/Starter-Theme.theme.json +94 -0
  233. package/esm/test/e2e/theme/import/Zardoz.default.theme.json +95 -0
  234. package/esm/test/mocks/CirclesOfTrustApi/getCircleOfTrust/AzureCOT.json +17 -0
  235. package/esm/test/mocks/CirclesOfTrustApi/getCirclesOfTrust/cots.json +53 -0
  236. package/esm/test/mocks/ForgeRockApiMockEngine.mjs +272 -0
  237. package/esm/test/mocks/IdmConfigApi/getConfigEntity/emailTemplate/welcome.json +18 -0
  238. package/esm/test/mocks/IdmConfigApi/getConfigEntity/ui/themerealm.json +3554 -0
  239. package/esm/test/mocks/JourneyOps/importJourney/FrodoTest.journey.json +1277 -0
  240. package/esm/test/mocks/NodeApi/deleteNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json +28 -0
  241. package/esm/test/mocks/NodeApi/getNode/EmailTemplateNode/bf153f37-83dd-4f39-aa0c-74135430242e.json +22 -0
  242. package/esm/test/mocks/NodeApi/getNode/IdentityStoreDecisionNode/fc7e47cd-c679-4211-8e05-a36654f23c67.json +32 -0
  243. package/esm/test/mocks/NodeApi/getNode/PageNode/278bf084-9eea-46fe-8ce9-2600dde3b046.json +38 -0
  244. package/esm/test/mocks/NodeApi/getNode/PageNode/731c5810-020b-45c8-a7fc-3c21903ae2b3.json +33 -0
  245. package/esm/test/mocks/NodeApi/getNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json +28 -0
  246. package/esm/test/mocks/NodeApi/getNode/ScriptedDecisionNode/e2c39477-847a-4df2-9c5d-b449a752638b.json +23 -0
  247. package/esm/test/mocks/NodeApi/getNode/SelectIdPNode/038f9b2a-36b2-489b-9e03-386c9a62ea21.json +24 -0
  248. package/esm/test/mocks/NodeApi/getNode/SelectIdPNode/228a44d5-fd78-4278-8999-fdd470ea7ebf.json +24 -0
  249. package/esm/test/mocks/NodeApi/getNode/SocialProviderHandlerNode/d5cc2d52-6ce4-452d-85ea-3a5b50218b67.json +22 -0
  250. package/esm/test/mocks/NodeApi/getNode/ValidatedPasswordNode/804e6a68-1720-442b-926a-007e90f02782.json +17 -0
  251. package/esm/test/mocks/NodeApi/getNode/ValidatedPasswordNode/dd16c8d4-baca-4ae0-bcd8-fb98b9040524.json +17 -0
  252. package/esm/test/mocks/NodeApi/getNode/ValidatedUsernameNode/7a351800-fb7e-4145-903c-388554747556.json +17 -0
  253. package/esm/test/mocks/NodeApi/getNode/node.json +3 -0
  254. package/esm/test/mocks/NodeApi/getNode/product-Saml2Node/64157fca-bd5b-4405-a4c8-64ffd98a5461.json +30 -0
  255. package/esm/test/mocks/NodeApi/getNodeTypes/types.json +687 -0
  256. package/esm/test/mocks/NodeApi/getNodesByType/PageNode.json +4825 -0
  257. package/esm/test/mocks/NodeApi/putNode/PageNode_0ad90971-d08a-4af3-86f3-01729572dc8f.json +26 -0
  258. package/esm/test/mocks/NodeApi/putNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json +28 -0
  259. package/esm/test/mocks/Saml2Api/getProvider/aVNQQXp1cmU.json +147 -0
  260. package/esm/test/mocks/Saml2Api/getProvider/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.json +80 -0
  261. package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/hosted/aVNQQXp1cmU.json +147 -0
  262. package/esm/test/mocks/Saml2Api/getProviderByLocationAndId/remote/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.json +80 -0
  263. package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/aVNQQXp1cmU.xml +74 -0
  264. package/esm/test/mocks/Saml2Api/getProviderMetadata/alpha/dXJuOmZlZGVyYXRpb246TWljcm9zb2Z0T25saW5l.xml +56 -0
  265. package/esm/test/mocks/Saml2Api/getProviders/providers.json +69 -0
  266. package/esm/test/mocks/ScriptApi/getScript/23143919-6b78-40c3-b25e-beca19b229e0.json +13 -0
  267. package/esm/test/mocks/ScriptApi/getScript/484e6246-dbc6-4288-97e6-54e55431402e.json +13 -0
  268. package/esm/test/mocks/ScriptApi/getScript/58c824ae-84ed-4724-82cd-db128fc3f6c.json +13 -0
  269. package/esm/test/mocks/ScriptApi/getScript/58d29080-4563-480b-89bb-1e7719776a21.json +13 -0
  270. package/esm/test/mocks/ScriptApi/getScript/6325cf19-a49b-471e-8d26-7e4df76df0e2.json +13 -0
  271. package/esm/test/mocks/ScriptApi/getScript/739bdc48-fd24-4c52-b353-88706d75558a.json +13 -0
  272. package/esm/test/mocks/ScriptApi/getScript/73cecbfc-dad0-4395-be6a-6858ee3a80e5.json +13 -0
  273. package/esm/test/mocks/ScriptApi/getScript/bae1d54a-e97d-4997-aa5d-c027f21af82c.json +13 -0
  274. package/esm/test/mocks/ScriptApi/getScript/dbe0bf9a-72aa-49d5-8483-9db147985a47.json +13 -0
  275. package/esm/test/mocks/ScriptApi/getScriptByName/ADFS Profile Normalization (JS).json +13 -0
  276. package/esm/test/mocks/ScriptApi/getScriptByName/Apple Profile Normalization.json +13 -0
  277. package/esm/test/mocks/ScriptApi/getScriptByName/Check Username.json +13 -0
  278. package/esm/test/mocks/ScriptApi/getScriptByName/Facebook Profile Normalization.json +13 -0
  279. package/esm/test/mocks/ScriptApi/getScriptByName/GitHub Profile Normalization.json +13 -0
  280. package/esm/test/mocks/ScriptApi/getScriptByName/Google Profile Normalization.json +13 -0
  281. package/esm/test/mocks/ScriptApi/getScriptByName/Microsoft Profile Normalization.json +13 -0
  282. package/esm/test/mocks/ScriptApi/getScriptByName/Normalized Profile to Managed User.json +13 -0
  283. package/esm/test/mocks/ScriptApi/getScriptByName/Okta Profile Normalization.json +13 -0
  284. package/esm/test/mocks/SecretsApi/createNewVersionOfSecret/error.json +4 -0
  285. package/esm/test/mocks/SecretsApi/createNewVersionOfSecret/esv-does-not-exist.txt +1 -0
  286. package/esm/test/mocks/SecretsApi/createNewVersionOfSecret/esv-volkerstestsecret1.json +6 -0
  287. package/esm/test/mocks/SecretsApi/deleteSecret/error.json +4 -0
  288. package/esm/test/mocks/SecretsApi/deleteSecret/esv-volkerstestsecret1.json +11 -0
  289. package/esm/test/mocks/SecretsApi/deleteVersionOfSecret/error.json +4 -0
  290. package/esm/test/mocks/SecretsApi/deleteVersionOfSecret/esv-volkerstestsecret1_v2.json +6 -0
  291. package/esm/test/mocks/SecretsApi/getSecret/esv-does-not-exist.json +4 -0
  292. package/esm/test/mocks/SecretsApi/getSecret/esv-volkerstestsecret1.json +11 -0
  293. package/esm/test/mocks/SecretsApi/getSecretVersions/esv-does-not-exist.json +4 -0
  294. package/esm/test/mocks/SecretsApi/getSecretVersions/esv-volkerstestsecret1.json +20 -0
  295. package/esm/test/mocks/SecretsApi/getSecrets/error.json +4 -0
  296. package/esm/test/mocks/SecretsApi/getSecrets/secrets.json +75 -0
  297. package/esm/test/mocks/SecretsApi/getVersionOfSecret/esv-does-not-exist_v2.json +4 -0
  298. package/esm/test/mocks/SecretsApi/getVersionOfSecret/esv-volkerstestsecret1_v2.json +6 -0
  299. package/esm/test/mocks/SecretsApi/putSecret/error.json +4 -0
  300. package/esm/test/mocks/SecretsApi/putSecret/esv-volkerstestsecret1.json +11 -0
  301. package/esm/test/mocks/SecretsApi/setSecretDescription/error.json +4 -0
  302. package/esm/test/mocks/SecretsApi/setStatusOfVersionOfSecret/error.json +4 -0
  303. package/esm/test/mocks/SecretsApi/setStatusOfVersionOfSecret/esv-does-not-exist_v2_DISABLED.json +4 -0
  304. package/esm/test/mocks/SecretsApi/setStatusOfVersionOfSecret/esv-volkerstestsecret1_v2_DISABLED.json +6 -0
  305. package/esm/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/adfs.json +44 -0
  306. package/esm/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/apple-stoyan.json +46 -0
  307. package/esm/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/apple_web.json +46 -0
  308. package/esm/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/azure.json +36 -0
  309. package/esm/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/facebook.json +36 -0
  310. package/esm/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/github.json +34 -0
  311. package/esm/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/google.json +44 -0
  312. package/esm/test/mocks/SocialIdentityProvidersApi/getProviderByTypeAndId/okta-trial-5735851.json +37 -0
  313. package/esm/test/mocks/SocialIdentityProvidersApi/getSocialIdentityProviders/socialIdentityProviders.json +327 -0
  314. package/esm/test/mocks/StartupApi/getStatus/ready.json +1 -0
  315. package/esm/test/mocks/StartupApi/getStatus/restarting.json +1 -0
  316. package/esm/test/mocks/StartupApi/initiateRestart/ready.json +1 -0
  317. package/esm/test/mocks/StartupApi/initiateRestart/restarting.json +1 -0
  318. package/esm/test/mocks/ThemeApi/getThemes/alphaThemes.json +3047 -0
  319. package/esm/test/mocks/TreeApi/deleteTree/FrodoTest.json +99 -0
  320. package/esm/test/mocks/TreeApi/getTree/FrodoTest.json +99 -0
  321. package/esm/test/mocks/TreeApi/getTrees/trees.json +8494 -0
  322. package/esm/test/mocks/TreeApi/putTree/FrodoTest.json +99 -0
  323. package/esm/test/mocks/TreeApi/putTree/Invalid_invalid-attribute.json +10 -0
  324. package/esm/test/mocks/TreeApi/putTree/Invalid_invalid-nodes.json +12 -0
  325. package/esm/test/mocks/TreeApi/putTree/Invalid_no-entry-node.json +9 -0
  326. package/esm/test/mocks/TreeApi/putTree/Invalid_trailing-data.txt +11 -0
  327. package/package.json +1 -1
  328. package/types/api/CirclesOfTrustApi.d.ts +4 -4
  329. package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
  330. package/types/api/EmailTemplateApi.d.ts +9 -9
  331. package/types/api/EmailTemplateApi.d.ts.map +1 -1
  332. package/types/api/IdmConfigApi.d.ts +12 -12
  333. package/types/api/IdmConfigApi.d.ts.map +1 -1
  334. package/types/api/NodeApi.d.ts +2 -2
  335. package/types/api/NodeApi.d.ts.map +1 -1
  336. package/types/api/Saml2Api.d.ts +15 -15
  337. package/types/api/Saml2Api.d.ts.map +1 -1
  338. package/types/api/ScriptApi.d.ts +8 -8
  339. package/types/api/ScriptApi.d.ts.map +1 -1
  340. package/types/api/SocialIdentityProvidersApi.d.ts +6 -6
  341. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  342. package/types/api/ThemeApi.d.ts +22 -22
  343. package/types/api/ThemeApi.d.ts.map +1 -1
  344. package/types/api/TreeApi.d.ts.map +1 -1
  345. package/types/api/utils/ApiUtils.d.ts +14 -0
  346. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  347. package/types/index.d.ts +1 -0
  348. package/types/index.d.ts.map +1 -1
  349. package/types/ops/AdminOps.d.ts.map +1 -1
  350. package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
  351. package/types/ops/EmailTemplateOps.d.ts.map +1 -1
  352. package/types/ops/IdmOps.d.ts.map +1 -1
  353. package/types/ops/IdpOps.d.ts.map +1 -1
  354. package/types/ops/JourneyOps.d.ts +14 -8
  355. package/types/ops/JourneyOps.d.ts.map +1 -1
  356. package/types/ops/SamlOps.d.ts.map +1 -1
  357. package/types/ops/ScriptOps.d.ts.map +1 -1
  358. package/types/ops/utils/OpsUtils.d.ts +1 -1
  359. package/types/ops/utils/OpsUtils.d.ts.map +1 -1
  360. package/types/test/mocks/ForgeRockApiMockEngine.d.ts +35 -0
  361. package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.12.2-7] - 2022-09-12
11
+
12
+ ## [0.12.2-6] - 2022-09-12
13
+
14
+ ## [0.12.2-5] - 2022-09-09
15
+
10
16
  ## [0.12.2-4] - 2022-09-09
11
17
 
12
18
  ## [0.12.2-3] - 2022-09-09
@@ -461,7 +467,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
461
467
  - Fixed problem with adding connection profiles
462
468
  - Miscellaneous bug fixes
463
469
 
464
- [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-4...HEAD
470
+ [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-7...HEAD
471
+
472
+ [0.12.2-7]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-6...v0.12.2-7
473
+
474
+ [0.12.2-6]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-5...v0.12.2-6
475
+
476
+ [0.12.2-5]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-4...v0.12.2-5
465
477
 
466
478
  [0.12.2-4]: https://github.com/rockcarver/frodo-lib/compare/v0.12.2-3...v0.12.2-4
467
479
 
@@ -30,9 +30,8 @@ var queryAllCirclesOfTrustURLTemplate = '%s/json%s/realm-config/federation/circl
30
30
  var apiVersion = 'protocol=2.1,resource=1.0';
31
31
 
32
32
  var getApiConfig = () => {
33
- var configPath = (0, _ApiUtils.getCurrentRealmPath)();
34
33
  return {
35
- path: "".concat(configPath, "/realm-config/federation/circlesoftrust"),
34
+ path: "/json".concat((0, _ApiUtils.getCurrentRealmPath)(), "/realm-config/federation/circlesoftrust"),
36
35
  apiVersion
37
36
  };
38
37
  };
@@ -56,9 +55,12 @@ function _getCirclesOfTrust() {
56
55
  _getCirclesOfTrust = _asyncToGenerator(function* () {
57
56
  var urlString = _util.default.format(queryAllCirclesOfTrustURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)());
58
57
 
59
- return (0, _BaseApi.generateAmApi)(getApiConfig()).get(urlString, {
58
+ var {
59
+ data
60
+ } = yield (0, _BaseApi.generateAmApi)(getApiConfig()).get(urlString, {
60
61
  withCredentials: true
61
62
  });
63
+ return data;
62
64
  });
63
65
  return _getCirclesOfTrust.apply(this, arguments);
64
66
  }
@@ -77,9 +79,12 @@ function _getCircleOfTrust() {
77
79
  _getCircleOfTrust = _asyncToGenerator(function* (cotId) {
78
80
  var urlString = _util.default.format(circleOfTrustByIdURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(), cotId);
79
81
 
80
- return (0, _BaseApi.generateAmApi)(getApiConfig()).get(urlString, {
82
+ var {
83
+ data
84
+ } = yield (0, _BaseApi.generateAmApi)(getApiConfig()).get(urlString, {
81
85
  withCredentials: true
82
86
  });
87
+ return data;
83
88
  });
84
89
  return _getCircleOfTrust.apply(this, arguments);
85
90
  }
@@ -101,9 +106,12 @@ function _createCircleOfTrust() {
101
106
 
102
107
  var urlString = _util.default.format(createCircleOfTrustURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)());
103
108
 
104
- return (0, _BaseApi.generateAmApi)(getApiConfig()).post(urlString, postData, {
109
+ var {
110
+ data
111
+ } = yield (0, _BaseApi.generateAmApi)(getApiConfig()).post(urlString, postData, {
105
112
  withCredentials: true
106
113
  });
114
+ return data;
107
115
  });
108
116
  return _createCircleOfTrust.apply(this, arguments);
109
117
  }
@@ -116,9 +124,12 @@ function _updateCircleOfTrust() {
116
124
  _updateCircleOfTrust = _asyncToGenerator(function* (cotId, cotData) {
117
125
  var urlString = _util.default.format(circleOfTrustByIdURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(), cotId);
118
126
 
119
- return (0, _BaseApi.generateAmApi)(getApiConfig()).put(urlString, cotData, {
127
+ var {
128
+ data
129
+ } = yield (0, _BaseApi.generateAmApi)(getApiConfig()).put(urlString, cotData, {
120
130
  withCredentials: true
121
131
  });
132
+ return data;
122
133
  });
123
134
  return _updateCircleOfTrust.apply(this, arguments);
124
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CirclesOfTrustApi.js","names":["circleOfTrustByIdURLTemplate","createCircleOfTrustURLTemplate","queryAllCirclesOfTrustURLTemplate","apiVersion","getApiConfig","configPath","getCurrentRealmPath","path","getCirclesOfTrust","urlString","util","format","storage","session","getTenant","generateAmApi","get","withCredentials","getCircleOfTrust","cotId","createCircleOfTrust","cotData","postData","_","cloneDeep","post","updateCircleOfTrust","put"],"sources":["api/CirclesOfTrustApi.ts"],"sourcesContent":["import util from 'util';\nimport _ from 'lodash';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst circleOfTrustByIdURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/%s';\nconst createCircleOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';\nconst queryAllCirclesOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/realm-config/federation/circlesoftrust`,\n apiVersion,\n };\n};\n\n/**\n * Get all SAML2 circles of trust\n * @returns {Promise} a promise that resolves to an array of circles of trust objects\n */\nexport async function getCirclesOfTrust() {\n const urlString = util.format(\n queryAllCirclesOfTrustURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Get SAML2 circle of trust by id/name\n * @param {String} cotId Circle of trust id/name\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function getCircleOfTrust(cotId) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n cotId\n );\n return generateAmApi(getApiConfig()).get(urlString, {\n withCredentials: true,\n });\n}\n\n/**\n * Create a SAML2 circle of trust\n * @param {Object} cotData Object representing a SAML circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function createCircleOfTrust(cotData) {\n const postData = _.cloneDeep(cotData);\n const urlString = util.format(\n createCircleOfTrustURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n return generateAmApi(getApiConfig()).post(urlString, postData, {\n withCredentials: true,\n });\n}\n\n/**\n * Update SAML2 circle of trust\n * @param {String} cotId Entity provider location (hosted or remote)\n * @param {Object} cotData Object representing a SAML2 circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function updateCircleOfTrust(cotId, cotData) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n cotId\n );\n return generateAmApi(getApiConfig()).put(urlString, cotData, {\n withCredentials: true,\n });\n}\n"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,4BAA4B,GAChC,qDADF;AAEA,IAAMC,8BAA8B,GAClC,kEADF;AAEA,IAAMC,iCAAiC,GACrC,oEADF;AAEA,IAAMC,UAAU,GAAG,2BAAnB;;AACA,IAAMC,YAAY,GAAG,MAAM;EACzB,IAAMC,UAAU,GAAG,IAAAC,6BAAA,GAAnB;EACA,OAAO;IACLC,IAAI,YAAKF,UAAL,4CADC;IAELF;EAFK,CAAP;AAID,CAND;AAQA;AACA;AACA;AACA;;;SACsBK,iB;;;AAWtB;AACA;AACA;AACA;AACA;;;;yCAfO,aAAmC;IACxC,IAAMC,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBT,iCADgB,EAEhBU,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,CAAlB;;IAKA,OAAO,IAAAS,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCP,SAAlC,EAA6C;MAClDQ,eAAe,EAAE;IADiC,CAA7C,CAAP;EAGD,C;;;;SAOqBC,gB;;;AAYtB;AACA;AACA;AACA;AACA;;;;wCAhBO,WAAgCC,KAAhC,EAAuC;IAC5C,IAAMV,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBX,4BADgB,EAEhBY,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBa,KAJgB,CAAlB;;IAMA,OAAO,IAAAJ,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCP,SAAlC,EAA6C;MAClDQ,eAAe,EAAE;IADiC,CAA7C,CAAP;EAGD,C;;;;SAOqBG,mB;;;AAYtB;AACA;AACA;AACA;AACA;AACA;;;;2CAjBO,WAAmCC,OAAnC,EAA4C;IACjD,IAAMC,QAAQ,GAAGC,eAAA,CAAEC,SAAF,CAAYH,OAAZ,CAAjB;;IACA,IAAMZ,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBV,8BADgB,EAEhBW,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,CAAlB;;IAKA,OAAO,IAAAS,sBAAA,EAAcX,YAAY,EAA1B,EAA8BqB,IAA9B,CAAmChB,SAAnC,EAA8Ca,QAA9C,EAAwD;MAC7DL,eAAe,EAAE;IAD4C,CAAxD,CAAP;EAGD,C;;;;SAQqBS,mB;;;;;2CAAf,WAAmCP,KAAnC,EAA0CE,OAA1C,EAAmD;IACxD,IAAMZ,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBX,4BADgB,EAEhBY,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBa,KAJgB,CAAlB;;IAMA,OAAO,IAAAJ,sBAAA,EAAcX,YAAY,EAA1B,EAA8BuB,GAA9B,CAAkClB,SAAlC,EAA6CY,OAA7C,EAAsD;MAC3DJ,eAAe,EAAE;IAD0C,CAAtD,CAAP;EAGD,C"}
1
+ {"version":3,"file":"CirclesOfTrustApi.js","names":["circleOfTrustByIdURLTemplate","createCircleOfTrustURLTemplate","queryAllCirclesOfTrustURLTemplate","apiVersion","getApiConfig","path","getCurrentRealmPath","getCirclesOfTrust","urlString","util","format","storage","session","getTenant","data","generateAmApi","get","withCredentials","getCircleOfTrust","cotId","createCircleOfTrust","cotData","postData","_","cloneDeep","post","updateCircleOfTrust","put"],"sources":["api/CirclesOfTrustApi.ts"],"sourcesContent":["import util from 'util';\nimport _ from 'lodash';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from './utils/ApiUtils';\nimport storage from '../storage/SessionStorage';\n\nconst circleOfTrustByIdURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/%s';\nconst createCircleOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';\nconst queryAllCirclesOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n 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"],"mappings":";;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,4BAA4B,GAChC,qDADF;AAEA,IAAMC,8BAA8B,GAClC,kEADF;AAEA,IAAMC,iCAAiC,GACrC,oEADF;AAEA,IAAMC,UAAU,GAAG,2BAAnB;;AACA,IAAMC,YAAY,GAAG,MAAM;EACzB,OAAO;IACLC,IAAI,iBAAU,IAAAC,6BAAA,GAAV,4CADC;IAELH;EAFK,CAAP;AAID,CALD;AAOA;AACA;AACA;AACA;;;SACsBI,iB;;;AAYtB;AACA;AACA;AACA;AACA;;;;yCAhBO,aAAmC;IACxC,IAAMC,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBR,iCADgB,EAEhBS,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAP,6BAAA,GAHgB,CAAlB;;IAKA,IAAM;MAAEQ;IAAF,UAAiB,IAAAC,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCR,SAAlC,EAA6C;MAClES,eAAe,EAAE;IADiD,CAA7C,CAAvB;IAGA,OAAOH,IAAP;EACD,C;;;;SAOqBI,gB;;;AAatB;AACA;AACA;AACA;AACA;;;;wCAjBO,WAAgCC,KAAhC,EAAuC;IAC5C,IAAMX,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBV,4BADgB,EAEhBW,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAP,6BAAA,GAHgB,EAIhBa,KAJgB,CAAlB;;IAMA,IAAM;MAAEL;IAAF,UAAiB,IAAAC,sBAAA,EAAcX,YAAY,EAA1B,EAA8BY,GAA9B,CAAkCR,SAAlC,EAA6C;MAClES,eAAe,EAAE;IADiD,CAA7C,CAAvB;IAGA,OAAOH,IAAP;EACD,C;;;;SAOqBM,mB;;;AAiBtB;AACA;AACA;AACA;AACA;AACA;;;;2CAtBO,WAAmCC,OAAnC,EAA4C;IACjD,IAAMC,QAAQ,GAAGC,eAAA,CAAEC,SAAF,CAAYH,OAAZ,CAAjB;;IACA,IAAMb,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBT,8BADgB,EAEhBU,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAP,6BAAA,GAHgB,CAAlB;;IAKA,IAAM;MAAEQ;IAAF,UAAiB,IAAAC,sBAAA,EAAcX,YAAY,EAA1B,EAA8BqB,IAA9B,CACrBjB,SADqB,EAErBc,QAFqB,EAGrB;MACEL,eAAe,EAAE;IADnB,CAHqB,CAAvB;IAOA,OAAOH,IAAP;EACD,C;;;;SAQqBY,mB;;;;;2CAAf,WAAmCP,KAAnC,EAA0CE,OAA1C,EAAmD;IACxD,IAAMb,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBV,4BADgB,EAEhBW,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAP,6BAAA,GAHgB,EAIhBa,KAJgB,CAAlB;;IAMA,IAAM;MAAEL;IAAF,UAAiB,IAAAC,sBAAA,EAAcX,YAAY,EAA1B,EAA8BuB,GAA9B,CAAkCnB,SAAlC,EAA6Ca,OAA7C,EAAsD;MAC3EJ,eAAe,EAAE;IAD0D,CAAtD,CAAvB;IAGA,OAAOH,IAAP;EACD,C"}
@@ -20,7 +20,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
20
20
  var EMAIL_TEMPLATE_TYPE = 'emailTemplate';
21
21
  /**
22
22
  * Get all email templates
23
- * @returns {Promise} a promise that resolves to an object containing an array of email template objects
23
+ * @returns {Promise} a promise that resolves to an array of email template objects
24
24
  */
25
25
 
26
26
  exports.EMAIL_TEMPLATE_TYPE = EMAIL_TEMPLATE_TYPE;
@@ -30,8 +30,8 @@ function getEmailTemplates() {
30
30
  }
31
31
  /**
32
32
  * Get email template
33
- * @param {String} id id/name of the email template without the type prefix
34
- * @returns {Promise} a promise that resolves to an object containing the email template object
33
+ * @param {string} templateId id/name of the email template without the type prefix
34
+ * @returns {Promise} a promise that resolves an email template object
35
35
  */
36
36
 
37
37
 
@@ -47,15 +47,15 @@ function getEmailTemplate(_x) {
47
47
  }
48
48
  /**
49
49
  * Put email template
50
- * @param {String} id id/name of the email template without the type prefix
51
- * @param {Object} data email template object
52
- * @returns {Promise} a promise that resolves to an object containing the email template object
50
+ * @param {string} templateId id/name of the email template without the type prefix
51
+ * @param {Object} templateData email template object
52
+ * @returns {Promise} a promise that resolves to an email template object
53
53
  */
54
54
 
55
55
 
56
56
  function _getEmailTemplate() {
57
- _getEmailTemplate = _asyncToGenerator(function* (id) {
58
- return (0, _IdmConfigApi.getConfigEntity)("".concat(EMAIL_TEMPLATE_TYPE, "/").concat(id));
57
+ _getEmailTemplate = _asyncToGenerator(function* (templateId) {
58
+ return (0, _IdmConfigApi.getConfigEntity)("".concat(EMAIL_TEMPLATE_TYPE, "/").concat(templateId));
59
59
  });
60
60
  return _getEmailTemplate.apply(this, arguments);
61
61
  }
@@ -65,8 +65,8 @@ function putEmailTemplate(_x2, _x3) {
65
65
  }
66
66
 
67
67
  function _putEmailTemplate() {
68
- _putEmailTemplate = _asyncToGenerator(function* (id, data) {
69
- return (0, _IdmConfigApi.putConfigEntity)("".concat(EMAIL_TEMPLATE_TYPE, "/").concat(id), data);
68
+ _putEmailTemplate = _asyncToGenerator(function* (templateId, templateData) {
69
+ return (0, _IdmConfigApi.putConfigEntity)("".concat(EMAIL_TEMPLATE_TYPE, "/").concat(templateId), templateData);
70
70
  });
71
71
  return _putEmailTemplate.apply(this, arguments);
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EmailTemplateApi.js","names":["EMAIL_TEMPLATE_TYPE","getEmailTemplates","getConfigEntitiesByType","getEmailTemplate","id","getConfigEntity","putEmailTemplate","data","putConfigEntity"],"sources":["api/EmailTemplateApi.ts"],"sourcesContent":["import {\n getConfigEntitiesByType,\n getConfigEntity,\n putConfigEntity,\n} from './IdmConfigApi';\n\n/**\n * Email template type key used to build the IDM id: 'emailTemplate/<id>'\n */\nexport const EMAIL_TEMPLATE_TYPE = 'emailTemplate';\n\n/**\n * Get all email templates\n * @returns {Promise} a promise that resolves to an object containing an array of email template objects\n */\nexport async function getEmailTemplates() {\n return getConfigEntitiesByType(EMAIL_TEMPLATE_TYPE);\n}\n\n/**\n * Get email template\n * @param {String} id id/name of the email template without the type prefix\n * @returns {Promise} a promise that resolves to an object containing the email template object\n */\nexport async function getEmailTemplate(id) {\n return getConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${id}`);\n}\n\n/**\n * Put email template\n * @param {String} id id/name of the email template without the type prefix\n * @param {Object} data email template object\n * @returns {Promise} a promise that resolves to an object containing the email template object\n */\nexport async function putEmailTemplate(id, data) {\n return putConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${id}`, data);\n}\n"],"mappings":";;;;;;;;;;AAAA;;;;;;AAMA;AACA;AACA;AACO,IAAMA,mBAAmB,GAAG,eAA5B;AAEP;AACA;AACA;AACA;;;;SACsBC,iB;;;AAItB;AACA;AACA;AACA;AACA;;;;yCARO,aAAmC;IACxC,OAAO,IAAAC,qCAAA,EAAwBF,mBAAxB,CAAP;EACD,C;;;;SAOqBG,gB;;;AAItB;AACA;AACA;AACA;AACA;AACA;;;;wCATO,WAAgCC,EAAhC,EAAoC;IACzC,OAAO,IAAAC,6BAAA,YAAmBL,mBAAnB,cAA0CI,EAA1C,EAAP;EACD,C;;;;SAQqBE,gB;;;;;wCAAf,WAAgCF,EAAhC,EAAoCG,IAApC,EAA0C;IAC/C,OAAO,IAAAC,6BAAA,YAAmBR,mBAAnB,cAA0CI,EAA1C,GAAgDG,IAAhD,CAAP;EACD,C"}
1
+ {"version":3,"file":"EmailTemplateApi.js","names":["EMAIL_TEMPLATE_TYPE","getEmailTemplates","getConfigEntitiesByType","getEmailTemplate","templateId","getConfigEntity","putEmailTemplate","templateData","putConfigEntity"],"sources":["api/EmailTemplateApi.ts"],"sourcesContent":["import {\n getConfigEntitiesByType,\n getConfigEntity,\n putConfigEntity,\n} from './IdmConfigApi';\n\n/**\n * Email template type key used to build the IDM id: 'emailTemplate/<id>'\n */\nexport const EMAIL_TEMPLATE_TYPE = 'emailTemplate';\n\n/**\n * Get all email templates\n * @returns {Promise} a promise that resolves to an array of email template objects\n */\nexport async function getEmailTemplates() {\n return getConfigEntitiesByType(EMAIL_TEMPLATE_TYPE);\n}\n\n/**\n * Get email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @returns {Promise} a promise that resolves an email template object\n */\nexport async function getEmailTemplate(templateId) {\n return getConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${templateId}`);\n}\n\n/**\n * Put email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @param {Object} templateData email template object\n * @returns {Promise} a promise that resolves to an email template object\n */\nexport async function putEmailTemplate(templateId, templateData) {\n return putConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${templateId}`, templateData);\n}\n"],"mappings":";;;;;;;;;;AAAA;;;;;;AAMA;AACA;AACA;AACO,IAAMA,mBAAmB,GAAG,eAA5B;AAEP;AACA;AACA;AACA;;;;SACsBC,iB;;;AAItB;AACA;AACA;AACA;AACA;;;;yCARO,aAAmC;IACxC,OAAO,IAAAC,qCAAA,EAAwBF,mBAAxB,CAAP;EACD,C;;;;SAOqBG,gB;;;AAItB;AACA;AACA;AACA;AACA;AACA;;;;wCATO,WAAgCC,UAAhC,EAA4C;IACjD,OAAO,IAAAC,6BAAA,YAAmBL,mBAAnB,cAA0CI,UAA1C,EAAP;EACD,C;;;;SAQqBE,gB;;;;;wCAAf,WAAgCF,UAAhC,EAA4CG,YAA5C,EAA0D;IAC/D,OAAO,IAAAC,6BAAA,YAAmBR,mBAAnB,cAA0CI,UAA1C,GAAwDG,YAAxD,CAAP;EACD,C"}
@@ -29,7 +29,7 @@ var idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';
29
29
  var idmManagedObjectURLTemplate = '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';
30
30
  /**
31
31
  * Get all IDM config entities
32
- * @returns {Promise} a promise that resolves to an object containing all IDM config entities
32
+ * @returns {Promise} a promise that resolves to all IDM config entities
33
33
  */
34
34
 
35
35
  function getAllConfigEntities() {
@@ -46,7 +46,10 @@ function _getAllConfigEntities() {
46
46
  _getAllConfigEntities = _asyncToGenerator(function* () {
47
47
  var urlString = _util.default.format(idmAllConfigURLTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()));
48
48
 
49
- return (0, _BaseApi.generateIdmApi)().get(urlString);
49
+ var {
50
+ data
51
+ } = yield (0, _BaseApi.generateIdmApi)().get(urlString);
52
+ return data;
50
53
  });
51
54
  return _getAllConfigEntities.apply(this, arguments);
52
55
  }
@@ -56,8 +59,8 @@ function getConfigEntitiesByType(_x) {
56
59
  }
57
60
  /**
58
61
  * Get an IDM config entity
59
- * @param {String} id the desired config entity
60
- * @returns {Promise} a promise that resolves to an object containing an IDM config entity
62
+ * @param {string} entityId the desired config entity
63
+ * @returns {Promise<unknown>} a promise that resolves to an IDM config entity
61
64
  */
62
65
 
63
66
 
@@ -65,7 +68,10 @@ function _getConfigEntitiesByType() {
65
68
  _getConfigEntitiesByType = _asyncToGenerator(function* (type) {
66
69
  var urlString = _util.default.format(idmConfigEntityQueryTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), encodeURIComponent("_id sw '".concat(type, "'")));
67
70
 
68
- return (0, _BaseApi.generateIdmApi)().get(urlString);
71
+ var {
72
+ data
73
+ } = yield (0, _BaseApi.generateIdmApi)().get(urlString);
74
+ return data;
69
75
  });
70
76
  return _getConfigEntitiesByType.apply(this, arguments);
71
77
  }
@@ -75,17 +81,20 @@ function getConfigEntity(_x2) {
75
81
  }
76
82
  /**
77
83
  * Put IDM config entity
78
- * @param {String} id config entity id
79
- * @param {String} data config entity object
80
- * @returns {Promise} a promise that resolves to an object containing an IDM config entity
84
+ * @param {string} entityId config entity id
85
+ * @param {string} entityData config entity object
86
+ * @returns {Promise<unknown>} a promise that resolves to an IDM config entity
81
87
  */
82
88
 
83
89
 
84
90
  function _getConfigEntity() {
85
- _getConfigEntity = _asyncToGenerator(function* (id) {
86
- var urlString = _util.default.format(idmConfigURLTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), id);
91
+ _getConfigEntity = _asyncToGenerator(function* (entityId) {
92
+ var urlString = _util.default.format(idmConfigURLTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), entityId);
87
93
 
88
- return (0, _BaseApi.generateIdmApi)().get(urlString);
94
+ var {
95
+ data
96
+ } = yield (0, _BaseApi.generateIdmApi)().get(urlString);
97
+ return data;
89
98
  });
90
99
  return _getConfigEntity.apply(this, arguments);
91
100
  }
@@ -98,15 +107,18 @@ function putConfigEntity(_x3, _x4) {
98
107
  * @param {String} type managed object type
99
108
  * @param {[String]} fields fields to retrieve
100
109
  * @param {String} pageCookie paged results cookie
101
- * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to an object containing managed objects of the desired type
110
+ * @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
102
111
  */
103
112
 
104
113
 
105
114
  function _putConfigEntity() {
106
- _putConfigEntity = _asyncToGenerator(function* (id, data) {
107
- var urlString = _util.default.format(idmConfigURLTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), id);
115
+ _putConfigEntity = _asyncToGenerator(function* (entityId, entityData) {
116
+ var urlString = _util.default.format(idmConfigURLTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), entityId);
108
117
 
109
- return (0, _BaseApi.generateIdmApi)().put(urlString, data);
118
+ var {
119
+ data
120
+ } = yield (0, _BaseApi.generateIdmApi)().put(urlString, entityData);
121
+ return data;
110
122
  });
111
123
  return _putConfigEntity.apply(this, arguments);
112
124
  }
@@ -122,7 +134,10 @@ function _queryAllManagedObjectsByType() {
122
134
 
123
135
  var urlString = _util.default.format(urlTemplate, (0, _ApiUtils.getTenantURL)(_SessionStorage.default.session.getTenant()), type);
124
136
 
125
- return (0, _BaseApi.generateIdmApi)().get(urlString);
137
+ var {
138
+ data
139
+ } = yield (0, _BaseApi.generateIdmApi)().get(urlString);
140
+ return data;
126
141
  });
127
142
  return _queryAllManagedObjectsByType.apply(this, arguments);
128
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IdmConfigApi.js","names":["idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","idmManagedObjectURLTemplate","getAllConfigEntities","urlString","util","format","getTenantURL","storage","session","getTenant","generateIdmApi","get","getConfigEntitiesByType","type","encodeURIComponent","getConfigEntity","id","putConfigEntity","data","put","queryAllManagedObjectsByType","fields","pageCookie","fieldsParam","length","join","urlTemplate"],"sources":["api/IdmConfigApi.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 an object containing all IDM config entities\n */\nexport async function getAllConfigEntities() {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getTenantURL(storage.session.getTenant())\n );\n return generateIdmApi().get(urlString);\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 return generateIdmApi().get(urlString);\n}\n\n/**\n * Get an IDM config entity\n * @param {String} id the desired config entity\n * @returns {Promise} a promise that resolves to an object containing an IDM config entity\n */\nexport async function getConfigEntity(id) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(storage.session.getTenant()),\n id\n );\n return generateIdmApi().get(urlString);\n}\n\n/**\n * Put IDM config entity\n * @param {String} id config entity id\n * @param {String} data config entity object\n * @returns {Promise} a promise that resolves to an object containing an IDM config entity\n */\nexport async function putConfigEntity(id, data) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(storage.session.getTenant()),\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<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to an object containing managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n type,\n fields,\n pageCookie\n): Promise<{\n result: any[];\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 return generateIdmApi().get(urlString);\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,uBAAuB,GAAG,mBAAhC;AACA,IAAMC,oBAAoB,GAAG,sBAA7B;AACA,IAAMC,4BAA4B,GAAG,mCAArC;AACA,IAAMC,2BAA2B,GAC/B,yDADF;AAGA;AACA;AACA;AACA;;SACsBC,oB;;;AAQtB;AACA;AACA;AACA;AACA;;;;4CAZO,aAAsC;IAC3C,IAAMC,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBP,uBADgB,EAEhB,IAAAQ,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,CAAlB;;IAIA,OAAO,IAAAC,uBAAA,IAAiBC,GAAjB,CAAqBR,SAArB,CAAP;EACD,C;;;;SAOqBS,uB;;;AAStB;AACA;AACA;AACA;AACA;;;;+CAbO,WAAuCC,IAAvC,EAA6C;IAClD,IAAMV,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBL,4BADgB,EAEhB,IAAAM,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,EAGhBK,kBAAkB,mBAAYD,IAAZ,OAHF,CAAlB;;IAKA,OAAO,IAAAH,uBAAA,IAAiBC,GAAjB,CAAqBR,SAArB,CAAP;EACD,C;;;;SAOqBY,e;;;AAStB;AACA;AACA;AACA;AACA;AACA;;;;uCAdO,WAA+BC,EAA/B,EAAmC;IACxC,IAAMb,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBN,oBADgB,EAEhB,IAAAO,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,EAGhBO,EAHgB,CAAlB;;IAKA,OAAO,IAAAN,uBAAA,IAAiBC,GAAjB,CAAqBR,SAArB,CAAP;EACD,C;;;;SAQqBc,e;;;AAStB;AACA;AACA;AACA;AACA;AACA;AACA;;;;uCAfO,WAA+BD,EAA/B,EAAmCE,IAAnC,EAAyC;IAC9C,IAAMf,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBN,oBADgB,EAEhB,IAAAO,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,EAGhBO,EAHgB,CAAlB;;IAKA,OAAO,IAAAN,uBAAA,IAAiBS,GAAjB,CAAqBhB,SAArB,EAAgCe,IAAhC,CAAP;EACD,C;;;;SASqBE,4B;;;;;oDAAf,WACLP,IADK,EAELQ,MAFK,EAGLC,UAHK,EAWJ;IACD,IAAMC,WAAW,GACfF,MAAM,CAACG,MAAP,GAAgB,CAAhB,sBAAgCH,MAAM,CAACI,IAAP,CAAY,GAAZ,CAAhC,IAAqD,cADvD;IAEA,IAAMC,WAAW,GAAGJ,UAAU,aACvBrB,2BADuB,SACOsB,WADP,kCAC0CT,kBAAkB,CACpFQ,UADoF,CAD5D,cAIvBrB,2BAJuB,SAIOsB,WAJP,CAA9B;;IAKA,IAAMpB,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBqB,WADgB,EAEhB,IAAApB,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,EAGhBI,IAHgB,CAAlB;;IAKA,OAAO,IAAAH,uBAAA,IAAiBC,GAAjB,CAAqBR,SAArB,CAAP;EACD,C"}
1
+ {"version":3,"file":"IdmConfigApi.js","names":["idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","idmManagedObjectURLTemplate","getAllConfigEntities","urlString","util","format","getTenantURL","storage","session","getTenant","data","generateIdmApi","get","getConfigEntitiesByType","type","encodeURIComponent","getConfigEntity","entityId","putConfigEntity","entityData","put","queryAllManagedObjectsByType","fields","pageCookie","fieldsParam","length","join","urlTemplate"],"sources":["api/IdmConfigApi.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(entityId, entityData) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getTenantURL(storage.session.getTenant()),\n entityId\n );\n const { data } = await generateIdmApi().put(urlString, entityData);\n return 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<{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"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,uBAAuB,GAAG,mBAAhC;AACA,IAAMC,oBAAoB,GAAG,sBAA7B;AACA,IAAMC,4BAA4B,GAAG,mCAArC;AACA,IAAMC,2BAA2B,GAC/B,yDADF;AAGA;AACA;AACA;AACA;;SACsBC,oB;;;AAStB;AACA;AACA;AACA;AACA;;;;4CAbO,aAAsC;IAC3C,IAAMC,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBP,uBADgB,EAEhB,IAAAQ,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,CAAlB;;IAIA,IAAM;MAAEC;IAAF,UAAiB,IAAAC,uBAAA,IAAiBC,GAAjB,CAAqBT,SAArB,CAAvB;IACA,OAAOO,IAAP;EACD,C;;;;SAOqBG,uB;;;AAUtB;AACA;AACA;AACA;AACA;;;;+CAdO,WAAuCC,IAAvC,EAA6C;IAClD,IAAMX,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBL,4BADgB,EAEhB,IAAAM,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,EAGhBM,kBAAkB,mBAAYD,IAAZ,OAHF,CAAlB;;IAKA,IAAM;MAAEJ;IAAF,UAAiB,IAAAC,uBAAA,IAAiBC,GAAjB,CAAqBT,SAArB,CAAvB;IACA,OAAOO,IAAP;EACD,C;;;;SAOqBM,e;;;AAUtB;AACA;AACA;AACA;AACA;AACA;;;;uCAfO,WAA+BC,QAA/B,EAAyC;IAC9C,IAAMd,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBN,oBADgB,EAEhB,IAAAO,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,EAGhBQ,QAHgB,CAAlB;;IAKA,IAAM;MAAEP;IAAF,UAAiB,IAAAC,uBAAA,IAAiBC,GAAjB,CAAqBT,SAArB,CAAvB;IACA,OAAOO,IAAP;EACD,C;;;;SAQqBQ,e;;;AAUtB;AACA;AACA;AACA;AACA;AACA;AACA;;;;uCAhBO,WAA+BD,QAA/B,EAAyCE,UAAzC,EAAqD;IAC1D,IAAMhB,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBN,oBADgB,EAEhB,IAAAO,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,EAGhBQ,QAHgB,CAAlB;;IAKA,IAAM;MAAEP;IAAF,UAAiB,IAAAC,uBAAA,IAAiBS,GAAjB,CAAqBjB,SAArB,EAAgCgB,UAAhC,CAAvB;IACA,OAAOT,IAAP;EACD,C;;;;SASqBW,4B;;;;;oDAAf,WACLP,IADK,EAELQ,MAFK,EAGLC,UAHK,EAWJ;IACD,IAAMC,WAAW,GACfF,MAAM,CAACG,MAAP,GAAgB,CAAhB,sBAAgCH,MAAM,CAACI,IAAP,CAAY,GAAZ,CAAhC,IAAqD,cADvD;IAEA,IAAMC,WAAW,GAAGJ,UAAU,aACvBtB,2BADuB,SACOuB,WADP,kCAC0CT,kBAAkB,CACpFQ,UADoF,CAD5D,cAIvBtB,2BAJuB,SAIOuB,WAJP,CAA9B;;IAKA,IAAMrB,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBsB,WADgB,EAEhB,IAAArB,sBAAA,EAAaC,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAAb,CAFgB,EAGhBK,IAHgB,CAAlB;;IAKA,IAAM;MAAEJ;IAAF,UAAiB,IAAAC,uBAAA,IAAiBC,GAAjB,CAAqBT,SAArB,CAAvB;IACA,OAAOO,IAAP;EACD,C"}
@@ -48,7 +48,7 @@ function getNodeTypes() {
48
48
  }
49
49
  /**
50
50
  * Get all nodes
51
- * @returns {Promise} a promise that resolves to an array of node objects
51
+ * @returns {Promise} a promise that resolves to an object containing an array of node objects
52
52
  */
53
53
 
54
54
 
@@ -56,13 +56,15 @@ function _getNodeTypes() {
56
56
  _getNodeTypes = _asyncToGenerator(function* () {
57
57
  var urlString = _util.default.format(queryAllNodeTypesURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)());
58
58
 
59
- var response = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).post(urlString, {}, {
59
+ var {
60
+ data
61
+ } = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).post(urlString, {}, {
60
62
  withCredentials: true,
61
63
  headers: {
62
64
  'Accept-Encoding': 'gzip, deflate, br'
63
65
  }
64
66
  });
65
- return response.data.result;
67
+ return data;
66
68
  });
67
69
  return _getNodeTypes.apply(this, arguments);
68
70
  }
@@ -73,7 +75,7 @@ function getNodes() {
73
75
  /**
74
76
  * Get all nodes by type
75
77
  * @param {string} nodeType node type
76
- * @returns {Promise} a promise that resolves to an array of node objects of the requested type
78
+ * @returns {Promise} a promise that resolves to an object containing an array of node objects of the requested type
77
79
  */
78
80
 
79
81
 
@@ -81,13 +83,15 @@ function _getNodes() {
81
83
  _getNodes = _asyncToGenerator(function* () {
82
84
  var urlString = _util.default.format(queryAllNodesURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)());
83
85
 
84
- var response = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).post(urlString, {}, {
86
+ var {
87
+ data
88
+ } = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).post(urlString, {}, {
85
89
  withCredentials: true,
86
90
  headers: {
87
91
  'Accept-Encoding': 'gzip, deflate, br'
88
92
  }
89
93
  });
90
- return response.data.result;
94
+ return data;
91
95
  });
92
96
  return _getNodes.apply(this, arguments);
93
97
  }
@@ -107,10 +111,12 @@ function _getNodesByType() {
107
111
  _getNodesByType = _asyncToGenerator(function* (nodeType) {
108
112
  var urlString = _util.default.format(queryAllNodesByTypeURLTemplate, _SessionStorage.default.session.getTenant(), (0, _ApiUtils.getCurrentRealmPath)(), nodeType);
109
113
 
110
- var response = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).get(urlString, {
114
+ var {
115
+ data
116
+ } = yield (0, _BaseApi.generateAmApi)(getNodeApiConfig()).get(urlString, {
111
117
  withCredentials: true
112
118
  });
113
- return response.data.result;
119
+ return data;
114
120
  });
115
121
  return _getNodesByType.apply(this, arguments);
116
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeApi.js","names":["queryAllNodeTypesURLTemplate","queryAllNodesByTypeURLTemplate","queryAllNodesURLTemplate","nodeURLTemplate","apiVersion","getNodeApiConfig","configPath","getCurrentRealmPath","path","getNodeTypes","urlString","util","format","storage","session","getTenant","response","generateAmApi","post","withCredentials","headers","data","result","getNodes","getNodesByType","nodeType","get","getNode","nodeId","putNode","nodeData","cleanData","deleteDeepByKey","put","deleteNode","delete"],"sources":["api/NodeApi.ts"],"sourcesContent":["import util from 'util';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst queryAllNodeTypesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes';\nconst queryAllNodesByTypeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s?_queryFilter=true';\nconst queryAllNodesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents';\nconst nodeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s/%s';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getNodeApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get all node types\n * @returns {Promise} a promise that resolves to an array of node type objects\n */\nexport async function getNodeTypes() {\n const urlString = util.format(\n queryAllNodeTypesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const response = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return response.data.result;\n}\n\n/**\n * Get all nodes\n * @returns {Promise} a promise that resolves to an array of node objects\n */\nexport async function getNodes() {\n const urlString = util.format(\n queryAllNodesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const response = await generateAmApi(getNodeApiConfig()).post(\n urlString,\n {},\n {\n withCredentials: true,\n headers: { 'Accept-Encoding': 'gzip, deflate, br' },\n }\n );\n return response.data.result;\n}\n\n/**\n * Get all nodes by type\n * @param {string} nodeType node type\n * @returns {Promise} a promise that resolves to an array of node objects of the requested type\n */\nexport async function getNodesByType(nodeType: string) {\n const urlString = util.format(\n queryAllNodesByTypeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType\n );\n const response = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return response.data.result;\n}\n\n/**\n * Get node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to a node object\n */\nexport async function getNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).get(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Put node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @param {Object} nodeData node object\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function putNode(nodeId: string, nodeType: string, nodeData) {\n // until we figure out a way to use transport keys in Frodo,\n // we'll have to drop those encrypted attributes.\n const cleanData = deleteDeepByKey(nodeData, '-encrypted');\n const urlString = util.format(\n nodeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).put(\n urlString,\n cleanData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete node by uuid and type\n * @param {String} nodeId node uuid\n * @param {String} nodeType node type\n * @returns {Promise} a promise that resolves to an object containing a node object\n */\nexport async function deleteNode(nodeId: string, nodeType: string) {\n const urlString = util.format(\n nodeURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath(),\n nodeType,\n nodeId\n );\n const { data } = await generateAmApi(getNodeApiConfig()).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":";;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,4BAA4B,GAChC,qFADF;AAEA,IAAMC,8BAA8B,GAClC,sFADF;AAEA,IAAMC,wBAAwB,GAC5B,yFADF;AAEA,IAAMC,eAAe,GACnB,uEADF;AAGA,IAAMC,UAAU,GAAG,2BAAnB;;AACA,IAAMC,gBAAgB,GAAG,MAAM;EAC7B,IAAMC,UAAU,GAAG,IAAAC,6BAAA,GAAnB;EACA,OAAO;IACLC,IAAI,YAAKF,UAAL,wCADC;IAELF;EAFK,CAAP;AAID,CAND;AAQA;AACA;AACA;AACA;;;SACsBK,Y;;;AAiBtB;AACA;AACA;AACA;;;;oCApBO,aAA8B;IACnC,IAAMC,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBZ,4BADgB,EAEhBa,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,CAAlB;;IAKA,IAAMS,QAAQ,SAAS,IAAAC,sBAAA,EAAcZ,gBAAgB,EAA9B,EAAkCa,IAAlC,CACrBR,SADqB,EAErB,EAFqB,EAGrB;MACES,eAAe,EAAE,IADnB;MAEEC,OAAO,EAAE;QAAE,mBAAmB;MAArB;IAFX,CAHqB,CAAvB;IAQA,OAAOJ,QAAQ,CAACK,IAAT,CAAcC,MAArB;EACD,C;;;;SAMqBC,Q;;;AAiBtB;AACA;AACA;AACA;AACA;;;;gCArBO,aAA0B;IAC/B,IAAMb,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBV,wBADgB,EAEhBW,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,CAAlB;;IAKA,IAAMS,QAAQ,SAAS,IAAAC,sBAAA,EAAcZ,gBAAgB,EAA9B,EAAkCa,IAAlC,CACrBR,SADqB,EAErB,EAFqB,EAGrB;MACES,eAAe,EAAE,IADnB;MAEEC,OAAO,EAAE;QAAE,mBAAmB;MAArB;IAFX,CAHqB,CAAvB;IAQA,OAAOJ,QAAQ,CAACK,IAAT,CAAcC,MAArB;EACD,C;;;;SAOqBE,c;;;AAatB;AACA;AACA;AACA;AACA;AACA;;;;sCAlBO,WAA8BC,QAA9B,EAAgD;IACrD,IAAMf,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBX,8BADgB,EAEhBY,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBkB,QAJgB,CAAlB;;IAMA,IAAMT,QAAQ,SAAS,IAAAC,sBAAA,EAAcZ,gBAAgB,EAA9B,EAAkCqB,GAAlC,CAAsChB,SAAtC,EAAiD;MACtES,eAAe,EAAE;IADqD,CAAjD,CAAvB;IAGA,OAAOH,QAAQ,CAACK,IAAT,CAAcC,MAArB;EACD,C;;;;SAQqBK,O;;;AActB;AACA;AACA;AACA;AACA;AACA;AACA;;;;+BApBO,WAAuBC,MAAvB,EAAuCH,QAAvC,EAAyD;IAC9D,IAAMf,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBT,eADgB,EAEhBU,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBkB,QAJgB,EAKhBG,MALgB,CAAlB;;IAOA,IAAM;MAAEP;IAAF,UAAiB,IAAAJ,sBAAA,EAAcZ,gBAAgB,EAA9B,EAAkCqB,GAAlC,CAAsChB,SAAtC,EAAiD;MACtES,eAAe,EAAE;IADqD,CAAjD,CAAvB;IAGA,OAAOE,IAAP;EACD,C;;;;SASqBQ,O;;;AAqBtB;AACA;AACA;AACA;AACA;AACA;;;;+BA1BO,WAAuBD,MAAvB,EAAuCH,QAAvC,EAAyDK,QAAzD,EAAmE;IACxE;IACA;IACA,IAAMC,SAAS,GAAG,IAAAC,yBAAA,EAAgBF,QAAhB,EAA0B,YAA1B,CAAlB;;IACA,IAAMpB,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBT,eADgB,EAEhBU,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBkB,QAJgB,EAKhBG,MALgB,CAAlB;;IAOA,IAAM;MAAEP;IAAF,UAAiB,IAAAJ,sBAAA,EAAcZ,gBAAgB,EAA9B,EAAkC4B,GAAlC,CACrBvB,SADqB,EAErBqB,SAFqB,EAGrB;MACEZ,eAAe,EAAE;IADnB,CAHqB,CAAvB;IAOA,OAAOE,IAAP;EACD,C;;;;SAQqBa,U;;;;;kCAAf,WAA0BN,MAA1B,EAA0CH,QAA1C,EAA4D;IACjE,IAAMf,SAAS,GAAGC,aAAA,CAAKC,MAAL,CAChBT,eADgB,EAEhBU,uBAAA,CAAQC,OAAR,CAAgBC,SAAhB,EAFgB,EAGhB,IAAAR,6BAAA,GAHgB,EAIhBkB,QAJgB,EAKhBG,MALgB,CAAlB;;IAOA,IAAM;MAAEP;IAAF,UAAiB,IAAAJ,sBAAA,EAAcZ,gBAAgB,EAA9B,EAAkC8B,MAAlC,CAAyCzB,SAAzC,EAAoD;MACzES,eAAe,EAAE;IADwD,CAApD,CAAvB;IAGA,OAAOE,IAAP;EACD,C"}
1
+ {"version":3,"file":"NodeApi.js","names":["queryAllNodeTypesURLTemplate","queryAllNodesByTypeURLTemplate","queryAllNodesURLTemplate","nodeURLTemplate","apiVersion","getNodeApiConfig","configPath","getCurrentRealmPath","path","getNodeTypes","urlString","util","format","storage","session","getTenant","data","generateAmApi","post","withCredentials","headers","getNodes","getNodesByType","nodeType","get","getNode","nodeId","putNode","nodeData","cleanData","deleteDeepByKey","put","deleteNode","delete"],"sources":["api/NodeApi.ts"],"sourcesContent":["import util from 'util';\nimport { deleteDeepByKey, getCurrentRealmPath } from './utils/ApiUtils';\nimport { generateAmApi } from './BaseApi';\nimport storage from '../storage/SessionStorage';\n\nconst queryAllNodeTypesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes';\nconst queryAllNodesByTypeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s?_queryFilter=true';\nconst queryAllNodesURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents';\nconst nodeURLTemplate =\n '%s/json%s/realm-config/authentication/authenticationtrees/nodes/%s/%s';\n\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getNodeApiConfig = () => {\n const configPath = getCurrentRealmPath();\n return {\n path: `${configPath}/authentication/authenticationtrees`,\n apiVersion,\n };\n};\n\n/**\n * Get all node types\n * @returns {Promise} a promise that resolves to an array of node type objects\n */\nexport async function getNodeTypes() {\n const urlString = util.format(\n queryAllNodeTypesURLTemplate,\n storage.session.getTenant(),\n getCurrentRealmPath()\n );\n const { 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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeApi.test.js","names":["__dirname","path","dirname","fileURLToPath","mock","MockAdapter","axios","state","default","session","setTenant","setRealm","setCookieName","setCookieValue","describe","test","response","JSON","parse","fs","readFileSync","resolve","onPost","reply","types","NodeRaw","getNodeTypes","expect","toBeTruthy","length","toBe","onGet","nodes","getNodesByType","node","getNode","toMatchObject","code","reason","message","assertions","error","data","nodeData","onPut","putNode","onDelete","deleteNode","_id","toEqual"],"sources":["api/NodeApi.test.ts"],"sourcesContent":["import axios from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport { NodeRaw, state } from '../index';\nimport fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst mock = new MockAdapter(axios);\n\nstate.default.session.setTenant('');\nstate.default.session.setRealm('alpha');\nstate.default.session.setCookieName('cookieName');\nstate.default.session.setCookieValue('cookieValue');\n\ndescribe('NodeApi - getNodeTypes()', () => {\n test('getNodeTypes() 1: Get all node types', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/getNodeTypes/types.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes'\n )\n .reply(200, response);\n const types = await NodeRaw.getNodeTypes();\n expect(types).toBeTruthy();\n expect(types.length).toBe(99);\n });\n});\n\ndescribe('NodeApi - getNodesByType()', () => {\n test('getNodesByType() 1: Get all page nodes', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/getNodesByType/PageNode.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode?_queryFilter=true'\n )\n .reply(200, response);\n const nodes = await NodeRaw.getNodesByType('PageNode');\n expect(nodes).toBeTruthy();\n expect(nodes.length).toBe(161);\n });\n});\n\ndescribe('NodeApi - getNode()', () => {\n test('getNode() 1: Get existing page node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/getNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae'\n )\n .reply(200, response);\n const node = await NodeRaw.getNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode'\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(response);\n });\n\n test('getNode() 2: Get non-existing page node [00000000-0000-0000-0000-000000000000]', async () => {\n mock\n .onGet(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/00000000-0000-0000-0000-000000000000'\n )\n .reply(404, {\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n expect.assertions(2);\n try {\n await NodeRaw.getNode('00000000-0000-0000-0000-000000000000', 'PageNode');\n } catch (error) {\n expect(error.response).toBeTruthy();\n expect(error.response.data).toMatchObject({\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n }\n });\n});\n\ndescribe('NodeApi - putNode()', () => {\n test('putNode() 1: Create page node [0ad90971-d08a-4af3-86f3-01729572dc8f]', async () => {\n const nodeData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/putNode/PageNode_0ad90971-d08a-4af3-86f3-01729572dc8f.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/0ad90971-d08a-4af3-86f3-01729572dc8f'\n )\n .reply(201, nodeData);\n const node = await NodeRaw.putNode(\n '0ad90971-d08a-4af3-86f3-01729572dc8f',\n 'PageNode',\n nodeData\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(nodeData);\n });\n\n test('putNode() 1: Update existing page node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const nodeData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/putNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae'\n )\n .reply(200, nodeData);\n const node = await NodeRaw.putNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode',\n nodeData\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(nodeData);\n });\n});\n\ndescribe('NodeApi - deleteNode()', () => {\n test('deleteNode() 1: Delete existing node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../../test/mocks/NodeApi/deleteNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onDelete(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae'\n )\n .reply(200, response);\n const node = await NodeRaw.deleteNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode'\n );\n expect(node).toBeTruthy();\n expect(node._id).toEqual('1aea363f-d8d2-4711-b88d-d58fff92dbae');\n });\n\n test('deleteNode() 2: Delete non-existing node [00000000-0000-0000-0000-000000000000]', async () => {\n mock\n .onDelete(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/00000000-0000-0000-0000-000000000000'\n )\n .reply(404, {\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n expect.assertions(2);\n try {\n await NodeRaw.deleteNode(\n '00000000-0000-0000-0000-000000000000',\n 'PageNode'\n );\n } catch (error) {\n expect(error.response).toBeTruthy();\n expect(error.response.data).toMatchObject({\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n }\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"NodeApi.test.js","names":["__dirname","path","dirname","fileURLToPath","mock","MockAdapter","axios","state","default","session","setTenant","setRealm","setCookieName","setCookieValue","describe","test","expect","NodeRaw","getNodeTypes","toBeDefined","response","JSON","parse","fs","readFileSync","resolve","onPost","reply","types","toBeTruthy","result","length","toBe","getNodes","usernameAttribute","validateInput","_id","_type","name","collection","_outcomes","id","displayName","interval","identityAttribute","amount","identifier","identityResource","nodes","nodeType","pageDescription","en","pageHeader","stage","queryFilter","sessionDataKey","sharedStateKey","emailSuspendMessage","emailTemplateName","emailAttribute","objectLookup","attributesToCollect","validateInputs","required","passwordAttribute","presentAttribute","tree","patchAsObject","ignoredFields","script","outcomes","outputs","inputs","message","allowUserDefinedQuestions","getNodesByType","onGet","getNode","node","toMatchObject","code","reason","assertions","error","data","putNode","nodeData","onPut","deleteNode","onDelete","toEqual"],"sources":["api/NodeApi.test.ts"],"sourcesContent":["import axios from 'axios';\nimport MockAdapter from 'axios-mock-adapter';\nimport { NodeRaw, state } from '../index';\nimport fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst mock = new MockAdapter(axios);\n\nstate.default.session.setTenant('');\nstate.default.session.setRealm('alpha');\nstate.default.session.setCookieName('cookieName');\nstate.default.session.setCookieValue('cookieValue');\n\ndescribe('NodeApi - getNodeTypes()', () => {\n test('getNodeTypes() 0: Method is implemented', async () => {\n expect(NodeRaw.getNodeTypes).toBeDefined();\n });\n\n test('getNodeTypes() 1: Get all node types', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/getNodeTypes/types.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPost(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes?_action=getAllTypes'\n )\n .reply(200, response);\n const types = await NodeRaw.getNodeTypes();\n expect(types).toBeTruthy();\n expect(types.result.length).toBe(99);\n });\n});\n\ndescribe('NodeApi - getNodes()', () => {\n test('getNodes() 0: Method is implemented', async () => {\n expect(NodeRaw.getNodes).toBeDefined();\n });\n\n test('getNodes() 1: Get all nodes', async () => {\n const response = {\n result: [\n {\n usernameAttribute: 'userName',\n validateInput: true,\n _id: '7fcaf48e-a754-4959-858b-05b2933b825f',\n _type: {\n _id: 'ValidatedUsernameNode',\n name: 'Platform Username',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n usernameAttribute: 'userName',\n validateInput: false,\n _id: '7354982f-57b6-4b04-9ddc-f1dd1e1e07d0',\n _type: {\n _id: 'ValidatedUsernameNode',\n name: 'Platform Username',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n interval: 'AT',\n identityAttribute: 'userName',\n amount: 3,\n _id: '8afdaec3-275e-4301-bb53-34f03e6a4b29',\n _type: {\n _id: 'LoginCountDecisionNode',\n name: 'Login Count Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n identityAttribute: 'mail',\n identifier: 'userName',\n _id: '21b8ddf3-0203-4ae1-ab05-51cf3a3a707a',\n _type: {\n _id: 'IdentifyExistingUserNode',\n name: 'Identify Existing User',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n identityAttribute: 'mail',\n identifier: 'userName',\n _id: 'bf9ea8d5-9802-4f26-9664-a21840faac23',\n _type: {\n _id: 'IdentifyExistingUserNode',\n name: 'Identify Existing User',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: '59952413-9bc2-47e5-a9b2-b04c1d729e24',\n _type: {\n _id: 'UsernameCollectorNode',\n name: 'Username Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n identityResource: 'managed/alpha_user',\n _id: 'ad5dcbb3-7335-49b7-b3e7-7d850bb88237',\n _type: {\n _id: 'CreateObjectNode',\n name: 'Create Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'CREATED',\n displayName: 'Created',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '7354982f-57b6-4b04-9ddc-f1dd1e1e07d0',\n nodeType: 'ValidatedUsernameNode',\n displayName: 'Platform Username',\n },\n {\n _id: '0c80c39b-4813-4e67-b4fb-5a0bba85f994',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n ],\n pageDescription: {\n en: 'New here? <a href=\"#/service/Registration\">Create an account</a><br><a href=\"#/service/ForgottenUsername\">Forgot username?</a><a href=\"#/service/ResetPassword\"> Forgot password?</a>',\n },\n pageHeader: {\n en: 'Sign In',\n },\n _id: 'a12bc72f-ad97-4f1e-a789-a1fa3dd566c8',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '7fcaf48e-a754-4959-858b-05b2933b825f',\n nodeType: 'ValidatedUsernameNode',\n displayName: 'Platform Username',\n },\n {\n _id: 'd3ce2036-1523-4ce8-b1a2-895a2a036667',\n nodeType: 'AttributeCollectorNode',\n displayName: 'Attribute Collector',\n },\n {\n _id: '3d8709a1-f09f-4d1f-8094-2850e472c1db',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n {\n _id: '120c69d3-90b4-4ad4-b7af-380e8b119340',\n nodeType: 'KbaCreateNode',\n displayName: 'KBA Definition',\n },\n {\n _id: 'b4a0e915-c15d-4b83-9c9d-18347d645976',\n nodeType: 'AcceptTermsAndConditionsNode',\n displayName: 'Accept Terms and Conditions',\n },\n ],\n pageDescription: {\n en: \"Signing up is fast and easy.<br>Already have an account? <a href='#/service/Login'>Sign In</a>\",\n },\n pageHeader: {\n en: 'Sign Up',\n },\n _id: '0c091c49-f3af-48fb-ac6f-07fba0499dd6',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '21a99653-a7a7-47ee-b650-f493a84bba09',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n ],\n pageDescription: {\n en: 'Enter new password',\n },\n pageHeader: {\n en: 'Update Password',\n },\n _id: 'd018fcd1-4e22-4160-8c41-63bee51c9cb3',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '0a042e10-b22e-4e02-86c4-65e26e775f7a',\n nodeType: 'AttributeCollectorNode',\n displayName: 'Attribute Collector',\n },\n ],\n pageDescription: {},\n pageHeader: {\n en: 'Please select your preferences',\n },\n _id: 'a5aecad8-854a-4ed5-b719-ff6c90e858c0',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: 'fe2962fc-4db3-4066-8624-553649afc438',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n ],\n pageDescription: {\n en: 'Enter current password',\n },\n pageHeader: {\n en: 'Verify Existing Password',\n },\n _id: '20237b34-26cb-4a0b-958f-abb422290d42',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '59952413-9bc2-47e5-a9b2-b04c1d729e24',\n nodeType: 'UsernameCollectorNode',\n displayName: 'Username Collector',\n },\n {\n _id: '8c217417-11dd-4a0f-a9e4-59c2390085be',\n nodeType: 'PasswordCollectorNode',\n displayName: 'Password Collector',\n },\n ],\n pageDescription: {},\n pageHeader: {},\n _id: '6b9a715d-ea23-4eae-9a59-69797c147157',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '009c19c8-9572-47bb-adb2-1f092c559a43',\n nodeType: 'ValidatedPasswordNode',\n displayName: 'Platform Password',\n },\n ],\n pageDescription: {\n en: 'Change password',\n },\n pageHeader: {\n en: 'Reset Password',\n },\n _id: 'e4c752f9-c625-48c9-9644-a58802fa9e9c',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: 'a3f63691-1a79-4b11-be47-26f40403292d',\n nodeType: 'ScriptedDecisionNode',\n displayName: 'Remove Button',\n },\n ],\n pageDescription: {},\n stage: '{\"themeId\":\"63e19668-909f-479e-83d7-be7a01cd8187\"}',\n pageHeader: {\n en: 'No Access',\n },\n _id: 'bdda3e99-3a7f-45ec-b39d-17d1056af3c9',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'true',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '9f1e8d94-4922-481b-9e14-212b66548900',\n nodeType: 'AttributeCollectorNode',\n displayName: 'Attribute Collector',\n },\n ],\n pageDescription: {\n en: 'Enter your email address or <a href=\"#/service/Login\">Sign in</a>',\n },\n pageHeader: {\n en: 'Forgotten Username',\n },\n _id: '5e2a7c95-94af-4b23-8724-deb13853726a',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n nodes: [\n {\n _id: '276afa7c-a680-4cf4-a5f6-d6c78191f5c9',\n nodeType: 'AttributeCollectorNode',\n displayName: 'Attribute Collector',\n },\n ],\n pageDescription: {\n en: 'Enter your email address or <a href=\"#/service/Login\">Sign in</a>',\n },\n pageHeader: {\n en: 'Reset Password',\n },\n _id: 'cc3e1ed2-25f1-47bf-83c6-17084f8b2b2b',\n _type: {\n _id: 'PageNode',\n name: 'Page Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n identityAttribute: 'userName',\n queryFilter:\n '!(/preferences pr) or /preferences/marketing eq false or /preferences/updates eq false',\n _id: 'a1f45b44-5bf7-4c57-aa3f-75c619c7db8e',\n _type: {\n _id: 'QueryFilterDecisionNode',\n name: 'Query Filter Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: 'b4a0e915-c15d-4b83-9c9d-18347d645976',\n _type: {\n _id: 'AcceptTermsAndConditionsNode',\n name: 'Accept Terms and Conditions',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n sessionDataKey: 'UserToken',\n sharedStateKey: 'userName',\n _id: 'd1b79744-493a-44fe-bc26-7d324a8caa4e',\n _type: {\n _id: 'SessionDataNode',\n name: 'Get Session Data',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n emailSuspendMessage: {\n en: 'An email has been sent to the address you entered. Click the link in that email to proceed.',\n },\n emailTemplateName: 'forgottenUsername',\n identityAttribute: 'mail',\n emailAttribute: 'mail',\n objectLookup: true,\n _id: 'd9a79f01-2ce3-4be2-a28a-975f35c3c8ca',\n _type: {\n _id: 'EmailSuspendNode',\n name: 'Email Suspend Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n emailSuspendMessage: {\n en: 'An email has been sent to the address you entered. Click the link in that email to proceed.',\n },\n emailTemplateName: 'resetPassword',\n identityAttribute: 'mail',\n emailAttribute: 'mail',\n objectLookup: true,\n _id: '06c97be5-7fdd-4739-aea1-ecc7fe082865',\n _type: {\n _id: 'EmailSuspendNode',\n name: 'Email Suspend Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n emailSuspendMessage: {\n en: 'An email has been sent to your address, please verify your email address to update your password. Click the link in that email to proceed.',\n },\n emailTemplateName: 'updatePassword',\n identityAttribute: 'userName',\n emailAttribute: 'mail',\n objectLookup: true,\n _id: 'a3d97b53-e38a-4b24-aed0-a021050eb744',\n _type: {\n _id: 'EmailSuspendNode',\n name: 'Email Suspend Node',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n attributesToCollect: ['mail'],\n identityAttribute: 'mail',\n validateInputs: false,\n required: true,\n _id: '9f1e8d94-4922-481b-9e14-212b66548900',\n _type: {\n _id: 'AttributeCollectorNode',\n name: 'Attribute Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n attributesToCollect: ['mail'],\n identityAttribute: 'mail',\n validateInputs: false,\n required: true,\n _id: '276afa7c-a680-4cf4-a5f6-d6c78191f5c9',\n _type: {\n _id: 'AttributeCollectorNode',\n name: 'Attribute Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n attributesToCollect: ['preferences/updates', 'preferences/marketing'],\n identityAttribute: 'userName',\n validateInputs: false,\n required: false,\n _id: '0a042e10-b22e-4e02-86c4-65e26e775f7a',\n _type: {\n _id: 'AttributeCollectorNode',\n name: 'Attribute Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n attributesToCollect: [\n 'givenName',\n 'sn',\n 'mail',\n 'preferences/marketing',\n 'preferences/updates',\n ],\n identityAttribute: 'userName',\n validateInputs: true,\n required: true,\n _id: 'd3ce2036-1523-4ce8-b1a2-895a2a036667',\n _type: {\n _id: 'AttributeCollectorNode',\n name: 'Attribute Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n _id: '8c217417-11dd-4a0f-a9e4-59c2390085be',\n _type: {\n _id: 'PasswordCollectorNode',\n name: 'Password Collector',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: true,\n _id: '009c19c8-9572-47bb-adb2-1f092c559a43',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: true,\n _id: '3d8709a1-f09f-4d1f-8094-2850e472c1db',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: false,\n _id: '0c80c39b-4813-4e67-b4fb-5a0bba85f994',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: true,\n _id: '21a99653-a7a7-47ee-b650-f493a84bba09',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n passwordAttribute: 'password',\n validateInput: false,\n _id: 'fe2962fc-4db3-4066-8624-553649afc438',\n _type: {\n _id: 'ValidatedPasswordNode',\n name: 'Platform Password',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n presentAttribute: 'password',\n identityAttribute: 'userName',\n _id: '0f0904e6-1da3-4cdb-9abf-0d2545016fab',\n _type: {\n _id: 'AttributePresentDecisionNode',\n name: 'Attribute Present Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: '2998c1c9-f4c8-4a00-b2c6-3426783ee49d',\n _type: {\n _id: 'DataStoreDecisionNode',\n name: 'Data Store Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: 'e2988546-a459-4c9a-b0e2-fa65ae136b34',\n _type: {\n _id: 'DataStoreDecisionNode',\n name: 'Data Store Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n _id: '7d1deabe-cd98-49c8-943f-ca12305775f3',\n _type: {\n _id: 'DataStoreDecisionNode',\n name: 'Data Store Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n identityAttribute: 'userName',\n _id: '97a15eb2-a015-4b6d-81a0-be78c3aa1a3b',\n _type: {\n _id: 'IncrementLoginCountNode',\n name: 'Increment Login Count',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n identityAttribute: 'userName',\n _id: 'bba3e0d8-8525-4e82-bf48-ac17f7988917',\n _type: {\n _id: 'IncrementLoginCountNode',\n name: 'Increment Login Count',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n {\n tree: 'ProgressiveProfile',\n _id: '33b24514-3e50-4180-8f08-ab6f4e51b07e',\n _type: {\n _id: 'InnerTreeEvaluatorNode',\n name: 'Inner Tree Evaluator',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n tree: 'iAccessRestrictions',\n _id: '2da98485-ee0e-4305-826c-b6fcc842a7b8',\n _type: {\n _id: 'InnerTreeEvaluatorNode',\n name: 'Inner Tree Evaluator',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n tree: 'Login',\n _id: 'b93ce36e-1976-4610-b24f-8d6760b5463b',\n _type: {\n _id: 'InnerTreeEvaluatorNode',\n name: 'Inner Tree Evaluator',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'True',\n },\n {\n id: 'false',\n displayName: 'False',\n },\n ],\n },\n {\n identityResource: 'managed/alpha_user',\n patchAsObject: false,\n ignoredFields: [],\n identityAttribute: 'mail',\n _id: '989f0bf8-a328-4217-b82b-5275d79ca8bd',\n _type: {\n _id: 'PatchObjectNode',\n name: 'Patch Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'PATCHED',\n displayName: 'Patched',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n {\n identityResource: 'managed/alpha_user',\n patchAsObject: false,\n ignoredFields: [],\n identityAttribute: 'userName',\n _id: '423a959a-a1b9-498a-b0f7-596b6b6e775a',\n _type: {\n _id: 'PatchObjectNode',\n name: 'Patch Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'PATCHED',\n displayName: 'Patched',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n {\n identityResource: 'managed/alpha_user',\n patchAsObject: false,\n ignoredFields: ['userName'],\n identityAttribute: 'userName',\n _id: '3990ce1f-cce6-435b-ae1c-f138e89411c1',\n _type: {\n _id: 'PatchObjectNode',\n name: 'Patch Object',\n collection: true,\n },\n _outcomes: [\n {\n id: 'PATCHED',\n displayName: 'Patched',\n },\n {\n id: 'FAILURE',\n displayName: 'Failed',\n },\n ],\n },\n {\n script: '7fb962a5-9f20-41d3-a077-b424a29c1198',\n outcomes: ['allow', 'deny'],\n outputs: ['*'],\n inputs: ['*'],\n _id: 'f4e9be5d-25d7-44cc-b15e-989b99724b4d',\n _type: {\n _id: 'ScriptedDecisionNode',\n name: 'Scripted Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'allow',\n displayName: 'allow',\n },\n {\n id: 'deny',\n displayName: 'deny',\n },\n ],\n },\n {\n script: '9535446c-0ff6-4a76-8576-616599119d64',\n outcomes: ['true'],\n outputs: ['*'],\n inputs: ['*'],\n _id: 'a3f63691-1a79-4b11-be47-26f40403292d',\n _type: {\n _id: 'ScriptedDecisionNode',\n name: 'Scripted Decision',\n collection: true,\n },\n _outcomes: [\n {\n id: 'true',\n displayName: 'true',\n },\n ],\n },\n {\n message: {\n en: 'Select a security question',\n },\n allowUserDefinedQuestions: true,\n _id: '120c69d3-90b4-4ad4-b7af-380e8b119340',\n _type: {\n _id: 'KbaCreateNode',\n name: 'KBA Definition',\n collection: true,\n },\n _outcomes: [\n {\n id: 'outcome',\n displayName: 'Outcome',\n },\n ],\n },\n ],\n };\n mock\n .onPost(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes?_action=nextdescendents'\n )\n .reply(200, response);\n const nodes = await NodeRaw.getNodes();\n expect(nodes).toBeTruthy();\n expect(nodes.result.length).toBe(48);\n });\n});\n\ndescribe('NodeApi - getNodesByType()', () => {\n test('getNodesByType() 0: Method is implemented', async () => {\n expect(NodeRaw.getNodesByType).toBeDefined();\n });\n\n test('getNodesByType() 1: Get all page nodes', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/getNodesByType/PageNode.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode?_queryFilter=true'\n )\n .reply(200, response);\n const nodes = await NodeRaw.getNodesByType('PageNode');\n expect(nodes).toBeTruthy();\n expect(nodes.result.length).toBe(161);\n });\n});\n\ndescribe('NodeApi - getNode()', () => {\n test('getNode() 0: Method is implemented', async () => {\n expect(NodeRaw.getNode).toBeDefined();\n });\n\n test('getNode() 1: Get existing page node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/getNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onGet(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae'\n )\n .reply(200, response);\n const node = await NodeRaw.getNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode'\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(response);\n });\n\n test('getNode() 2: Get non-existing page node [00000000-0000-0000-0000-000000000000]', async () => {\n mock\n .onGet(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/00000000-0000-0000-0000-000000000000'\n )\n .reply(404, {\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n expect.assertions(2);\n try {\n await NodeRaw.getNode('00000000-0000-0000-0000-000000000000', 'PageNode');\n } catch (error) {\n expect(error.response).toBeTruthy();\n expect(error.response.data).toMatchObject({\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n }\n });\n});\n\ndescribe('NodeApi - putNode()', () => {\n test('putNode() 0: Method is implemented', async () => {\n expect(NodeRaw.putNode).toBeDefined();\n });\n\n test('putNode() 1: Create page node [0ad90971-d08a-4af3-86f3-01729572dc8f]', async () => {\n const nodeData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/putNode/PageNode_0ad90971-d08a-4af3-86f3-01729572dc8f.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/0ad90971-d08a-4af3-86f3-01729572dc8f'\n )\n .reply(201, nodeData);\n const node = await NodeRaw.putNode(\n '0ad90971-d08a-4af3-86f3-01729572dc8f',\n 'PageNode',\n nodeData\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(nodeData);\n });\n\n test('putNode() 1: Update existing page node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const nodeData = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/putNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onPut(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae'\n )\n .reply(200, nodeData);\n const node = await NodeRaw.putNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode',\n nodeData\n );\n expect(node).toBeTruthy();\n expect(node).toMatchObject(nodeData);\n });\n});\n\ndescribe('NodeApi - deleteNode()', () => {\n test('deleteNode() 0: Method is implemented', async () => {\n expect(NodeRaw.deleteNode).toBeDefined();\n });\n\n test('deleteNode() 1: Delete existing node [1aea363f-d8d2-4711-b88d-d58fff92dbae]', async () => {\n const response = JSON.parse(\n fs.readFileSync(\n path.resolve(\n __dirname,\n '../test/mocks/NodeApi/deleteNode/PageNode_1aea363f-d8d2-4711-b88d-d58fff92dbae.json'\n ),\n 'utf8'\n )\n );\n mock\n .onDelete(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/1aea363f-d8d2-4711-b88d-d58fff92dbae'\n )\n .reply(200, response);\n const node = await NodeRaw.deleteNode(\n '1aea363f-d8d2-4711-b88d-d58fff92dbae',\n 'PageNode'\n );\n expect(node).toBeTruthy();\n expect(node._id).toEqual('1aea363f-d8d2-4711-b88d-d58fff92dbae');\n });\n\n test('deleteNode() 2: Delete non-existing node [00000000-0000-0000-0000-000000000000]', async () => {\n mock\n .onDelete(\n '/json/realms/root/realms/alpha/realm-config/authentication/authenticationtrees/nodes/PageNode/00000000-0000-0000-0000-000000000000'\n )\n .reply(404, {\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n expect.assertions(2);\n try {\n await NodeRaw.deleteNode(\n '00000000-0000-0000-0000-000000000000',\n 'PageNode'\n );\n } catch (error) {\n expect(error.response).toBeTruthy();\n expect(error.response.data).toMatchObject({\n code: 404,\n reason: 'Not Found',\n message: 'Not Found',\n });\n }\n });\n});\n"],"mappings":"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"}