@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
@@ -12,21 +12,13 @@ exports.getFullServices = getFullServices;
12
12
  exports.getListOfServices = getListOfServices;
13
13
  exports.importService = importService;
14
14
  exports.importServices = importServices;
15
-
16
15
  var _ServiceApi = require("../api/ServiceApi");
17
-
18
16
  var _Console = require("./utils/Console");
19
-
20
17
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
-
22
18
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
-
24
19
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
-
26
20
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
27
-
28
21
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
29
-
30
22
  /**
31
23
  * Create an empty service export template
32
24
  * @returns {SingleTreeExportInterface} an empty service export template
@@ -37,30 +29,29 @@ function createServiceExportTemplate() {
37
29
  service: {}
38
30
  };
39
31
  }
32
+
40
33
  /**
41
34
  * Get list of services
35
+ * @param {boolean} globalConfig true if the list of global services is requested, false otherwise. Default: false.
42
36
  */
43
-
44
-
45
37
  function getListOfServices() {
46
38
  return _getListOfServices2.apply(this, arguments);
47
39
  }
48
40
  /**
49
41
  * Get all services including their descendents.
42
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
50
43
  * @returns Promise resolving to an array of services with their descendants
51
44
  */
52
-
53
-
54
45
  function _getListOfServices2() {
55
46
  _getListOfServices2 = _asyncToGenerator(function* () {
47
+ var globalConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
56
48
  (0, _Console.debugMessage)("ServiceOps.getListOfServices: start");
57
- var services = (yield (0, _ServiceApi.getListOfServices)()).result;
49
+ var services = (yield (0, _ServiceApi.getListOfServices)(globalConfig)).result;
58
50
  (0, _Console.debugMessage)("ServiceOps.getListOfServices: end");
59
51
  return services;
60
52
  });
61
53
  return _getListOfServices2.apply(this, arguments);
62
54
  }
63
-
64
55
  function getFullServices() {
65
56
  return _getFullServices.apply(this, arguments);
66
57
  }
