@rockcarver/frodo-lib 0.16.2-9 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/CHANGELOG.md +217 -1
  2. package/cjs/api/AgentApi.js +14 -61
  3. package/cjs/api/AgentApi.js.map +1 -1
  4. package/cjs/api/AgentApi.test.js.map +1 -1
  5. package/cjs/api/ApiTypes.js +0 -5
  6. package/cjs/api/ApiTypes.js.map +1 -1
  7. package/cjs/api/AuthenticateApi.js +9 -20
  8. package/cjs/api/AuthenticateApi.js.map +1 -1
  9. package/cjs/api/AuthenticateApi.test.js.map +1 -0
  10. package/cjs/api/BaseApi.js +82 -124
  11. package/cjs/api/BaseApi.js.map +1 -1
  12. package/cjs/api/CirclesOfTrustApi.js +8 -32
  13. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  14. package/cjs/api/IdmConfigApi.js +9 -34
  15. package/cjs/api/IdmConfigApi.js.map +1 -1
  16. package/cjs/api/LogApi.js +8 -31
  17. package/cjs/api/LogApi.js.map +1 -1
  18. package/cjs/api/ManagedObjectApi.js +34 -31
  19. package/cjs/api/ManagedObjectApi.js.map +1 -1
  20. package/cjs/api/NodeApi.js +10 -41
  21. package/cjs/api/NodeApi.js.map +1 -1
  22. package/cjs/api/NodeApi.test.js.map +1 -1
  23. package/cjs/api/OAuth2ClientApi.js +7 -26
  24. package/cjs/api/OAuth2ClientApi.js.map +1 -1
  25. package/cjs/api/OAuth2OIDCApi.js +28 -34
  26. package/cjs/api/OAuth2OIDCApi.js.map +1 -1
  27. package/cjs/api/OAuth2OIDCApi.test.js.map +1 -0
  28. package/cjs/api/OAuth2ProviderApi.js +5 -15
  29. package/cjs/api/OAuth2ProviderApi.js.map +1 -1
  30. package/cjs/api/RealmApi.js +8 -34
  31. package/cjs/api/RealmApi.js.map +1 -1
  32. package/cjs/api/Saml2Api.js +16 -67
  33. package/cjs/api/Saml2Api.js.map +1 -1
  34. package/cjs/api/ScriptApi.js +8 -30
  35. package/cjs/api/ScriptApi.js.map +1 -1
  36. package/cjs/api/SecretsApi.js +14 -64
  37. package/cjs/api/SecretsApi.js.map +1 -1
  38. package/cjs/api/SecretsApi.test.js.map +1 -1
  39. package/cjs/api/ServerInfoApi.js +6 -21
  40. package/cjs/api/ServerInfoApi.js.map +1 -1
  41. package/cjs/api/ServiceApi.js +49 -47
  42. package/cjs/api/ServiceApi.js.map +1 -1
  43. package/cjs/api/SocialIdentityProvidersApi.js +9 -36
  44. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  45. package/cjs/api/StartupApi.js +5 -24
  46. package/cjs/api/StartupApi.js.map +1 -1
  47. package/cjs/api/StartupApi.test.js.map +1 -1
  48. package/cjs/api/TreeApi.js +8 -30
  49. package/cjs/api/TreeApi.js.map +1 -1
  50. package/cjs/api/TreeApi.test.js.map +1 -1
  51. package/cjs/api/VariablesApi.js +9 -37
  52. package/cjs/api/VariablesApi.js.map +1 -1
  53. package/cjs/api/VariablesApi.test.js.map +1 -1
  54. package/cjs/api/utils/ApiUtils.js +47 -57
  55. package/cjs/api/utils/ApiUtils.js.map +1 -1
  56. package/cjs/api/utils/ApiUtils.test.js.map +1 -1
  57. package/cjs/api/utils/Base64.js +5 -15
  58. package/cjs/api/utils/Base64.js.map +1 -1
  59. package/cjs/ext/axios-curlirize/curlirize.js +2 -9
  60. package/cjs/ext/axios-curlirize/curlirize.js.map +1 -1
  61. package/cjs/ext/axios-curlirize/lib/CurlHelper.js +7 -22
  62. package/cjs/ext/axios-curlirize/lib/CurlHelper.js.map +1 -1
  63. package/cjs/index.js +30 -89
  64. package/cjs/index.js.map +1 -1
  65. package/cjs/ops/AdminOps.js +27 -165
  66. package/cjs/ops/AdminOps.js.map +1 -1
  67. package/cjs/ops/AgentOps.js +2 -159
  68. package/cjs/ops/AgentOps.js.map +1 -1
  69. package/cjs/ops/AgentOps.test.js.map +1 -1
  70. package/cjs/ops/AuthenticateOps.js +265 -226
  71. package/cjs/ops/AuthenticateOps.js.map +1 -1
  72. package/cjs/ops/AuthenticateOps.test.js.map +1 -1
  73. package/cjs/ops/CirclesOfTrustOps.js +13 -91
  74. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  75. package/cjs/ops/ConnectionProfileOps.js +220 -136
  76. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  77. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  78. package/cjs/ops/EmailTemplateOps.js +35 -379
  79. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  80. package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
  81. package/cjs/ops/IdmOps.js +52 -426
  82. package/cjs/ops/IdmOps.js.map +1 -1
  83. package/cjs/ops/IdmOps.test.js.map +1 -1
  84. package/cjs/ops/IdpOps.js +11 -94
  85. package/cjs/ops/IdpOps.js.map +1 -1
  86. package/cjs/ops/IdpOps.test.js.map +1 -1
  87. package/cjs/ops/JoseOps.js +81 -0
  88. package/cjs/ops/JoseOps.js.map +1 -0
  89. package/cjs/ops/JoseOps.test.js.map +1 -0
  90. package/cjs/ops/JourneyOps.js +139 -370
  91. package/cjs/ops/JourneyOps.js.map +1 -1
  92. package/cjs/ops/JourneyOps.test.js.map +1 -1
  93. package/cjs/ops/LogOps.js +14 -47
  94. package/cjs/ops/LogOps.js.map +1 -1
  95. package/cjs/ops/ManagedObjectOps.js +4 -12
  96. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  97. package/cjs/ops/NodeOps.js +9 -67
  98. package/cjs/ops/NodeOps.js.map +1 -1
  99. package/cjs/ops/OAuth2ClientOps.js +10 -40
  100. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  101. package/cjs/ops/OpsTypes.js +0 -5
  102. package/cjs/ops/OpsTypes.js.map +1 -1
  103. package/cjs/ops/OrganizationOps.js +6 -25
  104. package/cjs/ops/OrganizationOps.js.map +1 -1
  105. package/cjs/ops/RealmOps.js +0 -19
  106. package/cjs/ops/RealmOps.js.map +1 -1
  107. package/cjs/ops/Saml2Ops.js +11 -107
  108. package/cjs/ops/Saml2Ops.js.map +1 -1
  109. package/cjs/ops/Saml2Ops.test.js.map +1 -1
  110. package/cjs/ops/ScriptOps.js +26 -73
  111. package/cjs/ops/ScriptOps.js.map +1 -1
  112. package/cjs/ops/SecretsOps.js +2 -58
  113. package/cjs/ops/SecretsOps.js.map +1 -1
  114. package/cjs/ops/ServiceAccountOps.js +61 -0
  115. package/cjs/ops/ServiceAccountOps.js.map +1 -0
  116. package/cjs/ops/ServiceAccountOps.test.js.map +1 -0
  117. package/cjs/ops/ServiceOps.js +55 -101
  118. package/cjs/ops/ServiceOps.js.map +1 -1
  119. package/cjs/ops/StartupOps.js +2 -23
  120. package/cjs/ops/StartupOps.js.map +1 -1
  121. package/cjs/ops/ThemeOps.js +230 -436
  122. package/cjs/ops/ThemeOps.js.map +1 -1
  123. package/cjs/ops/ThemeOps.test.js.map +1 -0
  124. package/cjs/ops/VariablesOps.js +0 -38
  125. package/cjs/ops/VariablesOps.js.map +1 -1
  126. package/cjs/ops/utils/Console.js +29 -62
  127. package/cjs/ops/utils/Console.js.map +1 -1
  128. package/cjs/ops/utils/DataProtection.js +13 -47
  129. package/cjs/ops/utils/DataProtection.js.map +1 -1
  130. package/cjs/ops/utils/DataProtection.test.js.map +1 -1
  131. package/cjs/ops/utils/ExportImportUtils.js +36 -74
  132. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  133. package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
  134. package/cjs/ops/utils/OpsUtils.js +27 -43
  135. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  136. package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
  137. package/cjs/ops/utils/ValidationUtils.js +0 -13
  138. package/cjs/ops/utils/ValidationUtils.js.map +1 -1
  139. package/cjs/ops/utils/ValidationUtils.test.js.map +1 -1
  140. package/cjs/ops/utils/Version.js +2 -12
  141. package/cjs/ops/utils/Version.js.map +1 -1
  142. package/cjs/ops/utils/Version.test.js.map +1 -1
  143. package/cjs/ops/utils/Wordwrap.js +1 -2
  144. package/cjs/ops/utils/Wordwrap.js.map +1 -1
  145. package/cjs/ops/utils/Wordwrap.test.js.map +1 -0
  146. package/cjs/shared/State.js +239 -0
  147. package/cjs/shared/State.js.map +1 -0
  148. package/cjs/shared/State.test.js.map +1 -0
  149. package/cjs/storage/StaticStorage.js.map +1 -1
  150. package/cjs/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
  151. package/cjs/test/mocks/ForgeRockApiMockEngine.js +161 -83
  152. package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
  153. package/cjs/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
  154. package/cjs/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
  155. package/cjs/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
  156. package/cjs/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
  157. package/cjs/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
  158. package/cjs/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
  159. package/cjs/utils/AutoSetupPolly.js +79 -0
  160. package/cjs/utils/AutoSetupPolly.js.map +1 -0
  161. package/cjs/utils/SetupJest.js +6 -0
  162. package/cjs/utils/SetupJest.js.map +1 -0
  163. package/cjs/{test/mocks → utils}/snapshotResolve.js +10 -12
  164. package/cjs/utils/snapshotResolve.js.map +1 -0
  165. package/esm/api/AgentApi.mjs +19 -21
  166. package/esm/api/AgentApi.test.mjs +6 -15
  167. package/esm/api/ApiTypes.mjs +0 -5
  168. package/esm/api/AuthenticateApi.mjs +7 -10
  169. package/esm/api/AuthenticateApi.test.mjs +39 -0
  170. package/esm/api/BaseApi.mjs +96 -81
  171. package/esm/api/CirclesOfTrustApi.mjs +9 -12
  172. package/esm/api/IdmConfigApi.mjs +11 -12
  173. package/esm/api/LogApi.mjs +6 -10
  174. package/esm/api/ManagedObjectApi.mjs +23 -8
  175. package/esm/api/NodeApi.mjs +13 -15
  176. package/esm/api/NodeApi.test.mjs +13 -17
  177. package/esm/api/OAuth2ClientApi.mjs +7 -9
  178. package/esm/api/OAuth2OIDCApi.mjs +15 -9
  179. package/esm/api/OAuth2OIDCApi.test.mjs +53 -0
  180. package/esm/api/OAuth2ProviderApi.mjs +3 -5
  181. package/esm/api/RealmApi.mjs +10 -13
  182. package/esm/api/Saml2Api.mjs +25 -29
  183. package/esm/api/ScriptApi.mjs +9 -11
  184. package/esm/api/SecretsApi.mjs +21 -24
  185. package/esm/api/SecretsApi.test.mjs +9 -31
  186. package/esm/api/ServerInfoApi.mjs +5 -9
  187. package/esm/api/ServiceApi.mjs +53 -26
  188. package/esm/api/SocialIdentityProvidersApi.mjs +11 -13
  189. package/esm/api/StartupApi.mjs +5 -10
  190. package/esm/api/StartupApi.test.mjs +4 -7
  191. package/esm/api/TreeApi.mjs +9 -11
  192. package/esm/api/TreeApi.test.mjs +24 -61
  193. package/esm/api/VariablesApi.mjs +11 -13
  194. package/esm/api/VariablesApi.test.mjs +80 -222
  195. package/esm/api/utils/ApiUtils.mjs +45 -48
  196. package/esm/api/utils/ApiUtils.test.mjs +33 -32
  197. package/esm/api/utils/Base64.mjs +5 -9
  198. package/esm/ext/axios-curlirize/curlirize.mjs +2 -7
  199. package/esm/ext/axios-curlirize/lib/CurlHelper.mjs +7 -20
  200. package/esm/index.mjs +23 -13
  201. package/esm/ops/AdminOps.mjs +33 -119
  202. package/esm/ops/AgentOps.mjs +37 -80
  203. package/esm/ops/AgentOps.test.mjs +5 -45
  204. package/esm/ops/AuthenticateOps.mjs +241 -175
  205. package/esm/ops/AuthenticateOps.test.mjs +7 -9
  206. package/esm/ops/CirclesOfTrustOps.mjs +24 -61
  207. package/esm/ops/ConnectionProfileOps.mjs +192 -82
  208. package/esm/ops/ConnectionProfileOps.test.mjs +19 -19
  209. package/esm/ops/EmailTemplateOps.mjs +18 -276
  210. package/esm/ops/EmailTemplateOps.test.mjs +19 -44
  211. package/esm/ops/IdmOps.mjs +30 -327
  212. package/esm/ops/IdmOps.test.mjs +47 -54
  213. package/esm/ops/IdpOps.mjs +21 -59
  214. package/esm/ops/IdpOps.test.mjs +5 -5
  215. package/esm/ops/JoseOps.mjs +41 -0
  216. package/esm/ops/JoseOps.test.mjs +137 -0
  217. package/esm/ops/JourneyOps.mjs +146 -289
  218. package/esm/ops/JourneyOps.test.mjs +29 -27
  219. package/esm/ops/LogOps.mjs +15 -25
  220. package/esm/ops/ManagedObjectOps.mjs +6 -6
  221. package/esm/ops/NodeOps.mjs +9 -47
  222. package/esm/ops/OAuth2ClientOps.mjs +13 -19
  223. package/esm/ops/OpsTypes.mjs +1 -3
  224. package/esm/ops/OrganizationOps.mjs +7 -14
  225. package/esm/ops/RealmOps.mjs +4 -7
  226. package/esm/ops/Saml2Ops.mjs +28 -62
  227. package/esm/ops/Saml2Ops.test.mjs +20 -23
  228. package/esm/ops/ScriptOps.mjs +29 -47
  229. package/esm/ops/SecretsOps.mjs +15 -31
  230. package/esm/ops/ServiceAccountOps.mjs +41 -0
  231. package/esm/ops/ServiceAccountOps.test.mjs +51 -0
  232. package/esm/ops/ServiceOps.mjs +66 -83
  233. package/esm/ops/StartupOps.mjs +4 -13
  234. package/esm/ops/ThemeOps.mjs +189 -298
  235. package/esm/{api/ThemeApi.test.mjs → ops/ThemeOps.test.mjs} +91 -96
  236. package/esm/ops/VariablesOps.mjs +9 -18
  237. package/esm/ops/utils/Console.mjs +28 -46
  238. package/esm/ops/utils/DataProtection.mjs +15 -28
  239. package/esm/ops/utils/DataProtection.test.mjs +8 -8
  240. package/esm/ops/utils/ExportImportUtils.mjs +34 -43
  241. package/esm/ops/utils/ExportImportUtils.test.mjs +20 -18
  242. package/esm/ops/utils/OpsUtils.mjs +27 -21
  243. package/esm/ops/utils/OpsUtils.test.mjs +155 -27
  244. package/esm/ops/utils/ValidationUtils.mjs +0 -9
  245. package/esm/ops/utils/Version.mjs +2 -3
  246. package/esm/ops/utils/Version.test.mjs +0 -2
  247. package/esm/ops/utils/Wordwrap.mjs +1 -1
  248. package/esm/ops/utils/Wordwrap.test.mjs +19 -0
  249. package/esm/shared/State.mjs +164 -0
  250. package/esm/shared/State.test.mjs +249 -0
  251. package/esm/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
  252. package/esm/test/mocks/ForgeRockApiMockEngine.mjs +147 -31
  253. package/esm/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
  254. package/esm/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
  255. package/esm/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
  256. package/esm/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
  257. package/esm/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
  258. package/esm/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
  259. package/esm/utils/AutoSetupPolly.mjs +72 -0
  260. package/esm/utils/SetupJest.mjs +3 -0
  261. package/esm/{test/mocks → utils}/snapshotResolve.mjs +10 -12
  262. package/package.json +36 -26
  263. package/types/api/AgentApi.d.ts.map +1 -1
  264. package/types/api/ApiTypes.d.ts +15 -16
  265. package/types/api/ApiTypes.d.ts.map +1 -1
  266. package/types/api/AuthenticateApi.d.ts +1 -1
  267. package/types/api/AuthenticateApi.d.ts.map +1 -1
  268. package/types/api/BaseApi.d.ts +2 -0
  269. package/types/api/BaseApi.d.ts.map +1 -1
  270. package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
  271. package/types/api/IdmConfigApi.d.ts.map +1 -1
  272. package/types/api/LogApi.d.ts.map +1 -1
  273. package/types/api/ManagedObjectApi.d.ts +9 -1
  274. package/types/api/ManagedObjectApi.d.ts.map +1 -1
  275. package/types/api/NodeApi.d.ts.map +1 -1
  276. package/types/api/OAuth2ClientApi.d.ts.map +1 -1
  277. package/types/api/OAuth2OIDCApi.d.ts +4 -2
  278. package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
  279. package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
  280. package/types/api/RealmApi.d.ts.map +1 -1
  281. package/types/api/Saml2Api.d.ts.map +1 -1
  282. package/types/api/ScriptApi.d.ts.map +1 -1
  283. package/types/api/SecretsApi.d.ts.map +1 -1
  284. package/types/api/ServerInfoApi.d.ts.map +1 -1
  285. package/types/api/ServiceApi.d.ts +14 -7
  286. package/types/api/ServiceApi.d.ts.map +1 -1
  287. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  288. package/types/api/StartupApi.d.ts.map +1 -1
  289. package/types/api/TreeApi.d.ts.map +1 -1
  290. package/types/api/VariablesApi.d.ts.map +1 -1
  291. package/types/api/utils/ApiUtils.d.ts +1 -0
  292. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  293. package/types/index.d.ts +11 -5
  294. package/types/index.d.ts.map +1 -1
  295. package/types/ops/AuthenticateOps.d.ts +10 -2
  296. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  297. package/types/ops/ConnectionProfileOps.d.ts +49 -21
  298. package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
  299. package/types/ops/EmailTemplateOps.d.ts +14 -33
  300. package/types/ops/EmailTemplateOps.d.ts.map +1 -1
  301. package/types/ops/IdmOps.d.ts +29 -37
  302. package/types/ops/IdmOps.d.ts.map +1 -1
  303. package/types/ops/JoseOps.d.ts +33 -0
  304. package/types/ops/JoseOps.d.ts.map +1 -0
  305. package/types/ops/JourneyOps.d.ts.map +1 -1
  306. package/types/ops/LogOps.d.ts.map +1 -1
  307. package/types/ops/NodeOps.d.ts.map +1 -1
  308. package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
  309. package/types/ops/OpsTypes.d.ts +1 -1
  310. package/types/ops/OpsTypes.d.ts.map +1 -1
  311. package/types/ops/OrganizationOps.d.ts.map +1 -1
  312. package/types/ops/ScriptOps.d.ts.map +1 -1
  313. package/types/ops/ServiceAccountOps.d.ts +20 -0
  314. package/types/ops/ServiceAccountOps.d.ts.map +1 -0
  315. package/types/ops/ServiceOps.d.ts +18 -10
  316. package/types/ops/ServiceOps.d.ts.map +1 -1
  317. package/types/ops/ThemeOps.d.ts +35 -50
  318. package/types/ops/ThemeOps.d.ts.map +1 -1
  319. package/types/ops/utils/Console.d.ts +1 -1
  320. package/types/ops/utils/Console.d.ts.map +1 -1
  321. package/types/ops/utils/DataProtection.d.ts.map +1 -1
  322. package/types/ops/utils/ExportImportUtils.d.ts +5 -2
  323. package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
  324. package/types/ops/utils/OpsUtils.d.ts +6 -0
  325. package/types/ops/utils/OpsUtils.d.ts.map +1 -1
  326. package/types/ops/utils/Wordwrap.d.ts.map +1 -1
  327. package/types/shared/State.d.ts +223 -0
  328. package/types/shared/State.d.ts.map +1 -0
  329. package/types/test/mocks/ForgeRockApiMockEngine.d.ts +19 -1
  330. package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
  331. package/types/utils/AutoSetupPolly.d.ts +1 -0
  332. package/types/utils/AutoSetupPolly.d.ts.map +1 -0
  333. package/types/utils/SetupJest.d.ts +1 -0
  334. package/types/utils/SetupJest.d.ts.map +1 -0
  335. package/types/utils/snapshotResolve.d.ts +1 -0
  336. package/types/utils/snapshotResolve.d.ts.map +1 -0
  337. package/cjs/api/EmailTemplateApi.js +0 -73
  338. package/cjs/api/EmailTemplateApi.js.map +0 -1
  339. package/cjs/api/ThemeApi.js +0 -367
  340. package/cjs/api/ThemeApi.js.map +0 -1
  341. package/cjs/api/ThemeApi.test.js.map +0 -1
  342. package/cjs/storage/SessionStorage.js +0 -91
  343. package/cjs/storage/SessionStorage.js.map +0 -1
  344. package/cjs/test/mocks/snapshotResolve.js.map +0 -1
  345. package/esm/api/EmailTemplateApi.mjs +0 -34
  346. package/esm/api/ThemeApi.mjs +0 -271
  347. package/esm/storage/SessionStorage.mjs +0 -79
  348. package/types/api/EmailTemplateApi.d.ts +0 -22
  349. package/types/api/EmailTemplateApi.d.ts.map +0 -1
  350. package/types/api/ThemeApi.d.ts +0 -56
  351. package/types/api/ThemeApi.d.ts.map +0 -1
  352. package/types/storage/SessionStorage.d.ts +0 -71
  353. package/types/storage/SessionStorage.d.ts.map +0 -1
  354. package/types/test/mocks/snapshotResolve.d.ts +0 -1
  355. package/types/test/mocks/snapshotResolve.d.ts.map +0 -1
@@ -1,292 +1,34 @@
1
- import fs from 'fs';
2
- import { EMAIL_TEMPLATE_TYPE, getEmailTemplate, getEmailTemplates, putEmailTemplate } from '../api/EmailTemplateApi';
3
- import { createProgressIndicator, createTable, printMessage, stopProgressIndicator, updateProgressIndicator } from './utils/Console';
4
- import { getTypedFilename, saveJsonToFile, validateImport } from './utils/ExportImportUtils';
5
- import wordwrap from './utils/Wordwrap';
6
- /**
7
- * Regex to remove email template type from id
8
- */
9
-
10
- const regexEmailTemplateType = new RegExp(`${EMAIL_TEMPLATE_TYPE}/`, 'g');
11
- /**
12
- * Maintain the file type centrally
13
- */
14
-
15
- const EMAIL_TEMPLATE_FILE_TYPE = 'template.email'; // use a function vs a template variable to avoid problems in loops
1
+ import { getConfigEntitiesByType, getConfigEntity, putConfigEntity } from '../api/IdmConfigApi';
16
2
 
17
- function getFileDataTemplate() {
18
- return {
19
- meta: {},
20
- emailTemplate: {}
21
- };
22
- }
23
3
  /**
24
- * List email templates
25
- * @param {boolean} long Long list format with details
26
- * @return {Promise<unknown[]>} a promise that resolves to an array of email template objects
4
+ * Email template type key used to build the IDM id: 'emailTemplate/<id>'
27
5
  */