@@ -68,33 +59,30 @@ function getFullServices() {
68
59
  * Saves a service using the provide id and data, including descendents
69
60
  * @param {string} serviceId the service id / name
70
61
  * @param {string} fullServiceData service object including descendants
62
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
71
63
  * @returns promise resolving to a service object
72
64
  */
73
-
74
-
75
65
  function _getFullServices() {
76
66
  _getFullServices = _asyncToGenerator(function* () {
77
- (0, _Console.debugMessage)("ServiceOps.getFullServices: start");
78
- var serviceList = (yield (0, _ServiceApi.getListOfServices)()).result;
67
+ var globalConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
68
+ (0, _Console.debugMessage)("ServiceOps.getFullServices: start, globalConfig=".concat(globalConfig));
69
+ var serviceList = (yield (0, _ServiceApi.getListOfServices)(globalConfig)).result;
79
70
  var fullServiceData = yield Promise.all(serviceList.map( /*#__PURE__*/function () {
80
71
  var _ref = _asyncToGenerator(function* (listItem) {
81
72
  try {
82
- var [service, nextDescendents] = yield Promise.all([(0, _ServiceApi.getService)(listItem._id), (0, _ServiceApi.getServiceDescendents)(listItem._id)]);
73
+ var [service, nextDescendents] = yield Promise.all([(0, _ServiceApi.getService)(listItem._id, globalConfig), (0, _ServiceApi.getServiceDescendents)(listItem._id, globalConfig)]);
83
74
  return _objectSpread(_objectSpread({}, service), {}, {
84
75
  nextDescendents
85
76
  });
86
77
  } catch (error) {
87
78
  var _error$response, _error$response2, _error$response2$data;
88
-
89
79
  if (!(((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 403 && ((_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.message) === 'This operation is not available in ForgeRock Identity Cloud.')) {
90
80
  var _error$response3, _error$response3$data;
91
-
92
81
  var message = (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : (_error$response3$data = _error$response3.data) === null || _error$response3$data === void 0 ? void 0 : _error$response3$data.message;
93
82
  (0, _Console.printMessage)("Unable to retrieve data for ".concat(listItem._id, " with error: ").concat(message), 'error');
94
83
  }
95
84
  }
96
85
  });
97
-
98
86
  return function (_x13) {
99
87
  return _ref.apply(this, arguments);
100
88
  };
@@ -104,7 +92,6 @@ function _getFullServices() {
104
92
  });
105
93
  return _getFullServices.apply(this, arguments);
106
94
  }
107
-
108
95
  function putFullService(_x, _x2, _x3) {
109
96
  return _putFullService.apply(this, arguments);
110
97
  }
@@ -112,63 +99,56 @@ function putFullService(_x, _x2, _x3) {
112
99
  * Saves multiple services using the serviceEntries which contain both id and data with descendants
113
100
  * @param {[string, FullService][]} serviceEntries The services to add
114
101
  * @param {boolean} clean Indicates whether to remove possible existing services first
102
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
115
103
  * @returns {Promise<AmService[]>} promise resolving to an array of service objects
116
104
  */
117
-
118
-
119
105
  function _putFullService() {
120
106
  _putFullService = _asyncToGenerator(function* (serviceId, fullServiceData, clean) {
121
- (0, _Console.debugMessage)("ServiceOps.putFullService: start, serviceId=".concat(serviceId));
107
+ var globalConfig = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
108
+ (0, _Console.debugMessage)("ServiceOps.putFullService: start, serviceId=".concat(serviceId, ", globalConfig=").concat(globalConfig));
122
109
  var nextDescendents = fullServiceData.nextDescendents;
123
110
  delete fullServiceData.nextDescendents;
124
111
  delete fullServiceData._rev;
125
112
  delete fullServiceData.enabled;
126
-
127
113
  if (clean) {
128
114
  try {
129
115
  (0, _Console.debugMessage)("ServiceOps.putFullService: clean");
130
- yield deleteFullService(serviceId);
116
+ yield deleteFullService(serviceId, globalConfig);
131
117
  } catch (error) {
132
118
  var _error$response4, _error$response5, _error$response5$data;
133
-
134
119
  if (!(((_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status) === 404 && ((_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : (_error$response5$data = _error$response5.data) === null || _error$response5$data === void 0 ? void 0 : _error$response5$data.message) === 'Not Found')) {
135
120
  var _error$response6, _error$response6$data;
136
-
137
121
  var message = (_error$response6 = error.response) === null || _error$response6 === void 0 ? void 0 : (_error$response6$data = _error$response6.data) === null || _error$response6$data === void 0 ? void 0 : _error$response6$data.message;
138
122
  (0, _Console.printMessage)("Error deleting service '".concat(serviceId, "' before import: ").concat(message), 'error');
139
123
  }
140
124
  }
141
- } // create service first
142
-
125
+ }
143
126
 
144
- var result = yield (0, _ServiceApi.putService)(serviceId, fullServiceData); // return fast if no next descendents supplied
127
+ // create service first
128
+ var result = yield (0, _ServiceApi.putService)(serviceId, fullServiceData, globalConfig);
145
129
 
130
+ // return fast if no next descendents supplied
146
131
  if (nextDescendents.length === 0) {
147
132
  (0, _Console.debugMessage)("ServiceOps.putFullService: end (w/o descendents)");
148
133
  return result;
149
- } // now create next descendents
150
-
134
+ }
151
135
 
136
+ // now create next descendents
152
137
  yield Promise.all(nextDescendents.map( /*#__PURE__*/function () {
153
138
  var _ref2 = _asyncToGenerator(function* (descendent) {
154
139
  var type = descendent._type._id;
155
140
  var descendentId = descendent._id;
156
141
  (0, _Console.debugMessage)("ServiceOps.putFullService: descendentId=".concat(descendentId));
157
142
  var result = undefined;
158
-
159
143
  try {
160
- result = yield (0, _ServiceApi.putServiceNextDescendent)(serviceId, type, descendentId, descendent);
144
+ result = yield (0, _ServiceApi.putServiceNextDescendent)(serviceId, type, descendentId, descendent, globalConfig);
161
145
  } catch (error) {
162
146
  var _error$response7, _error$response7$data;
163
-
164
147
  var _message = (_error$response7 = error.response) === null || _error$response7 === void 0 ? void 0 : (_error$response7$data = _error$response7.data) === null || _error$response7$data === void 0 ? void 0 : _error$response7$data.message;
165
-
166
148
  (0, _Console.printMessage)("Put descendent '".concat(descendentId, "' of service '").concat(serviceId, "': ").concat(_message), 'error');
167
149
  }
168
-
169
150
  return result;
170
151
  });
171
-
172
152
  return function (_x14) {
173
153
  return _ref2.apply(this, arguments);
174
154
  };
@@ -177,220 +157,194 @@ function _putFullService() {
177
157
  });
178
158
  return _putFullService.apply(this, arguments);
179
159
  }
180
-
181
160
  function putFullServices(_x4, _x5) {
182
161
  return _putFullServices.apply(this, arguments);
183
162
  }
184
163
  /**
185
164
  * Deletes the specified service
186
165
  * @param {string} serviceId The service to delete
166
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
187
167
  */
188
-
189
-
190
168
  function _putFullServices() {
191
169
  _putFullServices = _asyncToGenerator(function* (serviceEntries, clean) {
192
- (0, _Console.debugMessage)("ServiceOps.putFullServices: start");
170
+ var globalConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
171
+ (0, _Console.debugMessage)("ServiceOps.putFullServices: start, globalConfig=".concat(globalConfig));
193
172
  var results = [];
194
-
195
173
  for (var [id, data] of serviceEntries) {
196
174
  try {
197
- var result = yield putFullService(id, data, clean);
175
+ var result = yield putFullService(id, data, clean, globalConfig);
198
176
  results.push(result);
199
177
  (0, _Console.printMessage)("Imported: ".concat(id), 'info');
200
178
  } catch (error) {
201
179
  var _error$response8, _error$response8$data, _error$response9, _error$response9$data;
202
-
203
180
  var message = (_error$response8 = error.response) === null || _error$response8 === void 0 ? void 0 : (_error$response8$data = _error$response8.data) === null || _error$response8$data === void 0 ? void 0 : _error$response8$data.message;
204
181
  var detail = (_error$response9 = error.response) === null || _error$response9 === void 0 ? void 0 : (_error$response9$data = _error$response9.data) === null || _error$response9$data === void 0 ? void 0 : _error$response9$data.detail;
205
182
  (0, _Console.printMessage)("Import service '".concat(id, "': ").concat(message), 'error');
206
-
207
183
  if (detail) {
208
184
  (0, _Console.printMessage)("Details: ".concat(JSON.stringify(detail)), 'error');
209
185
  }
210
186
  }
211
187
  }
212
-
213
188
  (0, _Console.debugMessage)("ServiceOps.putFullServices: end");
214
189
  return results;
215
190
  });
216
191
  return _putFullServices.apply(this, arguments);
217
192
  }
218
-
219
193
  function deleteFullService(_x6) {
220
194
  return _deleteFullService.apply(this, arguments);
221
195
  }
222
196
  /**
223
197
  * Deletes all services
198
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
224
199
  */
225
-
226
-
227
200
  function _deleteFullService() {
228
201
  _deleteFullService = _asyncToGenerator(function* (serviceId) {
229
- var serviceNextDescendentData = yield (0, _ServiceApi.getServiceDescendents)(serviceId);
230
- yield Promise.all(serviceNextDescendentData.map(nextDescendent => (0, _ServiceApi.deleteServiceNextDescendent)(serviceId, nextDescendent._type._id, nextDescendent._id)));
231
- yield (0, _ServiceApi.deleteService)(serviceId);
202
+ var globalConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
203
+ (0, _Console.debugMessage)("ServiceOps.deleteFullService: start, globalConfig=".concat(globalConfig));
204
+ var serviceNextDescendentData = yield (0, _ServiceApi.getServiceDescendents)(serviceId, globalConfig);
205
+ yield Promise.all(serviceNextDescendentData.map(nextDescendent => (0, _ServiceApi.deleteServiceNextDescendent)(serviceId, nextDescendent._type._id, nextDescendent._id, globalConfig)));
206
+ yield (0, _ServiceApi.deleteService)(serviceId, globalConfig);
207
+ (0, _Console.debugMessage)("ServiceOps.deleteFullService: end");
232
208
  });
233
209
  return _deleteFullService.apply(this, arguments);
234
210
  }
235
-
236
211
  function deleteFullServices() {
237
212
  return _deleteFullServices.apply(this, arguments);
238
213
  }
239
214
  /**
240
215
  * Export service. The response can be saved to file as is.
241
216
  * @param serviceId service id/name
217
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
242
218
  * @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.
243
219
  */
244
-
245
-
246
220
  function _deleteFullServices() {
247
221
  _deleteFullServices = _asyncToGenerator(function* () {
248
- (0, _Console.debugMessage)("ServiceOps.deleteFullServices: start");
249
-
222
+ var globalConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
223
+ (0, _Console.debugMessage)("ServiceOps.deleteFullServices: start, globalConfig=".concat(globalConfig));
250
224
  try {
251
- var serviceList = (yield (0, _ServiceApi.getListOfServices)()).result;
225
+ var serviceList = (yield (0, _ServiceApi.getListOfServices)(globalConfig)).result;
252
226
  yield Promise.all(serviceList.map( /*#__PURE__*/function () {
253
227
  var _ref3 = _asyncToGenerator(function* (serviceListItem) {
254
228
  try {
255
- yield deleteFullService(serviceListItem._id);
229
+ yield deleteFullService(serviceListItem._id, globalConfig);
256
230
  } catch (error) {
257
231
  var _error$response10, _error$response11, _error$response11$dat;
258
-
259
232
  if (!(((_error$response10 = error.response) === null || _error$response10 === void 0 ? void 0 : _error$response10.status) === 403 && ((_error$response11 = error.response) === null || _error$response11 === void 0 ? void 0 : (_error$response11$dat = _error$response11.data) === null || _error$response11$dat === void 0 ? void 0 : _error$response11$dat.message) === 'This operation is not available in ForgeRock Identity Cloud.')) {
260
233
  var _error$response12, _error$response12$dat;
261
-
262
234
  var message = (_error$response12 = error.response) === null || _error$response12 === void 0 ? void 0 : (_error$response12$dat = _error$response12.data) === null || _error$response12$dat === void 0 ? void 0 : _error$response12$dat.message;
263
235
  (0, _Console.printMessage)("Delete service '".concat(serviceListItem._id, "': ").concat(message), 'error');
264
236
  }
265
237
  }
266
238
  });
267
-
268
239
  return function (_x15) {
269
240
  return _ref3.apply(this, arguments);
270
241
  };
271
242
  }()));
272
243
  } catch (error) {
273
244
  var _error$response13, _error$response13$dat;
274
-
275
245
  var message = (_error$response13 = error.response) === null || _error$response13 === void 0 ? void 0 : (_error$response13$dat = _error$response13.data) === null || _error$response13$dat === void 0 ? void 0 : _error$response13$dat.message;
276
246
  (0, _Console.printMessage)("Delete services: ".concat(message), 'error');
277
247
  }
278
-
279
248
  (0, _Console.debugMessage)("ServiceOps.deleteFullServices: end");
280
249
  });
281
250
  return _deleteFullServices.apply(this, arguments);
282
251
  }
283
-
284
252
  function exportService(_x7) {
285
253
  return _exportService.apply(this, arguments);
286
254
  }
287
255
  /**
288
256
  * Export all services
289
- * @param {string} file Options filename for the file, otherwise all{realm}Services.service.json will be the name
257
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
290
258
  */
291
-
292
-
293
259
  function _exportService() {
294
260
  _exportService = _asyncToGenerator(function* (serviceId) {
295
- (0, _Console.debugMessage)("ServiceOps.exportService: start");
261
+ var globalConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
262
+ (0, _Console.debugMessage)("ServiceOps.exportService: start, globalConfig=".concat(globalConfig));
296
263
  var exportData = createServiceExportTemplate();
297
-
298
264
  try {
299
- var service = yield (0, _ServiceApi.getService)(serviceId);
300
- service.nextDescendents = yield (0, _ServiceApi.getServiceDescendents)(serviceId);
265
+ var service = yield (0, _ServiceApi.getService)(serviceId, globalConfig);
266
+ service.nextDescendents = yield (0, _ServiceApi.getServiceDescendents)(serviceId, globalConfig);
301
267
  exportData.service[serviceId] = service;
302
268
  } catch (error) {
303
269
  var _error$response14, _error$response14$dat;
304
-
305
270
  var message = (_error$response14 = error.response) === null || _error$response14 === void 0 ? void 0 : (_error$response14$dat = _error$response14.data) === null || _error$response14$dat === void 0 ? void 0 : _error$response14$dat.message;
306
271
  (0, _Console.printMessage)("Export service '".concat(serviceId, "': ").concat(message), 'error');
307
272
  }
308
-
309
273
  (0, _Console.debugMessage)("ServiceOps.exportService: end");
310
274
  return exportData;
311
275
  });
312
276
  return _exportService.apply(this, arguments);
313
277
  }
314
-
315
278
  function exportServices() {
316
279
  return _exportServices.apply(this, arguments);
317
280
  }
318
281
  /**
319
282
  * Imports a single service using a reference to the service and a file to read the data from. Optionally clean (remove) an existing service first
320
283
  * @param {string} serviceId The service id/name to add
284
+ * @param {ServiceExportInterface} importData The service configuration export data to import
321
285
  * @param {boolean} clean Indicates whether to remove a possible existing service with the same id first.
322
- * @param {string} file Reference to the filename with the data for the service
286
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
323
287
  * @returns Promise resolving when the service has been imported
324
288
  */
325
-
326
-
327
289
  function _exportServices() {
328
290
  _exportServices = _asyncToGenerator(function* () {
329
- (0, _Console.debugMessage)("ServiceOps.exportServices: start");
291
+ var globalConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
292
+ (0, _Console.debugMessage)("ServiceOps.exportServices: start, globalConfig=".concat(globalConfig));
330
293
  var exportData = createServiceExportTemplate();
331
-
332
294
  try {
333
- var services = yield getFullServices();
334
-
295
+ var services = yield getFullServices(globalConfig);
335
296
  for (var service of services) {
336
297
  exportData.service[service._type._id] = service;
337
298
  }
338
299
  } catch (error) {
339
300
  var _error$response15, _error$response15$dat;
340
-
341
301
  var message = (_error$response15 = error.response) === null || _error$response15 === void 0 ? void 0 : (_error$response15$dat = _error$response15.data) === null || _error$response15$dat === void 0 ? void 0 : _error$response15$dat.message;
342
302
  (0, _Console.printMessage)("Export servics: ".concat(message), 'error');
343
303
  }
344
-
345
304
  (0, _Console.debugMessage)("ServiceOps.exportServices: end");
346
305
  return exportData;
347
306
  });
348
307
  return _exportServices.apply(this, arguments);
349
308
  }
350
-
351
309
  function importService(_x8, _x9, _x10) {
352
310
  return _importService.apply(this, arguments);
353
311
  }
354
312
  /**
355
313
  * Imports multiple services from the same file. Optionally clean (remove) existing services first
314
+ * @param {ServiceExportInterface} importData The service configuration export data to import
356
315
  * @param {boolean} clean Indicates whether to remove possible existing services first
316
+ * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.
357
317
  */
358
-
359
-
360
318
  function _importService() {
361
319
  _importService = _asyncToGenerator(function* (serviceId, importData, clean) {
362
- (0, _Console.debugMessage)("ServiceOps.importService: start");
320
+ var globalConfig = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
321
+ (0, _Console.debugMessage)("ServiceOps.importService: start, globalConfig=".concat(globalConfig));
363
322
  var serviceData = importData.service[serviceId];
364
- var result = yield putFullService(serviceId, serviceData, clean);
323
+ var result = yield putFullService(serviceId, serviceData, clean, globalConfig);
365
324
  (0, _Console.debugMessage)("ServiceOps.importService: end");
366
325
  return result;
367
326
  });
368
327
  return _importService.apply(this, arguments);
369
328
  }
370
-
371
329
  function importServices(_x11, _x12) {
372
330
  return _importServices.apply(this, arguments);
373
331
  }
374
-
375
332
  function _importServices() {
376
333
  _importServices = _asyncToGenerator(function* (importData, clean) {
377
- (0, _Console.debugMessage)("ServiceOps.importServices: start");
378
-
334
+ var globalConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
335
+ (0, _Console.debugMessage)("ServiceOps.importServices: start, globalConfig=".concat(globalConfig));
379
336
  try {
380
- var result = yield putFullServices(Object.entries(importData.service), clean);
337
+ var result = yield putFullServices(Object.entries(importData.service), clean, globalConfig);
381
338
  (0, _Console.debugMessage)("ServiceOps.importServices: end");
382
339
  return result;
383
340
  } catch (error) {
384
341
  var _error$response16, _error$response16$dat, _error$response17, _error$response17$dat;
385
-
386
342
  var message = (_error$response16 = error.response) === null || _error$response16 === void 0 ? void 0 : (_error$response16$dat = _error$response16.data) === null || _error$response16$dat === void 0 ? void 0 : _error$response16$dat.message;
387
343
  var detail = (_error$response17 = error.response) === null || _error$response17 === void 0 ? void 0 : (_error$response17$dat = _error$response17.data) === null || _error$response17$dat === void 0 ? void 0 : _error$response17$dat.detail;
388
344
  (0, _Console.printMessage)("Unable to import services: error: ".concat(message), 'error');
389
-
390
345
  if (detail) {
391
346
  (0, _Console.printMessage)("Details: ".concat(JSON.stringify(detail)), 'error');
392
347
  }
393
-
394
348
  throw error;
395
349
  }
396
350
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceOps.js","names":["createServiceExportTemplate","meta","service","getListOfServices","debugMessage","services","_getListOfServices","result","getFullServices","serviceList","fullServiceData","Promise","all","map","listItem","nextDescendents","getService","_id","getServiceDescendents","error","response","status","data","message","printMessage","filter","putFullService","serviceId","clean","_rev","enabled","deleteFullService","putService","length","descendent","type","_type","descendentId","undefined","putServiceNextDescendent","putFullServices","serviceEntries","results","id","push","detail","JSON","stringify","serviceNextDescendentData","nextDescendent","deleteServiceNextDescendent","deleteService","deleteFullServices","serviceListItem","exportService","exportData","exportServices","importService","importData","serviceData","importServices","Object","entries"],"sources":["ops/ServiceOps.ts"],"sourcesContent":["import { AmServiceSkeleton } from '../api/ApiTypes';\nimport {\n deleteService,\n deleteServiceNextDescendent,\n getService,\n getListOfServices as _getListOfServices,\n getServiceDescendents,\n putService,\n putServiceNextDescendent,\n ServiceNextDescendent,\n} from '../api/ServiceApi';\nimport { ServiceExportInterface } from './OpsTypes';\nimport { debugMessage, printMessage } from './utils/Console';\n\ninterface FullService extends AmServiceSkeleton {\n nextDescendents?: ServiceNextDescendent[];\n}\n\n/**\n * Create an empty service export template\n * @returns {SingleTreeExportInterface} an empty service export template\n */\nexport function createServiceExportTemplate(): ServiceExportInterface {\n return {\n meta: {},\n service: {},\n } as ServiceExportInterface;\n}\n\n/**\n * Get list of services\n */\nexport async function getListOfServices() {\n debugMessage(`ServiceOps.getListOfServices: start`);\n const services = (await _getListOfServices()).result;\n debugMessage(`ServiceOps.getListOfServices: end`);\n return services;\n}\n\n/**\n * Get all services including their descendents.\n * @returns Promise resolving to an array of services with their descendants\n */\nexport async function getFullServices(): Promise<FullService[]> {\n debugMessage(`ServiceOps.getFullServices: start`);\n const serviceList = (await _getListOfServices()).result;\n\n const fullServiceData = await Promise.all(\n serviceList.map(async (listItem) => {\n try {\n const [service, nextDescendents] = await Promise.all([\n getService(listItem._id),\n getServiceDescendents(listItem._id),\n ]);\n\n return {\n ...service,\n nextDescendents,\n };\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Unable to retrieve data for ${listItem._id} with error: ${message}`,\n 'error'\n );\n }\n }\n })\n );\n\n debugMessage(`ServiceOps.getFullServices: end`);\n return fullServiceData.filter((data) => !!data); // make sure to filter out any undefined objects\n}\n\n/**\n * Saves a service using the provide id and data, including descendents\n * @param {string} serviceId the service id / name\n * @param {string} fullServiceData service object including descendants\n * @returns promise resolving to a service object\n */\nasync function putFullService(\n serviceId: string,\n fullServiceData: FullService,\n clean: boolean\n): Promise<AmServiceSkeleton> {\n debugMessage(`ServiceOps.putFullService: start, serviceId=${serviceId}`);\n const nextDescendents = fullServiceData.nextDescendents;\n\n delete fullServiceData.nextDescendents;\n delete fullServiceData._rev;\n delete fullServiceData.enabled;\n\n if (clean) {\n try {\n debugMessage(`ServiceOps.putFullService: clean`);\n await deleteFullService(serviceId);\n } catch (error) {\n if (\n !(\n error.response?.status === 404 &&\n error.response?.data?.message === 'Not Found'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Error deleting service '${serviceId}' before import: ${message}`,\n 'error'\n );\n }\n }\n }\n\n // create service first\n const result = await putService(serviceId, fullServiceData);\n\n // return fast if no next descendents supplied\n if (nextDescendents.length === 0) {\n debugMessage(`ServiceOps.putFullService: end (w/o descendents)`);\n return result;\n }\n\n // now create next descendents\n await Promise.all(\n nextDescendents.map(async (descendent) => {\n const type = descendent._type._id;\n const descendentId = descendent._id;\n debugMessage(`ServiceOps.putFullService: descendentId=${descendentId}`);\n let result = undefined;\n try {\n result = await putServiceNextDescendent(\n serviceId,\n type,\n descendentId,\n descendent\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(\n `Put descendent '${descendentId}' of service '${serviceId}': ${message}`,\n 'error'\n );\n }\n return result;\n })\n );\n debugMessage(`ServiceOps.putFullService: end (w/ descendents)`);\n}\n\n/**\n * Saves multiple services using the serviceEntries which contain both id and data with descendants\n * @param {[string, FullService][]} serviceEntries The services to add\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @returns {Promise<AmService[]>} promise resolving to an array of service objects\n */\nasync function putFullServices(\n serviceEntries: [string, FullService][],\n clean: boolean\n): Promise<AmServiceSkeleton[]> {\n debugMessage(`ServiceOps.putFullServices: start`);\n const results: AmServiceSkeleton[] = [];\n for (const [id, data] of serviceEntries) {\n try {\n const result = await putFullService(id, data, clean);\n results.push(result);\n printMessage(`Imported: ${id}`, 'info');\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Import service '${id}': ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n }\n }\n debugMessage(`ServiceOps.putFullServices: end`);\n return results;\n}\n\n/**\n * Deletes the specified service\n * @param {string} serviceId The service to delete\n */\nexport async function deleteFullService(serviceId: string) {\n const serviceNextDescendentData = await getServiceDescendents(serviceId);\n\n await Promise.all(\n serviceNextDescendentData.map((nextDescendent) =>\n deleteServiceNextDescendent(\n serviceId,\n nextDescendent._type._id,\n nextDescendent._id\n )\n )\n );\n\n await deleteService(serviceId);\n}\n\n/**\n * Deletes all services\n */\nexport async function deleteFullServices() {\n debugMessage(`ServiceOps.deleteFullServices: start`);\n try {\n const serviceList = (await _getListOfServices()).result;\n\n await Promise.all(\n serviceList.map(async (serviceListItem) => {\n try {\n await deleteFullService(serviceListItem._id);\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Delete service '${serviceListItem._id}': ${message}`,\n 'error'\n );\n }\n }\n })\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete services: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.deleteFullServices: end`);\n}\n\n/**\n * Export service. The response can be saved to file as is.\n * @param serviceId service id/name\n * @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.\n */\nexport async function exportService(\n serviceId: string\n): Promise<ServiceExportInterface> {\n debugMessage(`ServiceOps.exportService: start`);\n const exportData = createServiceExportTemplate();\n try {\n const service = await getService(serviceId);\n service.nextDescendents = await getServiceDescendents(serviceId);\n exportData.service[serviceId] = service;\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export service '${serviceId}': ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportService: end`);\n return exportData;\n}\n\n/**\n * Export all services\n * @param {string} file Options filename for the file, otherwise all{realm}Services.service.json will be the name\n */\nexport async function exportServices(): Promise<ServiceExportInterface> {\n debugMessage(`ServiceOps.exportServices: start`);\n const exportData = createServiceExportTemplate();\n try {\n const services = await getFullServices();\n for (const service of services) {\n exportData.service[service._type._id] = service;\n }\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export servics: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportServices: end`);\n return exportData;\n}\n\n/**\n * Imports a single service using a reference to the service and a file to read the data from. Optionally clean (remove) an existing service first\n * @param {string} serviceId The service id/name to add\n * @param {boolean} clean Indicates whether to remove a possible existing service with the same id first.\n * @param {string} file Reference to the filename with the data for the service\n * @returns Promise resolving when the service has been imported\n */\nexport async function importService(\n serviceId: string,\n importData: ServiceExportInterface,\n clean: boolean\n): Promise<AmServiceSkeleton> {\n debugMessage(`ServiceOps.importService: start`);\n const serviceData = importData.service[serviceId];\n const result = await putFullService(serviceId, serviceData, clean);\n debugMessage(`ServiceOps.importService: end`);\n return result;\n}\n\n/**\n * Imports multiple services from the same file. Optionally clean (remove) existing services first\n * @param {boolean} clean Indicates whether to remove possible existing services first\n */\nexport async function importServices(\n importData: ServiceExportInterface,\n clean: boolean\n) {\n debugMessage(`ServiceOps.importServices: start`);\n try {\n const result = await putFullServices(\n Object.entries(importData.service),\n clean\n );\n debugMessage(`ServiceOps.importServices: end`);\n return result;\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Unable to import services: error: ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n throw error;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ServiceOps.js","names":["createServiceExportTemplate","meta","service","getListOfServices","globalConfig","debugMessage","services","_getListOfServices","result","getFullServices","serviceList","fullServiceData","Promise","all","map","listItem","nextDescendents","getService","_id","getServiceDescendents","error","response","status","data","message","printMessage","filter","putFullService","serviceId","clean","_rev","enabled","deleteFullService","putService","length","descendent","type","_type","descendentId","undefined","putServiceNextDescendent","putFullServices","serviceEntries","results","id","push","detail","JSON","stringify","serviceNextDescendentData","nextDescendent","deleteServiceNextDescendent","deleteService","deleteFullServices","serviceListItem","exportService","exportData","exportServices","importService","importData","serviceData","importServices","Object","entries"],"sources":["ops/ServiceOps.ts"],"sourcesContent":["import { AmServiceSkeleton } from '../api/ApiTypes';\nimport {\n deleteService,\n deleteServiceNextDescendent,\n getService,\n getListOfServices as _getListOfServices,\n getServiceDescendents,\n putService,\n putServiceNextDescendent,\n ServiceNextDescendent,\n} from '../api/ServiceApi';\nimport { ServiceExportInterface } from './OpsTypes';\nimport { debugMessage, printMessage } from './utils/Console';\n\ninterface FullService extends AmServiceSkeleton {\n nextDescendents?: ServiceNextDescendent[];\n}\n\n/**\n * Create an empty service export template\n * @returns {SingleTreeExportInterface} an empty service export template\n */\nexport function createServiceExportTemplate(): ServiceExportInterface {\n return {\n meta: {},\n service: {},\n } as ServiceExportInterface;\n}\n\n/**\n * Get list of services\n * @param {boolean} globalConfig true if the list of global services is requested, false otherwise. Default: false.\n */\nexport async function getListOfServices(globalConfig = false) {\n debugMessage(`ServiceOps.getListOfServices: start`);\n const services = (await _getListOfServices(globalConfig)).result;\n debugMessage(`ServiceOps.getListOfServices: end`);\n return services;\n}\n\n/**\n * Get all services including their descendents.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving to an array of services with their descendants\n */\nexport async function getFullServices(\n globalConfig = false\n): Promise<FullService[]> {\n debugMessage(\n `ServiceOps.getFullServices: start, globalConfig=${globalConfig}`\n );\n const serviceList = (await _getListOfServices(globalConfig)).result;\n\n const fullServiceData = await Promise.all(\n serviceList.map(async (listItem) => {\n try {\n const [service, nextDescendents] = await Promise.all([\n getService(listItem._id, globalConfig),\n getServiceDescendents(listItem._id, globalConfig),\n ]);\n\n return {\n ...service,\n nextDescendents,\n };\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Unable to retrieve data for ${listItem._id} with error: ${message}`,\n 'error'\n );\n }\n }\n })\n );\n\n debugMessage(`ServiceOps.getFullServices: end`);\n return fullServiceData.filter((data) => !!data); // make sure to filter out any undefined objects\n}\n\n/**\n * Saves a service using the provide id and data, including descendents\n * @param {string} serviceId the service id / name\n * @param {string} fullServiceData service object including descendants\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns promise resolving to a service object\n */\nasync function putFullService(\n serviceId: string,\n fullServiceData: FullService,\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n debugMessage(\n `ServiceOps.putFullService: start, serviceId=${serviceId}, globalConfig=${globalConfig}`\n );\n const nextDescendents = fullServiceData.nextDescendents;\n\n delete fullServiceData.nextDescendents;\n delete fullServiceData._rev;\n delete fullServiceData.enabled;\n\n if (clean) {\n try {\n debugMessage(`ServiceOps.putFullService: clean`);\n await deleteFullService(serviceId, globalConfig);\n } catch (error) {\n if (\n !(\n error.response?.status === 404 &&\n error.response?.data?.message === 'Not Found'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Error deleting service '${serviceId}' before import: ${message}`,\n 'error'\n );\n }\n }\n }\n\n // create service first\n const result = await putService(serviceId, fullServiceData, globalConfig);\n\n // return fast if no next descendents supplied\n if (nextDescendents.length === 0) {\n debugMessage(`ServiceOps.putFullService: end (w/o descendents)`);\n return result;\n }\n\n // now create next descendents\n await Promise.all(\n nextDescendents.map(async (descendent) => {\n const type = descendent._type._id;\n const descendentId = descendent._id;\n debugMessage(`ServiceOps.putFullService: descendentId=${descendentId}`);\n let result = undefined;\n try {\n result = await putServiceNextDescendent(\n serviceId,\n type,\n descendentId,\n descendent,\n globalConfig\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(\n `Put descendent '${descendentId}' of service '${serviceId}': ${message}`,\n 'error'\n );\n }\n return result;\n })\n );\n debugMessage(`ServiceOps.putFullService: end (w/ descendents)`);\n}\n\n/**\n * Saves multiple services using the serviceEntries which contain both id and data with descendants\n * @param {[string, FullService][]} serviceEntries The services to add\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<AmService[]>} promise resolving to an array of service objects\n */\nasync function putFullServices(\n serviceEntries: [string, FullService][],\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton[]> {\n debugMessage(\n `ServiceOps.putFullServices: start, globalConfig=${globalConfig}`\n );\n const results: AmServiceSkeleton[] = [];\n for (const [id, data] of serviceEntries) {\n try {\n const result = await putFullService(id, data, clean, globalConfig);\n results.push(result);\n printMessage(`Imported: ${id}`, 'info');\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Import service '${id}': ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n }\n }\n debugMessage(`ServiceOps.putFullServices: end`);\n return results;\n}\n\n/**\n * Deletes the specified service\n * @param {string} serviceId The service to delete\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullService(\n serviceId: string,\n globalConfig = false\n) {\n debugMessage(\n `ServiceOps.deleteFullService: start, globalConfig=${globalConfig}`\n );\n const serviceNextDescendentData = await getServiceDescendents(\n serviceId,\n globalConfig\n );\n\n await Promise.all(\n serviceNextDescendentData.map((nextDescendent) =>\n deleteServiceNextDescendent(\n serviceId,\n nextDescendent._type._id,\n nextDescendent._id,\n globalConfig\n )\n )\n );\n\n await deleteService(serviceId, globalConfig);\n debugMessage(`ServiceOps.deleteFullService: end`);\n}\n\n/**\n * Deletes all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function deleteFullServices(globalConfig = false) {\n debugMessage(\n `ServiceOps.deleteFullServices: start, globalConfig=${globalConfig}`\n );\n try {\n const serviceList = (await _getListOfServices(globalConfig)).result;\n\n await Promise.all(\n serviceList.map(async (serviceListItem) => {\n try {\n await deleteFullService(serviceListItem._id, globalConfig);\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n const message = error.response?.data?.message;\n printMessage(\n `Delete service '${serviceListItem._id}': ${message}`,\n 'error'\n );\n }\n }\n })\n );\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete services: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.deleteFullServices: end`);\n}\n\n/**\n * Export service. The response can be saved to file as is.\n * @param serviceId service id/name\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns {Promise<ServiceExportInterface>} Promise resolving to a ServiceExportInterface object.\n */\nexport async function exportService(\n serviceId: string,\n globalConfig = false\n): Promise<ServiceExportInterface> {\n debugMessage(`ServiceOps.exportService: start, globalConfig=${globalConfig}`);\n const exportData = createServiceExportTemplate();\n try {\n const service = await getService(serviceId, globalConfig);\n service.nextDescendents = await getServiceDescendents(\n serviceId,\n globalConfig\n );\n exportData.service[serviceId] = service;\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export service '${serviceId}': ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportService: end`);\n return exportData;\n}\n\n/**\n * Export all services\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function exportServices(\n globalConfig = false\n): Promise<ServiceExportInterface> {\n debugMessage(\n `ServiceOps.exportServices: start, globalConfig=${globalConfig}`\n );\n const exportData = createServiceExportTemplate();\n try {\n const services = await getFullServices(globalConfig);\n for (const service of services) {\n exportData.service[service._type._id] = service;\n }\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Export servics: ${message}`, 'error');\n }\n debugMessage(`ServiceOps.exportServices: end`);\n return exportData;\n}\n\n/**\n * Imports a single service using a reference to the service and a file to read the data from. Optionally clean (remove) an existing service first\n * @param {string} serviceId The service id/name to add\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove a possible existing service with the same id first.\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n * @returns Promise resolving when the service has been imported\n */\nexport async function importService(\n serviceId: string,\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n): Promise<AmServiceSkeleton> {\n debugMessage(`ServiceOps.importService: start, globalConfig=${globalConfig}`);\n const serviceData = importData.service[serviceId];\n const result = await putFullService(\n serviceId,\n serviceData,\n clean,\n globalConfig\n );\n debugMessage(`ServiceOps.importService: end`);\n return result;\n}\n\n/**\n * Imports multiple services from the same file. Optionally clean (remove) existing services first\n * @param {ServiceExportInterface} importData The service configuration export data to import\n * @param {boolean} clean Indicates whether to remove possible existing services first\n * @param {boolean} globalConfig true if the global service is the target of the operation, false otherwise. Default: false.\n */\nexport async function importServices(\n importData: ServiceExportInterface,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(\n `ServiceOps.importServices: start, globalConfig=${globalConfig}`\n );\n try {\n const result = await putFullServices(\n Object.entries(importData.service),\n clean,\n globalConfig\n );\n debugMessage(`ServiceOps.importServices: end`);\n return result;\n } catch (error) {\n const message = error.response?.data?.message;\n const detail = error.response?.data?.detail;\n printMessage(`Unable to import services: error: ${message}`, 'error');\n if (detail) {\n printMessage(`Details: ${JSON.stringify(detail)}`, 'error');\n }\n throw error;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AACA;AAWA;AAA6D;AAAA;AAAA;AAAA;AAAA;AAM7D;AACA;AACA;AACA;AACO,SAASA,2BAA2B,GAA2B;EACpE,OAAO;IACLC,IAAI,EAAE,CAAC,CAAC;IACRC,OAAO,EAAE,CAAC;EACZ,CAAC;AACH;;AAEA;AACA;AACA;AACA;AAHA,SAIsBC,iBAAiB;EAAA;AAAA;AAOvC;AACA;AACA;AACA;AACA;AAJA;EAAA,wCAPO,aAAuD;IAAA,IAAtBC,YAAY,uEAAG,KAAK;IAC1D,IAAAC,qBAAY,wCAAuC;IACnD,IAAMC,QAAQ,GAAG,OAAO,IAAAC,6BAAkB,EAACH,YAAY,CAAC,EAAEI,MAAM;IAChE,IAAAH,qBAAY,sCAAqC;IACjD,OAAOC,QAAQ;EACjB,CAAC;EAAA;AAAA;AAAA,SAOqBG,eAAe;EAAA;AAAA;AA0CrC;AACA;AACA;AACA;AACA;AACA;AACA;AANA;EAAA,qCA1CO,aAEmB;IAAA,IADxBL,YAAY,uEAAG,KAAK;IAEpB,IAAAC,qBAAY,4DACyCD,YAAY,EAChE;IACD,IAAMM,WAAW,GAAG,OAAO,IAAAH,6BAAkB,EAACH,YAAY,CAAC,EAAEI,MAAM;IAEnE,IAAMG,eAAe,SAASC,OAAO,CAACC,GAAG,CACvCH,WAAW,CAACI,GAAG;MAAA,6BAAC,WAAOC,QAAQ,EAAK;QAClC,IAAI;UACF,IAAM,CAACb,OAAO,EAAEc,eAAe,CAAC,SAASJ,OAAO,CAACC,GAAG,CAAC,CACnD,IAAAI,sBAAU,EAACF,QAAQ,CAACG,GAAG,EAAEd,YAAY,CAAC,EACtC,IAAAe,iCAAqB,EAACJ,QAAQ,CAACG,GAAG,EAAEd,YAAY,CAAC,CAClD,CAAC;UAEF,uCACKF,OAAO;YACVc;UAAe;QAEnB,CAAC,CAAC,OAAOI,KAAK,EAAE;UAAA;UACd,IACE,EACE,oBAAAA,KAAK,CAACC,QAAQ,oDAAd,gBAAgBC,MAAM,MAAK,GAAG,IAC9B,qBAAAF,KAAK,CAACC,QAAQ,8EAAd,iBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO,MAC3B,8DAA8D,CACjE,EACD;YAAA;YACA,IAAMA,OAAO,uBAAGJ,KAAK,CAACC,QAAQ,8EAAd,iBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO;YAC7C,IAAAC,qBAAY,wCACqBV,QAAQ,CAACG,GAAG,0BAAgBM,OAAO,GAClE,OAAO,CACR;UACH;QACF;MACF,CAAC;MAAA;QAAA;MAAA;IAAA,IAAC,CACH;IAED,IAAAnB,qBAAY,oCAAmC;IAC/C,OAAOM,eAAe,CAACe,MAAM,CAAEH,IAAI,IAAK,CAAC,CAACA,IAAI,CAAC,CAAC,CAAC;EACnD,CAAC;EAAA;AAAA;AAAA,SAScI,cAAc;EAAA;AAAA;AAwE7B;AACA;AACA;AACA;AACA;AACA;AACA;AANA;EAAA,oCAxEA,WACEC,SAAiB,EACjBjB,eAA4B,EAC5BkB,KAAc,EAEc;IAAA,IAD5BzB,YAAY,uEAAG,KAAK;IAEpB,IAAAC,qBAAY,wDACqCuB,SAAS,4BAAkBxB,YAAY,EACvF;IACD,IAAMY,eAAe,GAAGL,eAAe,CAACK,eAAe;IAEvD,OAAOL,eAAe,CAACK,eAAe;IACtC,OAAOL,eAAe,CAACmB,IAAI;IAC3B,OAAOnB,eAAe,CAACoB,OAAO;IAE9B,IAAIF,KAAK,EAAE;MACT,IAAI;QACF,IAAAxB,qBAAY,qCAAoC;QAChD,MAAM2B,iBAAiB,CAACJ,SAAS,EAAExB,YAAY,CAAC;MAClD,CAAC,CAAC,OAAOgB,KAAK,EAAE;QAAA;QACd,IACE,EACE,qBAAAA,KAAK,CAACC,QAAQ,qDAAd,iBAAgBC,MAAM,MAAK,GAAG,IAC9B,qBAAAF,KAAK,CAACC,QAAQ,8EAAd,iBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO,MAAK,WAAW,CAC9C,EACD;UAAA;UACA,IAAMA,OAAO,uBAAGJ,KAAK,CAACC,QAAQ,8EAAd,iBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO;UAC7C,IAAAC,qBAAY,oCACiBG,SAAS,8BAAoBJ,OAAO,GAC/D,OAAO,CACR;QACH;MACF;IACF;;IAEA;IACA,IAAMhB,MAAM,SAAS,IAAAyB,sBAAU,EAACL,SAAS,EAAEjB,eAAe,EAAEP,YAAY,CAAC;;IAEzE;IACA,IAAIY,eAAe,CAACkB,MAAM,KAAK,CAAC,EAAE;MAChC,IAAA7B,qBAAY,qDAAoD;MAChE,OAAOG,MAAM;IACf;;IAEA;IACA,MAAMI,OAAO,CAACC,GAAG,CACfG,eAAe,CAACF,GAAG;MAAA,8BAAC,WAAOqB,UAAU,EAAK;QACxC,IAAMC,IAAI,GAAGD,UAAU,CAACE,KAAK,CAACnB,GAAG;QACjC,IAAMoB,YAAY,GAAGH,UAAU,CAACjB,GAAG;QACnC,IAAAb,qBAAY,oDAA4CiC,YAAY,EAAG;QACvE,IAAI9B,MAAM,GAAG+B,SAAS;QACtB,IAAI;UACF/B,MAAM,SAAS,IAAAgC,oCAAwB,EACrCZ,SAAS,EACTQ,IAAI,EACJE,YAAY,EACZH,UAAU,EACV/B,YAAY,CACb;QACH,CAAC,CAAC,OAAOgB,KAAK,EAAE;UAAA;UACd,IAAMI,QAAO,uBAAGJ,KAAK,CAACC,QAAQ,8EAAd,iBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO;UAC7C,IAAAC,qBAAY,4BACSa,YAAY,2BAAiBV,SAAS,gBAAMJ,QAAO,GACtE,OAAO,CACR;QACH;QACA,OAAOhB,MAAM;MACf,CAAC;MAAA;QAAA;MAAA;IAAA,IAAC,CACH;IACD,IAAAH,qBAAY,oDAAmD;EACjE,CAAC;EAAA;AAAA;AAAA,SAScoC,eAAe;EAAA;AAAA;AA2B9B;AACA;AACA;AACA;AACA;AAJA;EAAA,qCA3BA,WACEC,cAAuC,EACvCb,KAAc,EAEgB;IAAA,IAD9BzB,YAAY,uEAAG,KAAK;IAEpB,IAAAC,qBAAY,4DACyCD,YAAY,EAChE;IACD,IAAMuC,OAA4B,GAAG,EAAE;IACvC,KAAK,IAAM,CAACC,EAAE,EAAErB,IAAI,CAAC,IAAImB,cAAc,EAAE;MACvC,IAAI;QACF,IAAMlC,MAAM,SAASmB,cAAc,CAACiB,EAAE,EAAErB,IAAI,EAAEM,KAAK,EAAEzB,YAAY,CAAC;QAClEuC,OAAO,CAACE,IAAI,CAACrC,MAAM,CAAC;QACpB,IAAAiB,qBAAY,sBAAcmB,EAAE,GAAI,MAAM,CAAC;MACzC,CAAC,CAAC,OAAOxB,KAAK,EAAE;QAAA;QACd,IAAMI,OAAO,uBAAGJ,KAAK,CAACC,QAAQ,8EAAd,iBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO;QAC7C,IAAMsB,MAAM,uBAAG1B,KAAK,CAACC,QAAQ,8EAAd,iBAAgBE,IAAI,0DAApB,sBAAsBuB,MAAM;QAC3C,IAAArB,qBAAY,4BAAoBmB,EAAE,gBAAMpB,OAAO,GAAI,OAAO,CAAC;QAC3D,IAAIsB,MAAM,EAAE;UACV,IAAArB,qBAAY,qBAAasB,IAAI,CAACC,SAAS,CAACF,MAAM,CAAC,GAAI,OAAO,CAAC;QAC7D;MACF;IACF;IACA,IAAAzC,qBAAY,oCAAmC;IAC/C,OAAOsC,OAAO;EAChB,CAAC;EAAA;AAAA;AAAA,SAOqBX,iBAAiB;EAAA;AAAA;AA2BvC;AACA;AACA;AACA;AAHA;EAAA,uCA3BO,WACLJ,SAAiB,EAEjB;IAAA,IADAxB,YAAY,uEAAG,KAAK;IAEpB,IAAAC,qBAAY,8DAC2CD,YAAY,EAClE;IACD,IAAM6C,yBAAyB,SAAS,IAAA9B,iCAAqB,EAC3DS,SAAS,EACTxB,YAAY,CACb;IAED,MAAMQ,OAAO,CAACC,GAAG,CACfoC,yBAAyB,CAACnC,GAAG,CAAEoC,cAAc,IAC3C,IAAAC,uCAA2B,EACzBvB,SAAS,EACTsB,cAAc,CAACb,KAAK,CAACnB,GAAG,EACxBgC,cAAc,CAAChC,GAAG,EAClBd,YAAY,CACb,CACF,CACF;IAED,MAAM,IAAAgD,yBAAa,EAACxB,SAAS,EAAExB,YAAY,CAAC;IAC5C,IAAAC,qBAAY,sCAAqC;EACnD,CAAC;EAAA;AAAA;AAAA,SAMqBgD,kBAAkB;EAAA;AAAA;AAmCxC;AACA;AACA;AACA;AACA;AACA;AALA;EAAA,wCAnCO,aAAwD;IAAA,IAAtBjD,YAAY,uEAAG,KAAK;IAC3D,IAAAC,qBAAY,+DAC4CD,YAAY,EACnE;IACD,IAAI;MACF,IAAMM,WAAW,GAAG,OAAO,IAAAH,6BAAkB,EAACH,YAAY,CAAC,EAAEI,MAAM;MAEnE,MAAMI,OAAO,CAACC,GAAG,CACfH,WAAW,CAACI,GAAG;QAAA,8BAAC,WAAOwC,eAAe,EAAK;UACzC,IAAI;YACF,MAAMtB,iBAAiB,CAACsB,eAAe,CAACpC,GAAG,EAAEd,YAAY,CAAC;UAC5D,CAAC,CAAC,OAAOgB,KAAK,EAAE;YAAA;YACd,IACE,EACE,sBAAAA,KAAK,CAACC,QAAQ,sDAAd,kBAAgBC,MAAM,MAAK,GAAG,IAC9B,sBAAAF,KAAK,CAACC,QAAQ,+EAAd,kBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO,MAC3B,8DAA8D,CACjE,EACD;cAAA;cACA,IAAMA,OAAO,wBAAGJ,KAAK,CAACC,QAAQ,+EAAd,kBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO;cAC7C,IAAAC,qBAAY,4BACS6B,eAAe,CAACpC,GAAG,gBAAMM,OAAO,GACnD,OAAO,CACR;YACH;UACF;QACF,CAAC;QAAA;UAAA;QAAA;MAAA,IAAC,CACH;IACH,CAAC,CAAC,OAAOJ,KAAK,EAAE;MAAA;MACd,IAAMI,OAAO,wBAAGJ,KAAK,CAACC,QAAQ,+EAAd,kBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO;MAC7C,IAAAC,qBAAY,6BAAqBD,OAAO,GAAI,OAAO,CAAC;IACtD;IACA,IAAAnB,qBAAY,uCAAsC;EACpD,CAAC;EAAA;AAAA;AAAA,SAQqBkD,aAAa;EAAA;AAAA;AAqBnC;AACA;AACA;AACA;AAHA;EAAA,mCArBO,WACL3B,SAAiB,EAEgB;IAAA,IADjCxB,YAAY,uEAAG,KAAK;IAEpB,IAAAC,qBAAY,0DAAkDD,YAAY,EAAG;IAC7E,IAAMoD,UAAU,GAAGxD,2BAA2B,EAAE;IAChD,IAAI;MACF,IAAME,OAAO,SAAS,IAAAe,sBAAU,EAACW,SAAS,EAAExB,YAAY,CAAC;MACzDF,OAAO,CAACc,eAAe,SAAS,IAAAG,iCAAqB,EACnDS,SAAS,EACTxB,YAAY,CACb;MACDoD,UAAU,CAACtD,OAAO,CAAC0B,SAAS,CAAC,GAAG1B,OAAO;IACzC,CAAC,CAAC,OAAOkB,KAAK,EAAE;MAAA;MACd,IAAMI,OAAO,wBAAGJ,KAAK,CAACC,QAAQ,+EAAd,kBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO;MAC7C,IAAAC,qBAAY,4BAAoBG,SAAS,gBAAMJ,OAAO,GAAI,OAAO,CAAC;IACpE;IACA,IAAAnB,qBAAY,kCAAiC;IAC7C,OAAOmD,UAAU;EACnB,CAAC;EAAA;AAAA;AAAA,SAMqBC,cAAc;EAAA;AAAA;AAoBpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;EAAA,oCApBO,aAE4B;IAAA,IADjCrD,YAAY,uEAAG,KAAK;IAEpB,IAAAC,qBAAY,2DACwCD,YAAY,EAC/D;IACD,IAAMoD,UAAU,GAAGxD,2BAA2B,EAAE;IAChD,IAAI;MACF,IAAMM,QAAQ,SAASG,eAAe,CAACL,YAAY,CAAC;MACpD,KAAK,IAAMF,OAAO,IAAII,QAAQ,EAAE;QAC9BkD,UAAU,CAACtD,OAAO,CAACA,OAAO,CAACmC,KAAK,CAACnB,GAAG,CAAC,GAAGhB,OAAO;MACjD;IACF,CAAC,CAAC,OAAOkB,KAAK,EAAE;MAAA;MACd,IAAMI,OAAO,wBAAGJ,KAAK,CAACC,QAAQ,+EAAd,kBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO;MAC7C,IAAAC,qBAAY,4BAAoBD,OAAO,GAAI,OAAO,CAAC;IACrD;IACA,IAAAnB,qBAAY,mCAAkC;IAC9C,OAAOmD,UAAU;EACnB,CAAC;EAAA;AAAA;AAAA,SAUqBE,aAAa;EAAA;AAAA;AAkBnC;AACA;AACA;AACA;AACA;AACA;AALA;EAAA,mCAlBO,WACL9B,SAAiB,EACjB+B,UAAkC,EAClC9B,KAAc,EAEc;IAAA,IAD5BzB,YAAY,uEAAG,KAAK;IAEpB,IAAAC,qBAAY,0DAAkDD,YAAY,EAAG;IAC7E,IAAMwD,WAAW,GAAGD,UAAU,CAACzD,OAAO,CAAC0B,SAAS,CAAC;IACjD,IAAMpB,MAAM,SAASmB,cAAc,CACjCC,SAAS,EACTgC,WAAW,EACX/B,KAAK,EACLzB,YAAY,CACb;IACD,IAAAC,qBAAY,kCAAiC;IAC7C,OAAOG,MAAM;EACf,CAAC;EAAA;AAAA;AAAA,SAQqBqD,cAAc;EAAA;AAAA;AAAA;EAAA,oCAA7B,WACLF,UAAkC,EAClC9B,KAAc,EAEd;IAAA,IADAzB,YAAY,uEAAG,KAAK;IAEpB,IAAAC,qBAAY,2DACwCD,YAAY,EAC/D;IACD,IAAI;MACF,IAAMI,MAAM,SAASiC,eAAe,CAClCqB,MAAM,CAACC,OAAO,CAACJ,UAAU,CAACzD,OAAO,CAAC,EAClC2B,KAAK,EACLzB,YAAY,CACb;MACD,IAAAC,qBAAY,mCAAkC;MAC9C,OAAOG,MAAM;IACf,CAAC,CAAC,OAAOY,KAAK,EAAE;MAAA;MACd,IAAMI,OAAO,wBAAGJ,KAAK,CAACC,QAAQ,+EAAd,kBAAgBE,IAAI,0DAApB,sBAAsBC,OAAO;MAC7C,IAAMsB,MAAM,wBAAG1B,KAAK,CAACC,QAAQ,+EAAd,kBAAgBE,IAAI,0DAApB,sBAAsBuB,MAAM;MAC3C,IAAArB,qBAAY,8CAAsCD,OAAO,GAAI,OAAO,CAAC;MACrE,IAAIsB,MAAM,EAAE;QACV,IAAArB,qBAAY,qBAAasB,IAAI,CAACC,SAAS,CAACF,MAAM,CAAC,GAAI,OAAO,CAAC;MAC7D;MACA,MAAM1B,KAAK;IACb;EACF,CAAC;EAAA;AAAA"}
@@ -5,19 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.applyUpdates = applyUpdates;
7
7
  exports.checkForUpdates = checkForUpdates;
8
-
9
8
  var _Console = require("./utils/Console");
10
-
11
9
  var _SecretsApi = require("../api/SecretsApi");
12
-
13
10
  var _StartupApi = require("../api/StartupApi");
14
-
15
11
  var _VariablesApi = require("../api/VariablesApi");
16
-
17
12
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
18
-
19
13
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
20
-
21
14
  /**
22
15
  * Check for updates that need applying
23
16
  * @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise
@@ -31,63 +24,50 @@ function checkForUpdates() {
31
24
  * @param {number} timeout timeout in milliseconds
32
25
  * @returns {Promise<boolean>} true if successful, false otherwise
33
26
  */
34
-
35
-
36
27
  function _checkForUpdates() {
37
28
  _checkForUpdates = _asyncToGenerator(function* () {
38
29
  var _updates$secrets, _updates$variables;
39
-
40
30
  var updates = {
41
31
  secrets: [],
42
32
  variables: []
43
33
  };
44
34
  (0, _Console.createProgressIndicator)(undefined, "Checking for updates to apply...", 'indeterminate');
45
-
46
35
  try {
47
36
  updates.secrets = (yield (0, _SecretsApi.getSecrets)()).result.filter(secret => !secret.loaded);
48
37
  updates.variables = (yield (0, _VariablesApi.getVariables)()).result.filter(variable => !variable.loaded);
49
38
  } catch (error) {
50
39
  (0, _Console.stopProgressIndicator)("Error: ".concat(error.response.data.code, " - ").concat(error.response.data.message), 'fail');
51
40
  }
52
-
53
41
  var updateCount = ((_updates$secrets = updates.secrets) === null || _updates$secrets === void 0 ? void 0 : _updates$secrets.length) + ((_updates$variables = updates.variables) === null || _updates$variables === void 0 ? void 0 : _updates$variables.length) || 0;
54
-
55
42
  if (updateCount > 0) {
56
43
  (0, _Console.stopProgressIndicator)("".concat(updateCount, " update(s) need to be applied"), 'success');
57
44
  } else {
58
45
  (0, _Console.stopProgressIndicator)("No updates need to be applied", 'success');
59
46
  }
60
-
61
47
  return updates;
62
48
  });
63
49
  return _checkForUpdates.apply(this, arguments);
64
50
  }
65
-
66
51
  function applyUpdates(_x) {
67
52
  return _applyUpdates.apply(this, arguments);
68
53
  }
69
-
70
54
  function _applyUpdates() {
71
55
  _applyUpdates = _asyncToGenerator(function* (wait) {
72
56
  var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10 * 60 * 1000;
73
57
  (0, _Console.createProgressIndicator)(undefined, "Applying updates...", 'indeterminate');
74
-
75
58
  try {
76
59
  var status = yield (0, _StartupApi.initiateRestart)();
77
-
78
60
  if (wait) {
79
61
  var start = new Date().getTime();
80
62
  var runtime = 0;
81
-
82
63
  while (status !== _StartupApi.RestartStatus.ready && start + timeout > new Date().getTime()) {
83
64
  // eslint-disable-next-line no-await-in-loop, no-promise-executor-return
84
- yield new Promise(resolve => setTimeout(resolve, 5000)); // eslint-disable-next-line no-await-in-loop
85
-
65
+ yield new Promise(resolve => setTimeout(resolve, 5000));
66
+ // eslint-disable-next-line no-await-in-loop
86
67
  status = yield (0, _StartupApi.getStatus)();
87
68
  runtime = new Date().getTime() - start;
88
69
  (0, _Console.updateProgressIndicator)("".concat(status, " (").concat(Math.round(runtime / 1000), "s)"));
89
70
  }
90
-
91
71
  if (runtime < timeout) {
92
72
  (0, _Console.stopProgressIndicator)("Updates applied in ".concat(Math.round(runtime / 1000), "s with final status: ").concat(status), 'success');
93
73
  return true;
@@ -101,7 +81,6 @@ function _applyUpdates() {
101
81
  }
102
82
  } catch (error) {
103
83
  var _error$response, _error$response$data, _error$response2, _error$response2$data;
104
-
105
84
  (0, _Console.stopProgressIndicator)("Error: ".concat(((_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.code) || error, " - ").concat((_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.message), 'fail');
106
85
  return false;
107
86
  }