6
+ export const EMAIL_TEMPLATE_TYPE = 'emailTemplate';
28
7
 
29
-
30
- export async function listEmailTemplates(long = false) {
31
- let emailTemplates = [];
32
-
33
- try {
34
- emailTemplates = (await getEmailTemplates()).result;
35
- } catch (error) {
36
- printMessage(`Error retrieving email templates: ${error.message}`, 'error');
37
- }
38
-
39
- emailTemplates.sort((a, b) => a._id.localeCompare(b._id));
40
-
41
- if (!long) {
42
- for (const [, emailTemplate] of emailTemplates.entries()) {
43
- printMessage(`${emailTemplate._id.replace(`${EMAIL_TEMPLATE_TYPE}/`, '')}`, 'data');
44
- }
45
- } else {
46
- const table = createTable(['Id'['brightCyan'], 'Name'['brightCyan'], 'Status'['brightCyan'], 'Locale(s)'['brightCyan'], 'From'['brightCyan'], 'Subject'['brightCyan']]);
47
-
48
- for (const emailTemplate of emailTemplates) {
49
- table.push([// Id
50
- `${emailTemplate._id.replace(`${EMAIL_TEMPLATE_TYPE}/`, '')}`, // Name
51
- `${emailTemplate.displayName ? emailTemplate.displayName : ''}`, // Status
52
- emailTemplate.enabled === false ? 'disabled'['brightRed'] : 'enabled'['brightGreen'], // Locale(s)
53
- `${emailTemplate.defaultLocale}${Object.keys(emailTemplate.subject).length > 1 ? ` (${Object.keys(emailTemplate.subject).filter(locale => locale !== emailTemplate.defaultLocale).join(',')})` : ''}`, // From
54
- `${emailTemplate.from ? emailTemplate.from : ''}`, // Subject
55
- wordwrap(emailTemplate.subject[emailTemplate.defaultLocale], 40)]);
56
- }
57
-
58
- printMessage(table.toString(), 'data');
59
- }
60
-
61
- return emailTemplates;
62
- }
63
- /**
64
- * Export a single email template to file
65
- * @param {String} templateId email template id
66
- * @param {String} file optional filename
67
- */
68
-
69
- export async function exportEmailTemplateToFile(templateId, file) {
70
- let fileName = file;
71
-
72
- if (!fileName) {
73
- fileName = getTypedFilename(templateId, EMAIL_TEMPLATE_FILE_TYPE);
74
- }
75
-
76
- createProgressIndicator(1, `Exporting ${templateId}`);
77
-
78
- try {
79
- const templateData = await getEmailTemplate(templateId);
80
- updateProgressIndicator(`Writing file ${fileName}`);
81
- const fileData = getFileDataTemplate();
82
- fileData.emailTemplate[templateId] = templateData;
83
- saveJsonToFile(fileData, fileName);
84
- stopProgressIndicator(`Exported ${templateId.brightCyan} to ${fileName.brightCyan}.`);
85
- } catch (err) {
86
- stopProgressIndicator(`${err}`);
87
- printMessage(err, 'error');
88
- }
89
- }
90
- /**
91
- * Export all email templates to file
92
- * @param {String} file optional filename
93
- */
94
-
95
- export async function exportEmailTemplatesToFile(file) {
96
- let fileName = file;
97
-
98
- if (!fileName) {
99
- fileName = getTypedFilename(`allEmailTemplates`, EMAIL_TEMPLATE_FILE_TYPE);
100
- }
101
-
102
- try {
103
- const fileData = getFileDataTemplate();
104
- const response = await getEmailTemplates();
105
- const templates = response.result;
106
- createProgressIndicator(response.resultCount, 'Exporting email templates');
107
-
108
- for (const template of templates) {
109
- const templateId = template._id.replace(`${EMAIL_TEMPLATE_TYPE}/`, '');
110
-
111
- updateProgressIndicator(`Exporting ${templateId}`);
112
- fileData.emailTemplate[templateId] = template;
113
- }
114
-
115
- saveJsonToFile(fileData, fileName);
116
- stopProgressIndicator(`${response.resultCount} templates exported to ${fileName}.`);
117
- } catch (err) {
118
- stopProgressIndicator(`${err}`);
119
- printMessage(err, 'error');
120
- }
121
- }
122
8
  /**
123
- * Export all email templates to separate files
9
+ * Get all email templates
10
+ * @returns {Promise} a promise that resolves to an array of email template objects
124
11
  */
125
-
126
- export async function exportEmailTemplatesToFiles() {
127
- try {
128
- const response = await getEmailTemplates();
129
- const templates = response.result;
130
- createProgressIndicator(response.resultCount, 'Exporting email templates');
131
-
132
- for (const template of templates) {
133
- const templateId = template._id.replace(`${EMAIL_TEMPLATE_TYPE}/`, '');
134
-
135
- const fileName = getTypedFilename(templateId, EMAIL_TEMPLATE_FILE_TYPE);
136
- const fileData = getFileDataTemplate();
137
- updateProgressIndicator(`Exporting ${templateId}`);
138
- fileData.emailTemplate[templateId] = template;
139
- saveJsonToFile(fileData, fileName);
140
- }
141
-
142
- stopProgressIndicator(`${response.resultCount} templates exported.`);
143
- } catch (err) {
144
- stopProgressIndicator(`${err}`);
145
- printMessage(err, 'error');
146
- }
12
+ export async function getEmailTemplates() {
13
+ return getConfigEntitiesByType(EMAIL_TEMPLATE_TYPE);
147
14
  }
148
- /**
149
- * Import email template by id from file
150
- * @param {String} templateId email template id
151
- * @param {String} file optional filename
152
- */
153
15
 
154
- export async function importEmailTemplateFromFile(templateId, file) {
155
- // eslint-disable-next-line no-param-reassign
156
- templateId = templateId.replaceAll(`${EMAIL_TEMPLATE_TYPE}/`, '');
157
- fs.readFile(file, 'utf8', async (err, data) => {
158
- if (err) throw err;
159
- const fileData = JSON.parse(data);
160
-
161
- if (validateImport(fileData.meta)) {
162
- createProgressIndicator(1, `Importing ${templateId}`);
163
-
164
- if (fileData.emailTemplate[templateId]) {
165
- try {
166
- await putEmailTemplate(templateId, fileData.emailTemplate[templateId]);
167
- updateProgressIndicator(`Importing ${templateId}`);
168
- stopProgressIndicator(`Imported ${templateId}`);
169
- } catch (putEmailTemplateError) {
170
- stopProgressIndicator(`${putEmailTemplateError}`);
171
- printMessage(putEmailTemplateError, 'error');
172
- }
173
- } else {
174
- stopProgressIndicator(`Email template ${templateId.brightCyan} not found in ${file.brightCyan}!`);
175
- printMessage(`Email template ${templateId.brightCyan} not found in ${file.brightCyan}!`, 'error');
176
- }
177
- } else {
178
- printMessage('Import validation failed...', 'error');
179
- }
180
- });
181
- }
182
16
  /**
183
- * Import all email templates from file
184
- * @param {String} file optional filename
17
+ * Get email template
18
+ * @param {string} templateId id/name of the email template without the type prefix
19
+ * @returns {Promise} a promise that resolves an email template object
185
20
  */
186
-
187
- export async function importEmailTemplatesFromFile(file) {
188
- fs.readFile(file, 'utf8', async (err, data) => {
189
- if (err) throw err;
190
- const fileData = JSON.parse(data);
191
-
192
- if (validateImport(fileData.meta)) {
193
- createProgressIndicator(Object.keys(fileData.emailTemplate).length, `Importing email templates`);
194
-
195
- for (const id in fileData.emailTemplate) {
196
- if ({}.hasOwnProperty.call(fileData.emailTemplate, id)) {
197
- const templateId = id.replace(regexEmailTemplateType, '');
198
-
199
- try {
200
- // eslint-disable-next-line no-await-in-loop
201
- await putEmailTemplate(templateId, fileData.emailTemplate[templateId]);
202
- updateProgressIndicator(`Imported ${templateId}`);
203
- } catch (putEmailTemplateError) {
204
- printMessage(`\nError importing ${templateId}`, 'error');
205
- printMessage(putEmailTemplateError.response.data, 'error');
206
- }
207
- }
208
- }
209
-
210
- stopProgressIndicator(`Done.`);
211
- } else {
212
- printMessage('Import validation failed...', 'error');
213
- }
214
- });
21
+ export async function getEmailTemplate(templateId) {
22
+ return getConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${templateId}`);
215
23
  }
216
- /**
217
- * Import all email templates from separate files
218
- */
219
-
220
- export async function importEmailTemplatesFromFiles() {
221
- const names = fs.readdirSync('.');
222
- const jsonFiles = names.filter(name => name.toLowerCase().endsWith(`${EMAIL_TEMPLATE_FILE_TYPE}.json`));
223
- createProgressIndicator(jsonFiles.length, 'Importing email templates...');
224
- let total = 0;
225
- let totalErrors = 0;
226
-
227
- for (const file of jsonFiles) {
228
- const data = fs.readFileSync(file, 'utf8');
229
- const fileData = JSON.parse(data);
230
-
231
- if (validateImport(fileData.meta)) {
232
- total += Object.keys(fileData.emailTemplate).length;
233
- let errors = 0;
234
-
235
- for (const id in fileData.emailTemplate) {
236
- if ({}.hasOwnProperty.call(fileData.emailTemplate, id)) {
237
- const templateId = id.replace(regexEmailTemplateType, '');
238
24
 
239
- try {
240
- // eslint-disable-next-line no-await-in-loop
241
- await putEmailTemplate(templateId, fileData.emailTemplate[templateId]);
242
- } catch (putEmailTemplateError) {
243
- errors += 1;
244
- printMessage(`\nError importing ${templateId}`, 'error');
245
- printMessage(putEmailTemplateError.response.data, 'error');
246
- }
247
- }
248
- }
249
-
250
- totalErrors += errors;
251
- updateProgressIndicator(`Imported ${file}`);
252
- } else {
253
- printMessage(`Validation of ${file} failed!`, 'error');
254
- }
255
- }
256
-
257
- stopProgressIndicator(`Imported ${total - totalErrors} of ${total} email template(s) from ${jsonFiles.length} file(s).`);
258
- }
259
25
  /**
260
- * Import first email template from file
261
- * @param {String} file optional filename
26
+ * Put email template
27
+ * @param {string} templateId id/name of the email template without the type prefix
28
+ * @param {Object} templateData email template object
29
+ * @returns {Promise} a promise that resolves to an email template object
262
30
  */
263
-
264
- export async function importFirstEmailTemplateFromFile(file) {
265
- fs.readFile(file, 'utf8', async (err, data) => {
266
- if (err) throw err;
267
- const fileData = JSON.parse(data);
268
-
269
- if (validateImport(fileData.meta)) {
270
- createProgressIndicator(1, `Importing first email template`);
271
-
272
- for (const id in fileData.emailTemplate) {
273
- if ({}.hasOwnProperty.call(fileData.emailTemplate, id)) {
274
- try {
275
- await putEmailTemplate(id.replace(regexEmailTemplateType, ''), fileData.emailTemplate[id]);
276
- updateProgressIndicator(`Imported ${id}`);
277
- stopProgressIndicator(`Imported ${id}`);
278
- } catch (putEmailTemplateError) {
279
- stopProgressIndicator(`Error importing email template ${id}`);
280
- printMessage(`\nError importing email template ${id}`, 'error');
281
- printMessage(putEmailTemplateError.response.data, 'error');
282
- }
283
-
284
- break;
285
- }
286
- }
287
- } else {
288
- printMessage('Import validation failed...', 'error');
289
- }
290
- });
31
+ export async function putEmailTemplate(templateId, templateData) {
32
+ return putConfigEntity(`${EMAIL_TEMPLATE_TYPE}/${templateId}`, templateData);
291
33
  }
292
34
  //# sourceMappingURL=EmailTemplateOps.js.map
@@ -4,56 +4,31 @@ import { EmailTemplate, state } from '../index';
4
4
  import * as global from '../storage/StaticStorage';
5
5
  import { mockGetConfigEntitiesByType } from '../test/mocks/ForgeRockApiMockEngine';
6
6
  const mock = new MockAdapter(axios);
7
- state.default.session.setTenant('https://openam-frodo-dev.forgeblocks.com/am');
8
- state.default.session.setRealm('alpha');
9
- state.default.session.setCookieName('cookieName');
10
- state.default.session.setCookieValue('cookieValue');
11
- state.default.session.setDeploymentType(global.CLOUD_DEPLOYMENT_TYPE_KEY);
12
- describe('EmailTemplateOps - exportEmailTemplateToFile()', () => {
13
- test('exportEmailTemplateToFile() 0: Method is implemented', async () => {
14
- expect(EmailTemplate.exportEmailTemplateToFile).toBeDefined();
7
+ state.setHost('https://openam-frodo-dev.forgeblocks.com/am');
8
+ state.setRealm('alpha');
9
+ state.setCookieName('cookieName');
10
+ state.setCookieValue('cookieValue');
11
+ state.setDeploymentType(global.CLOUD_DEPLOYMENT_TYPE_KEY);
12
+ describe('EmailTemplateOps - getEmailTemplate()', () => {
13
+ test('getEmailTemplate() 0: Method is implemented', async () => {
14
+ expect(EmailTemplate.getEmailTemplate).toBeDefined();
15
15
  });
16
16
  });
17
- describe('EmailTemplateOps - exportEmailTemplatesToFile()', () => {
18
- test('exportEmailTemplatesToFile() 0: Method is implemented', async () => {
19
- expect(EmailTemplate.exportEmailTemplatesToFile).toBeDefined();
17
+ describe('EmailTemplateOps - getEmailTemplates()', () => {
18
+ test('getEmailTemplates() 0: Method is implemented', async () => {
19
+ expect(EmailTemplate.getEmailTemplates).toBeDefined();
20
20
  });
21
- });
22
- describe('EmailTemplateOps - exportEmailTemplatesToFiles()', () => {
23
- test('exportEmailTemplatesToFiles() 0: Method is implemented', async () => {
24
- expect(EmailTemplate.exportEmailTemplatesToFiles).toBeDefined();
25
- });
26
- });
27
- describe('EmailTemplateOps - importEmailTemplateFromFile()', () => {
28
- test('importEmailTemplateFromFile() 0: Method is implemented', async () => {
29
- expect(EmailTemplate.importEmailTemplateFromFile).toBeDefined();
30
- });
31
- });
32
- describe('EmailTemplateOps - importEmailTemplatesFromFile()', () => {
33
- test('importEmailTemplatesFromFile() 0: Method is implemented', async () => {
34
- expect(EmailTemplate.importEmailTemplatesFromFile).toBeDefined();
35
- });
36
- });
37
- describe('EmailTemplateOps - importEmailTemplatesFromFiles()', () => {
38
- test('importEmailTemplatesFromFiles() 0: Method is implemented', async () => {
39
- expect(EmailTemplate.importEmailTemplatesFromFiles).toBeDefined();
40
- });
41
- });
42
- describe('EmailTemplateOps - importFirstEmailTemplateFromFile()', () => {
43
- test('importFirstEmailTemplateFromFile() 0: Method is implemented', async () => {
44
- expect(EmailTemplate.importFirstEmailTemplateFromFile).toBeDefined();
45
- });
46
- });
47
- describe('EmailTemplateOps - listEmailTemplates()', () => {
48
- test('listEmailTemplates() 0: Method is implemented', async () => {
49
- expect(EmailTemplate.listEmailTemplates).toBeDefined();
50
- });
51
- test('listEmailTemplates() 1: List email templates', async () => {
21
+ test('getEmailTemplates() 1: Get email templates', async () => {
52
22
  mockGetConfigEntitiesByType(mock);
53
23
  expect.assertions(2);
54
- const emailTemplates = await EmailTemplate.listEmailTemplates();
24
+ const emailTemplates = await EmailTemplate.getEmailTemplates();
55
25
  expect(emailTemplates).toBeTruthy();
56
- expect(emailTemplates.length).toBe(17);
26
+ expect(emailTemplates.result.length).toBe(17);
27
+ });
28
+ });
29
+ describe('EmailTemplateOps - putEmailTemplate()', () => {
30
+ test('putEmailTemplate() 0: Method is implemented', async () => {
31
+ expect(EmailTemplate.putEmailTemplate).toBeDefined();
57
32
  });
58
33
  });
59
34
  //# sourceMappingURL=EmailTemplateOps.test.js.map