@rockcarver/frodo-cli 2.0.0-5 → 2.0.0-50

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 (480) hide show
  1. package/CHANGELOG.md +361 -6
  2. package/esm/app.js +20 -3
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +33 -7
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +7 -5
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -5
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -5
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -5
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +8 -6
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -5
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -5
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +1 -1
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +8 -6
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -5
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -5
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -5
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -5
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +8 -6
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -5
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -5
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +1 -1
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +2 -2
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -5
  43. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  44. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +14 -8
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +41 -0
  47. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-export.js +44 -0
  49. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-import.js +48 -0
  51. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  52. package/esm/cli/admin/admin-federation-list.js +28 -0
  53. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  54. package/esm/cli/admin/admin-federation.js +13 -0
  55. package/esm/cli/admin/admin-federation.js.map +1 -0
  56. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +43 -0
  57. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -0
  58. package/esm/cli/admin/admin-get-access-token.js +12 -7
  59. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  60. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -8
  61. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -6
  63. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  64. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +11 -6
  65. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  66. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +11 -6
  67. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  68. package/esm/cli/admin/admin-list-static-user-mappings.js +12 -7
  69. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  70. package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -6
  71. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  72. package/esm/cli/admin/admin-repair-org-model.js +11 -6
  73. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  74. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -7
  75. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  76. package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -6
  77. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  78. package/esm/cli/admin/admin-train-auto-access-model.js +32 -0
  79. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -0
  80. package/esm/cli/admin/admin.js +8 -2
  81. package/esm/cli/admin/admin.js.map +1 -1
  82. package/esm/cli/agent/agent-delete.js +13 -7
  83. package/esm/cli/agent/agent-delete.js.map +1 -1
  84. package/esm/cli/agent/agent-describe.js +7 -5
  85. package/esm/cli/agent/agent-describe.js.map +1 -1
  86. package/esm/cli/agent/agent-export.js +12 -10
  87. package/esm/cli/agent/agent-export.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-delete.js +13 -7
  89. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-describe.js +7 -5
  91. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway-export.js +12 -10
  93. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  94. package/esm/cli/agent/agent-gateway-import.js +8 -6
  95. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  96. package/esm/cli/agent/agent-gateway-list.js +7 -5
  97. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  98. package/esm/cli/agent/agent-gateway.js +1 -1
  99. package/esm/cli/agent/agent-gateway.js.map +1 -1
  100. package/esm/cli/agent/agent-import.js +8 -6
  101. package/esm/cli/agent/agent-import.js.map +1 -1
  102. package/esm/cli/agent/agent-java-delete.js +13 -7
  103. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  104. package/esm/cli/agent/agent-java-describe.js +7 -5
  105. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  106. package/esm/cli/agent/agent-java-export.js +12 -10
  107. package/esm/cli/agent/agent-java-export.js.map +1 -1
  108. package/esm/cli/agent/agent-java-import.js +8 -6
  109. package/esm/cli/agent/agent-java-import.js.map +1 -1
  110. package/esm/cli/agent/agent-java-list.js +7 -5
  111. package/esm/cli/agent/agent-java-list.js.map +1 -1
  112. package/esm/cli/agent/agent-java.js +1 -1
  113. package/esm/cli/agent/agent-java.js.map +1 -1
  114. package/esm/cli/agent/agent-list.js +7 -5
  115. package/esm/cli/agent/agent-list.js.map +1 -1
  116. package/esm/cli/agent/agent-web-delete.js +13 -7
  117. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  118. package/esm/cli/agent/agent-web-describe.js +7 -5
  119. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  120. package/esm/cli/agent/agent-web-export.js +12 -10
  121. package/esm/cli/agent/agent-web-export.js.map +1 -1
  122. package/esm/cli/agent/agent-web-import.js +8 -6
  123. package/esm/cli/agent/agent-web-import.js.map +1 -1
  124. package/esm/cli/agent/agent-web-list.js +7 -5
  125. package/esm/cli/agent/agent-web-list.js.map +1 -1
  126. package/esm/cli/agent/agent-web.js +3 -3
  127. package/esm/cli/agent/agent-web.js.map +1 -1
  128. package/esm/cli/agent/agent.js +2 -2
  129. package/esm/cli/agent/agent.js.map +1 -1
  130. package/esm/cli/app/app-delete.js +27 -9
  131. package/esm/cli/app/app-delete.js.map +1 -1
  132. package/esm/cli/app/app-describe.js +9 -6
  133. package/esm/cli/app/app-describe.js.map +1 -1
  134. package/esm/cli/app/app-export.js +17 -14
  135. package/esm/cli/app/app-export.js.map +1 -1
  136. package/esm/cli/app/app-import.js +21 -18
  137. package/esm/cli/app/app-import.js.map +1 -1
  138. package/esm/cli/app/app-list.js +12 -9
  139. package/esm/cli/app/app-list.js.map +1 -1
  140. package/esm/cli/app/app.js +8 -12
  141. package/esm/cli/app/app.js.map +1 -1
  142. package/esm/cli/authn/authn-describe.js +29 -0
  143. package/esm/cli/authn/authn-describe.js.map +1 -0
  144. package/esm/cli/authn/authn-export.js +25 -0
  145. package/esm/cli/authn/authn-export.js.map +1 -0
  146. package/esm/cli/authn/authn-import.js +25 -0
  147. package/esm/cli/authn/authn-import.js.map +1 -0
  148. package/esm/cli/authn/authn.js +12 -0
  149. package/esm/cli/authn/authn.js.map +1 -0
  150. package/esm/cli/authz/authz-policy-delete.js +11 -9
  151. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  152. package/esm/cli/authz/authz-policy-describe.js +8 -6
  153. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  154. package/esm/cli/authz/authz-policy-export.js +18 -16
  155. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  156. package/esm/cli/authz/authz-policy-import.js +11 -9
  157. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  158. package/esm/cli/authz/authz-policy-list.js +11 -9
  159. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  160. package/esm/cli/authz/authz-policy.js +1 -1
  161. package/esm/cli/authz/authz-policy.js.map +1 -1
  162. package/esm/cli/authz/authz-set-delete.js +11 -9
  163. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  164. package/esm/cli/authz/authz-set-describe.js +8 -6
  165. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  166. package/esm/cli/authz/authz-set-export.js +14 -12
  167. package/esm/cli/authz/authz-set-export.js.map +1 -1
  168. package/esm/cli/authz/authz-set-import.js +11 -9
  169. package/esm/cli/authz/authz-set-import.js.map +1 -1
  170. package/esm/cli/authz/authz-set-list.js +8 -6
  171. package/esm/cli/authz/authz-set-list.js.map +1 -1
  172. package/esm/cli/authz/authz-set.js +1 -1
  173. package/esm/cli/authz/authz-set.js.map +1 -1
  174. package/esm/cli/authz/authz-type-delete.js +13 -11
  175. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  176. package/esm/cli/authz/authz-type-describe.js +9 -7
  177. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  178. package/esm/cli/authz/authz-type-export.js +16 -14
  179. package/esm/cli/authz/authz-type-export.js.map +1 -1
  180. package/esm/cli/authz/authz-type-import.js +14 -12
  181. package/esm/cli/authz/authz-type-import.js.map +1 -1
  182. package/esm/cli/authz/authz-type-list.js +9 -7
  183. package/esm/cli/authz/authz-type-list.js.map +1 -1
  184. package/esm/cli/authz/authz-type.js +1 -1
  185. package/esm/cli/authz/authz-type.js.map +1 -1
  186. package/esm/cli/authz/authz.js +2 -2
  187. package/esm/cli/authz/authz.js.map +1 -1
  188. package/esm/cli/config/config-delete.js +21 -0
  189. package/esm/cli/config/config-delete.js.map +1 -0
  190. package/esm/cli/config/config-describe.js +21 -0
  191. package/esm/cli/config/config-describe.js.map +1 -0
  192. package/esm/cli/config/config-export.js +47 -0
  193. package/esm/cli/config/config-export.js.map +1 -0
  194. package/esm/cli/config/config-import.js +56 -0
  195. package/esm/cli/config/config-import.js.map +1 -0
  196. package/esm/cli/config/config-list.js +21 -0
  197. package/esm/cli/config/config-list.js.map +1 -0
  198. package/esm/cli/config/config.js +19 -0
  199. package/esm/cli/config/config.js.map +1 -0
  200. package/esm/cli/conn/conn-delete.js +2 -3
  201. package/esm/cli/conn/conn-delete.js.map +1 -1
  202. package/esm/cli/conn/conn-describe.js +2 -3
  203. package/esm/cli/conn/conn-describe.js.map +1 -1
  204. package/esm/cli/conn/conn-list.js +2 -3
  205. package/esm/cli/conn/conn-list.js.map +1 -1
  206. package/esm/cli/conn/conn-save.js +27 -15
  207. package/esm/cli/conn/conn-save.js.map +1 -1
  208. package/esm/cli/conn/conn.js +2 -2
  209. package/esm/cli/conn/conn.js.map +1 -1
  210. package/esm/cli/email/email-template-export.js +14 -12
  211. package/esm/cli/email/email-template-export.js.map +1 -1
  212. package/esm/cli/email/email-template-import.js +15 -13
  213. package/esm/cli/email/email-template-import.js.map +1 -1
  214. package/esm/cli/email/email-template-list.js +9 -7
  215. package/esm/cli/email/email-template-list.js.map +1 -1
  216. package/esm/cli/email/email-template.js +1 -1
  217. package/esm/cli/email/email-template.js.map +1 -1
  218. package/esm/cli/email/email.js +2 -2
  219. package/esm/cli/email/email.js.map +1 -1
  220. package/esm/cli/esv/esv-apply.js +18 -9
  221. package/esm/cli/esv/esv-apply.js.map +1 -1
  222. package/esm/cli/esv/esv-secret-create.js +16 -8
  223. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  224. package/esm/cli/esv/esv-secret-delete.js +13 -10
  225. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  226. package/esm/cli/esv/esv-secret-describe.js +10 -7
  227. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  228. package/esm/cli/esv/esv-secret-export.js +22 -7
  229. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  230. package/esm/cli/esv/esv-secret-import.js +7 -5
  231. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  232. package/esm/cli/esv/esv-secret-list.js +11 -8
  233. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  234. package/esm/cli/esv/esv-secret-set.js +10 -7
  235. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  236. package/esm/cli/esv/esv-secret-version-activate.js +10 -8
  237. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  238. package/esm/cli/esv/esv-secret-version-create.js +16 -8
  239. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  240. package/esm/cli/esv/esv-secret-version-deactivate.js +10 -8
  241. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  242. package/esm/cli/esv/esv-secret-version-delete.js +13 -10
  243. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  244. package/esm/cli/esv/esv-secret-version-list.js +10 -7
  245. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  246. package/esm/cli/esv/esv-secret-version.js +1 -1
  247. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  248. package/esm/cli/esv/esv-secret.js +2 -3
  249. package/esm/cli/esv/esv-secret.js.map +1 -1
  250. package/esm/cli/esv/esv-variable-create.js +11 -7
  251. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  252. package/esm/cli/esv/esv-variable-delete.js +13 -9
  253. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  254. package/esm/cli/esv/esv-variable-describe.js +11 -8
  255. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  256. package/esm/cli/esv/esv-variable-export.js +23 -7
  257. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  258. package/esm/cli/esv/esv-variable-import.js +7 -5
  259. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  260. package/esm/cli/esv/esv-variable-list.js +11 -8
  261. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  262. package/esm/cli/esv/esv-variable-set.js +12 -8
  263. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  264. package/esm/cli/esv/esv-variable.js +2 -3
  265. package/esm/cli/esv/esv-variable.js.map +1 -1
  266. package/esm/cli/esv/esv.js +2 -2
  267. package/esm/cli/esv/esv.js.map +1 -1
  268. package/esm/cli/idm/idm-count.js +10 -8
  269. package/esm/cli/idm/idm-count.js.map +1 -1
  270. package/esm/cli/idm/idm-export.js +24 -16
  271. package/esm/cli/idm/idm-export.js.map +1 -1
  272. package/esm/cli/idm/idm-import.js +22 -14
  273. package/esm/cli/idm/idm-import.js.map +1 -1
  274. package/esm/cli/idm/idm-list.js +9 -7
  275. package/esm/cli/idm/idm-list.js.map +1 -1
  276. package/esm/cli/idm/idm.js +2 -2
  277. package/esm/cli/idm/idm.js.map +1 -1
  278. package/esm/cli/idp/idp-export.js +12 -10
  279. package/esm/cli/idp/idp-export.js.map +1 -1
  280. package/esm/cli/idp/idp-import.js +24 -14
  281. package/esm/cli/idp/idp-import.js.map +1 -1
  282. package/esm/cli/idp/idp-list.js +8 -6
  283. package/esm/cli/idp/idp-list.js.map +1 -1
  284. package/esm/cli/idp/idp.js +2 -2
  285. package/esm/cli/idp/idp.js.map +1 -1
  286. package/esm/cli/info/info.js +13 -7
  287. package/esm/cli/info/info.js.map +1 -1
  288. package/esm/cli/journey/journey-delete.js +14 -8
  289. package/esm/cli/journey/journey-delete.js.map +1 -1
  290. package/esm/cli/journey/journey-describe.js +22 -12
  291. package/esm/cli/journey/journey-describe.js.map +1 -1
  292. package/esm/cli/journey/journey-disable.js +11 -12
  293. package/esm/cli/journey/journey-disable.js.map +1 -1
  294. package/esm/cli/journey/journey-enable.js +11 -12
  295. package/esm/cli/journey/journey-enable.js.map +1 -1
  296. package/esm/cli/journey/journey-export.js +30 -16
  297. package/esm/cli/journey/journey-export.js.map +1 -1
  298. package/esm/cli/journey/journey-import.js +15 -13
  299. package/esm/cli/journey/journey-import.js.map +1 -1
  300. package/esm/cli/journey/journey-list.js +7 -5
  301. package/esm/cli/journey/journey-list.js.map +1 -1
  302. package/esm/cli/journey/journey-prune.js +23 -13
  303. package/esm/cli/journey/journey-prune.js.map +1 -1
  304. package/esm/cli/journey/journey.js +2 -2
  305. package/esm/cli/journey/journey.js.map +1 -1
  306. package/esm/cli/log/log-fetch.js +67 -35
  307. package/esm/cli/log/log-fetch.js.map +1 -1
  308. package/esm/cli/log/log-key-delete.js +9 -7
  309. package/esm/cli/log/log-key-delete.js.map +1 -1
  310. package/esm/cli/log/log-key-describe.js +7 -5
  311. package/esm/cli/log/log-key-describe.js.map +1 -1
  312. package/esm/cli/log/log-key-list.js +7 -5
  313. package/esm/cli/log/log-key-list.js.map +1 -1
  314. package/esm/cli/log/log-key.js +1 -1
  315. package/esm/cli/log/log-key.js.map +1 -1
  316. package/esm/cli/log/log-list.js +64 -33
  317. package/esm/cli/log/log-list.js.map +1 -1
  318. package/esm/cli/log/log-tail.js +65 -34
  319. package/esm/cli/log/log-tail.js.map +1 -1
  320. package/esm/cli/log/log.js +2 -2
  321. package/esm/cli/log/log.js.map +1 -1
  322. package/esm/cli/oauth/oauth-client-delete.js +21 -0
  323. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  324. package/esm/cli/oauth/oauth-client-describe.js +21 -0
  325. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  326. package/esm/cli/oauth/oauth-client-export.js +51 -0
  327. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  328. package/esm/cli/oauth/oauth-client-import.js +56 -0
  329. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  330. package/esm/cli/oauth/oauth-client-list.js +24 -0
  331. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  332. package/esm/cli/oauth/oauth-client.js +14 -0
  333. package/esm/cli/oauth/oauth-client.js.map +1 -0
  334. package/esm/cli/oauth/oauth.js +13 -0
  335. package/esm/cli/oauth/oauth.js.map +1 -0
  336. package/esm/cli/realm/realm-add-custom-domain.js +8 -6
  337. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  338. package/esm/cli/realm/realm-describe.js +8 -6
  339. package/esm/cli/realm/realm-describe.js.map +1 -1
  340. package/esm/cli/realm/realm-list.js +8 -6
  341. package/esm/cli/realm/realm-list.js.map +1 -1
  342. package/esm/cli/realm/realm-remove-custom-domain.js +11 -6
  343. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  344. package/esm/cli/realm/realm.js +2 -2
  345. package/esm/cli/realm/realm.js.map +1 -1
  346. package/esm/cli/saml/saml-cot-export.js +14 -12
  347. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  348. package/esm/cli/saml/saml-cot-import.js +15 -13
  349. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  350. package/esm/cli/saml/saml-cot-list.js +9 -7
  351. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  352. package/esm/cli/saml/saml-cot.js +1 -1
  353. package/esm/cli/saml/saml-cot.js.map +1 -1
  354. package/esm/cli/saml/saml-delete.js +14 -8
  355. package/esm/cli/saml/saml-delete.js.map +1 -1
  356. package/esm/cli/saml/saml-describe.js +9 -7
  357. package/esm/cli/saml/saml-describe.js.map +1 -1
  358. package/esm/cli/saml/saml-export.js +20 -12
  359. package/esm/cli/saml/saml-export.js.map +1 -1
  360. package/esm/cli/saml/saml-import.js +24 -14
  361. package/esm/cli/saml/saml-import.js.map +1 -1
  362. package/esm/cli/saml/saml-list.js +9 -7
  363. package/esm/cli/saml/saml-list.js.map +1 -1
  364. package/esm/cli/saml/saml-metadata-export.js +10 -8
  365. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  366. package/esm/cli/saml/saml-metadata.js +1 -1
  367. package/esm/cli/saml/saml-metadata.js.map +1 -1
  368. package/esm/cli/saml/saml.js +2 -2
  369. package/esm/cli/saml/saml.js.map +1 -1
  370. package/esm/cli/script/script-delete.js +21 -8
  371. package/esm/cli/script/script-delete.js.map +1 -1
  372. package/esm/cli/script/script-describe.js +7 -5
  373. package/esm/cli/script/script-describe.js.map +1 -1
  374. package/esm/cli/script/script-export.js +13 -15
  375. package/esm/cli/script/script-export.js.map +1 -1
  376. package/esm/cli/script/script-import.js +18 -10
  377. package/esm/cli/script/script-import.js.map +1 -1
  378. package/esm/cli/script/script-list.js +10 -8
  379. package/esm/cli/script/script-list.js.map +1 -1
  380. package/esm/cli/script/script.js +3 -5
  381. package/esm/cli/script/script.js.map +1 -1
  382. package/esm/cli/service/service-delete.js +8 -5
  383. package/esm/cli/service/service-delete.js.map +1 -1
  384. package/esm/cli/service/service-export.js +13 -11
  385. package/esm/cli/service/service-export.js.map +1 -1
  386. package/esm/cli/service/service-import.js +32 -14
  387. package/esm/cli/service/service-import.js.map +1 -1
  388. package/esm/cli/service/service-list.js +7 -4
  389. package/esm/cli/service/service-list.js.map +1 -1
  390. package/esm/cli/service/service.js +2 -2
  391. package/esm/cli/service/service.js.map +1 -1
  392. package/esm/cli/shell/shell.js +57 -0
  393. package/esm/cli/shell/shell.js.map +1 -0
  394. package/esm/cli/theme/theme-delete.js +13 -11
  395. package/esm/cli/theme/theme-delete.js.map +1 -1
  396. package/esm/cli/theme/theme-export.js +16 -14
  397. package/esm/cli/theme/theme-export.js.map +1 -1
  398. package/esm/cli/theme/theme-import.js +16 -14
  399. package/esm/cli/theme/theme-import.js.map +1 -1
  400. package/esm/cli/theme/theme-list.js +8 -6
  401. package/esm/cli/theme/theme-list.js.map +1 -1
  402. package/esm/cli/theme/theme.js +2 -2
  403. package/esm/cli/theme/theme.js.map +1 -1
  404. package/esm/help/SampleData.js +1 -1
  405. package/esm/help/SampleData.js.map +1 -1
  406. package/esm/launch.js +1 -1
  407. package/esm/launch.js.map +1 -1
  408. package/esm/loader.js +2 -2
  409. package/esm/loader.js.map +1 -1
  410. package/esm/ops/AdminFederationOps.js +231 -0
  411. package/esm/ops/AdminFederationOps.js.map +1 -0
  412. package/esm/ops/AdminOps.js +151 -0
  413. package/esm/ops/AdminOps.js.map +1 -0
  414. package/esm/ops/AgentOps.js +213 -150
  415. package/esm/ops/AgentOps.js.map +1 -1
  416. package/esm/ops/ApplicationOps.js +324 -0
  417. package/esm/ops/ApplicationOps.js.map +1 -0
  418. package/esm/ops/AuthenticationSettingsOps.js +90 -0
  419. package/esm/ops/AuthenticationSettingsOps.js.map +1 -0
  420. package/esm/ops/CirclesOfTrustOps.js +98 -78
  421. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  422. package/esm/ops/ConfigOps.js +168 -0
  423. package/esm/ops/ConfigOps.js.map +1 -0
  424. package/esm/ops/ConnectionProfileOps.js +13 -6
  425. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  426. package/esm/ops/EmailTemplateOps.js +122 -127
  427. package/esm/ops/EmailTemplateOps.js.map +1 -1
  428. package/esm/ops/IdmOps.js +101 -182
  429. package/esm/ops/IdmOps.js.map +1 -1
  430. package/esm/ops/IdpOps.js +108 -75
  431. package/esm/ops/IdpOps.js.map +1 -1
  432. package/esm/ops/JourneyOps.js +182 -116
  433. package/esm/ops/JourneyOps.js.map +1 -1
  434. package/esm/ops/LogOps.js +22 -12
  435. package/esm/ops/LogOps.js.map +1 -1
  436. package/esm/ops/NodeOps.js +14 -3
  437. package/esm/ops/NodeOps.js.map +1 -1
  438. package/esm/ops/OAuth2ClientOps.js +71 -49
  439. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  440. package/esm/ops/OrganizationOps.js +14 -22
  441. package/esm/ops/OrganizationOps.js.map +1 -1
  442. package/esm/ops/PolicyOps.js +127 -86
  443. package/esm/ops/PolicyOps.js.map +1 -1
  444. package/esm/ops/PolicySetOps.js +108 -76
  445. package/esm/ops/PolicySetOps.js.map +1 -1
  446. package/esm/ops/RealmOps.js +15 -10
  447. package/esm/ops/RealmOps.js.map +1 -1
  448. package/esm/ops/ResourceTypeOps.js +105 -87
  449. package/esm/ops/ResourceTypeOps.js.map +1 -1
  450. package/esm/ops/Saml2Ops.js +138 -91
  451. package/esm/ops/Saml2Ops.js.map +1 -1
  452. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  453. package/esm/ops/ScriptOps.js +222 -90
  454. package/esm/ops/ScriptOps.js.map +1 -1
  455. package/esm/ops/SecretsOps.js +333 -79
  456. package/esm/ops/SecretsOps.js.map +1 -1
  457. package/esm/ops/ServiceOps.js +97 -54
  458. package/esm/ops/ServiceOps.js.map +1 -1
  459. package/esm/ops/ThemeOps.js +164 -158
  460. package/esm/ops/ThemeOps.js.map +1 -1
  461. package/esm/ops/VariablesOps.js +252 -65
  462. package/esm/ops/VariablesOps.js.map +1 -1
  463. package/esm/ops/utils/OpsUtils.js +1 -1
  464. package/esm/ops/utils/OpsUtils.js.map +1 -1
  465. package/esm/ops/utils/Wordwrap.js +1 -1
  466. package/esm/ops/utils/Wordwrap.js.map +1 -1
  467. package/esm/storage/StaticStorage.js +1 -1
  468. package/esm/storage/StaticStorage.js.map +1 -1
  469. package/esm/utils/Config.js +164 -4
  470. package/esm/utils/Config.js.map +1 -1
  471. package/esm/utils/Console.js +78 -35
  472. package/esm/utils/Console.js.map +1 -1
  473. package/esm/utils/Version.js +20 -17
  474. package/esm/utils/Version.js.map +1 -1
  475. package/global-jest-setup.js +5 -0
  476. package/package.json +55 -37
  477. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  478. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
  479. package/esm/utils/ExportImportUtils.js +0 -90
  480. package/esm/utils/ExportImportUtils.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import fs from 'fs';
3
- import { printMessage, createProgressBar, updateProgressBar, stopProgressBar, showSpinner, succeedSpinner, failSpinner, createTable, debugMessage } from '../utils/Console';
3
+ import { createProgressIndicator, createTable, debugMessage, printMessage, stopProgressIndicator, updateProgressIndicator } from '../utils/Console';
4
4
  import * as CirclesOfTrust from './CirclesOfTrustOps';
5
5
  import * as EmailTemplate from './EmailTemplateOps';
6
6
  import * as Idp from './IdpOps';
@@ -8,8 +8,29 @@ import * as Node from './NodeOps';
8
8
  import * as Saml2 from './Saml2Ops';
9
9
  import * as Script from './ScriptOps';
10
10
  import * as Theme from './ThemeOps';
11
- import wordwrap from './utils/Wordwrap';
12
11
  import { cloneDeep } from './utils/OpsUtils';
12
+ import wordwrap from './utils/Wordwrap';
13
+ const {
14
+ getTypedFilename,
15
+ saveJsonToFile,
16
+ getRealmString,
17
+ getFilePath,
18
+ getWorkingDirectory
19
+ } = frodo.utils;
20
+ const {
21
+ readJourneys,
22
+ exportJourney,
23
+ exportJourneys,
24
+ resolveDependencies,
25
+ importJourneys,
26
+ importJourney,
27
+ getTreeDescendents,
28
+ getNodeRef,
29
+ onlineTreeExportResolver,
30
+ getJourneyClassification: _getJourneyClassification,
31
+ disableJourney: _disableJourney,
32
+ enableJourney: _enableJourney
33
+ } = frodo.authn.journey;
13
34
 
14
35
  /**
15
36
  * List all the journeys/trees
@@ -20,7 +41,7 @@ import { cloneDeep } from './utils/OpsUtils';
20
41
  export async function listJourneys(long = false, analyze = false) {
21
42
  let journeys = [];
22
43
  try {
23
- journeys = await frodo.authn.journey.getJourneys();
44
+ journeys = await readJourneys();
24
45
  if (!long && !analyze) {
25
46
  for (const journeyStub of journeys) {
26
47
  printMessage(`${journeyStub['_id']}`, 'data');
@@ -34,17 +55,18 @@ export async function listJourneys(long = false, analyze = false) {
34
55
  }
35
56
  printMessage(table.toString(), 'data');
36
57
  } else {
37
- showSpinner('Retrieving details of all journeys...');
58
+ const spinnerId = createProgressIndicator('indeterminate', 0, `Retrieving details of all journeys...`);
38
59
  const exportPromises = [];
39
60
  try {
40
61
  for (const journeyStub of journeys) {
41
- exportPromises.push(frodo.authn.journey.exportJourney(journeyStub['_id'], {
62
+ exportPromises.push(exportJourney(journeyStub['_id'], {
42
63
  useStringArrays: false,
43
- deps: false
64
+ deps: false,
65
+ coords: true
44
66
  }));
45
67
  }
46
68
  const journeyExports = await Promise.all(exportPromises);
47
- succeedSpinner('Retrieved details of all journeys.');
69
+ stopProgressIndicator(spinnerId, 'Retrieved details of all journeys.', 'success');
48
70
  const table = createTable(['Name', 'Status', 'Classification', 'Tags']);
49
71
  for (const journeyExport of journeyExports) {
50
72
  var _journeyExport$tree$u;
@@ -52,7 +74,7 @@ export async function listJourneys(long = false, analyze = false) {
52
74
  }
53
75
  printMessage(table.toString(), 'data');
54
76
  } catch (error) {
55
- failSpinner('Error retrieving details of all journeys.');
77
+ stopProgressIndicator(spinnerId, 'Error retrieving details of all journeys.', 'fail');
56
78
  printMessage(error.response.data, 'error');
57
79
  }
58
80
  }
@@ -68,86 +90,76 @@ export async function listJourneys(long = false, analyze = false) {
68
90
  * Export journey by id/name to file
69
91
  * @param {string} journeyId journey id/name
70
92
  * @param {string} file optional export file name
93
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
71
94
  * @param {TreeExportOptions} options export options
72
95
  */
73
- export async function exportJourneyToFile(journeyId, file, options) {
96
+ export async function exportJourneyToFile(journeyId, file, includeMeta = true, options = {
97
+ deps: false,
98
+ useStringArrays: false,
99
+ coords: true
100
+ }) {
74
101
  debugMessage(`exportJourneyToFile: start`);
75
- const verbose = state.getDebug();
102
+ const verbose = state.getVerbose();
76
103
  if (!file) {
77
- file = frodo.utils.impex.getTypedFilename(journeyId, 'journey');
78
- }
79
- if (state.getDirectory()) {
80
- const dir = state.getDirectory().replace(/\/$/, '');
81
- debugMessage(`exportJourneyToFile: directory='${dir}'`);
82
- file = `${dir}/${file}`;
83
- // create directory if it doesn't exist
84
- if (!fs.existsSync(dir)) {
85
- debugMessage(`exportJourneyToFile: creating directory '${dir}'`);
86
- fs.mkdirSync(dir, {
87
- recursive: true
88
- });
89
- }
104
+ file = getTypedFilename(journeyId, 'journey');
90
105
  }
91
- if (!verbose) showSpinner(`${journeyId}`);
106
+ const filePath = getFilePath(file, true);
107
+ let spinnerId;
108
+ if (!verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
92
109
  try {
93
- const fileData = await frodo.authn.journey.exportJourney(journeyId, options);
94
- if (verbose) showSpinner(`${journeyId}`);
95
- frodo.utils.impex.saveJsonToFile(fileData, file);
96
- succeedSpinner(`Exported ${journeyId['brightCyan']} to ${file['brightCyan']}.`);
110
+ const fileData = await exportJourney(journeyId, options);
111
+ if (verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
112
+ saveJsonToFile(fileData, filePath, includeMeta);
113
+ stopProgressIndicator(spinnerId, `Exported ${journeyId['brightCyan']} to ${filePath['brightCyan']}.`, 'success');
97
114
  } catch (error) {
98
- if (verbose) showSpinner(`${journeyId}`);
99
- failSpinner(`Error exporting journey ${journeyId}: ${error}`);
115
+ if (verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
116
+ stopProgressIndicator(spinnerId, `Error exporting journey ${journeyId}: ${error}`, 'fail');
100
117
  }
101
118
  }
102
119
 
103
120
  /**
104
121
  * Export all journeys to file
105
122
  * @param {string} file optional export file name
123
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
106
124
  * @param {TreeExportOptions} options export options
107
125
  */
108
- export async function exportJourneysToFile(file, options = {
126
+ export async function exportJourneysToFile(file, includeMeta = true, options = {
109
127
  deps: false,
110
- useStringArrays: false
128
+ useStringArrays: false,
129
+ coords: true
111
130
  }) {
112
- let fileName = file;
113
- if (!fileName) {
114
- fileName = frodo.utils.impex.getTypedFilename(`all${frodo.utils.impex.getRealmString()}Journeys`, 'journeys');
115
- }
116
- const trees = await frodo.authn.journey.getJourneys();
117
- const fileData = frodo.authn.journey.createMultiTreeExportTemplate();
118
- createProgressBar(trees.length, 'Exporting journeys...');
119
- for (const tree of trees) {
120
- updateProgressBar(`${tree._id}`);
121
- try {
122
- const exportData = await frodo.authn.journey.exportJourney(tree._id, options);
123
- delete exportData.meta;
124
- fileData.trees[tree._id] = exportData;
125
- } catch (error) {
126
- printMessage(`Error exporting journey ${tree._id}: ${error}`, 'error');
127
- }
131
+ if (!file) {
132
+ file = getTypedFilename(`all${getRealmString()}Journeys`, 'journey');
128
133
  }
129
- frodo.utils.impex.saveJsonToFile(fileData, fileName);
130
- stopProgressBar(`Exported to ${fileName}`);
134
+ const filePath = getFilePath(file, true);
135
+ const fileData = await exportJourneys(options);
136
+ saveJsonToFile(fileData, filePath, includeMeta);
131
137
  }
132
138
 
133
139
  /**
134
140
  * Export all journeys to separate files
141
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
135
142
  * @param {TreeExportOptions} options export options
136
143
  */
137
- export async function exportJourneysToFiles(options) {
138
- const trees = await frodo.authn.journey.getJourneys();
139
- createProgressBar(trees.length, 'Exporting journeys...');
140
- for (const tree of trees) {
141
- updateProgressBar(`${tree._id}`);
142
- const fileName = frodo.utils.impex.getTypedFilename(`${tree._id}`, 'journey');
144
+ export async function exportJourneysToFiles(includeMeta = true, options = {
145
+ deps: false,
146
+ useStringArrays: false,
147
+ coords: true
148
+ }) {
149
+ const journeysExport = await exportJourneys(options);
150
+ const trees = Object.entries(journeysExport.trees);
151
+ for (const [treeId, treeValue] of trees) {
152
+ const indicatorId = createProgressIndicator('determinate', 1, `Saving ${treeId}...`);
153
+ const file = getFilePath(getTypedFilename(`${treeId}`, 'journey'), true);
154
+ treeValue['meta'] = journeysExport.meta;
143
155
  try {
144
- const exportData = await frodo.authn.journey.exportJourney(tree._id, options);
145
- frodo.utils.impex.saveJsonToFile(exportData, fileName);
156
+ updateProgressIndicator(indicatorId, `Saving ${treeId} to ${file}`);
157
+ saveJsonToFile(treeValue, file, includeMeta);
158
+ stopProgressIndicator(indicatorId, `${treeId} saved to ${file}`);
146
159
  } catch (error) {
147
- // do we need to report status here?
160
+ stopProgressIndicator(indicatorId, `Error saving ${treeId} to ${file}`);
148
161
  }
149
162
  }
150
- stopProgressBar('Done');
151
163
  }
152
164
 
153
165
  /**
@@ -157,9 +169,9 @@ export async function exportJourneysToFiles(options) {
157
169
  * @param {TreeImportOptions} options import options
158
170
  */
159
171
  export async function importJourneyFromFile(journeyId, file, options) {
160
- const verbose = state.getDebug();
161
- fs.readFile(file, 'utf8', async (err, data) => {
162
- if (err) throw err;
172
+ const verbose = state.getVerbose();
173
+ try {
174
+ const data = fs.readFileSync(getFilePath(file), 'utf8');
163
175
  let journeyData = JSON.parse(data);
164
176
  // check if this is a file with multiple trees and get journey by id
165
177
  if (journeyData.trees && journeyData.trees[journeyId]) {
@@ -171,35 +183,39 @@ export async function importJourneyFromFile(journeyId, file, options) {
171
183
  // if a journeyId was specified, only import the matching journey
172
184
  if (journeyData && journeyId === journeyData.tree._id) {
173
185
  // attempt dependency resolution for single tree import
174
- const installedJourneys = (await frodo.authn.journey.getJourneys()).map(x => x._id);
186
+ const installedJourneys = (await readJourneys()).map(x => x._id);
175
187
  const unresolvedJourneys = {};
176
188
  const resolvedJourneys = [];
177
- showSpinner('Resolving dependencies');
178
- await frodo.authn.journey.resolveDependencies(installedJourneys, {
189
+ const indicatorId1 = createProgressIndicator('indeterminate', 0, 'Resolving dependencies');
190
+ await resolveDependencies(installedJourneys, {
179
191
  [journeyId]: journeyData
180
192
  }, unresolvedJourneys, resolvedJourneys);
181
193
  if (Object.keys(unresolvedJourneys).length === 0) {
182
- succeedSpinner(`Resolved all dependencies.`);
183
- if (!verbose) showSpinner(`Importing ${journeyId}...`);
184
- frodo.authn.journey.importJourney(journeyData, options).then(() => {
185
- if (verbose) showSpinner(`Importing ${journeyId}...`);
186
- succeedSpinner(`Imported ${journeyId}.`);
187
- }).catch(importError => {
188
- if (verbose) showSpinner(`Importing ${journeyId}...`);
189
- failSpinner(`${importError}`);
190
- });
194
+ stopProgressIndicator(indicatorId1, `Resolved all dependencies.`, 'success');
195
+ let indicatorId2;
196
+ if (!verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
197
+ try {
198
+ await importJourney(journeyData, options);
199
+ if (verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
200
+ stopProgressIndicator(indicatorId2, `Imported ${journeyId}.`, 'success');
201
+ } catch (importError) {
202
+ if (verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
203
+ stopProgressIndicator(indicatorId2, `${importError}`, 'fail');
204
+ }
191
205
  } else {
192
- failSpinner(`Unresolved dependencies:`);
206
+ stopProgressIndicator(indicatorId1, `Unresolved dependencies:`, 'fail');
193
207
  for (const journey of Object.keys(unresolvedJourneys)) {
194
208
  printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
195
209
  }
196
210
  }
197
211
  // end dependency resolution for single tree import
198
212
  } else {
199
- showSpinner(`Importing ${journeyId}...`);
200
- failSpinner(`${journeyId} not found!`);
213
+ const indicatorId3 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
214
+ stopProgressIndicator(indicatorId3, `${journeyId} not found!`, 'fail');
201
215
  }
202
- });
216
+ } catch (error) {
217
+ printMessage(`Error importing journey ${journeyId}: ${error}`, 'error');
218
+ }
203
219
  }
204
220
 
205
221
  /**
@@ -208,9 +224,9 @@ export async function importJourneyFromFile(journeyId, file, options) {
208
224
  * @param {TreeImportOptions} options import options
209
225
  */
210
226
  export async function importFirstJourneyFromFile(file, options) {
211
- const verbose = state.getDebug();
212
- fs.readFile(file, 'utf8', async (err, data) => {
213
- if (err) throw err;
227
+ const verbose = state.getVerbose();
228
+ try {
229
+ const data = fs.readFileSync(getFilePath(file), 'utf8');
214
230
  let journeyData = cloneDeep(JSON.parse(data));
215
231
  let journeyId = null;
216
232
  // single tree
@@ -231,35 +247,39 @@ export async function importFirstJourneyFromFile(file, options) {
231
247
  // if a journeyId was specified, only import the matching journey
232
248
  if (journeyData && journeyId) {
233
249
  // attempt dependency resolution for single tree import
234
- const installedJourneys = (await frodo.authn.journey.getJourneys()).map(x => x._id);
250
+ const installedJourneys = (await readJourneys()).map(x => x._id);
235
251
  const unresolvedJourneys = {};
236
252
  const resolvedJourneys = [];
237
- showSpinner('Resolving dependencies');
238
- await frodo.authn.journey.resolveDependencies(installedJourneys, {
253
+ const depSpinnerId = createProgressIndicator('indeterminate', 0, 'Resolving dependencies');
254
+ await resolveDependencies(installedJourneys, {
239
255
  [journeyId]: journeyData
240
256
  }, unresolvedJourneys, resolvedJourneys);
241
257
  if (Object.keys(unresolvedJourneys).length === 0) {
242
- succeedSpinner(`Resolved all dependencies.`);
243
- if (!verbose) showSpinner(`Importing ${journeyId}...`);
244
- frodo.authn.journey.importJourney(journeyData, options).then(() => {
245
- if (verbose) showSpinner(`Importing ${journeyId}...`);
246
- succeedSpinner(`Imported ${journeyId}.`);
247
- }).catch(importError => {
248
- if (verbose) showSpinner(`Importing ${journeyId}...`);
249
- failSpinner(`${importError}`);
250
- });
258
+ stopProgressIndicator(depSpinnerId, `Resolved all dependencies.`, 'success');
259
+ let importSpinnerId;
260
+ if (!verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
261
+ try {
262
+ await importJourney(journeyData, options);
263
+ if (verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
264
+ stopProgressIndicator(importSpinnerId, `Imported ${journeyId}.`, 'success');
265
+ } catch (importError) {
266
+ if (verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
267
+ stopProgressIndicator(importSpinnerId, `${importError}`, 'fail');
268
+ }
251
269
  } else {
252
- failSpinner(`Unresolved dependencies:`);
270
+ stopProgressIndicator(depSpinnerId, `Unresolved dependencies:`, 'fail');
253
271
  for (const journey of Object.keys(unresolvedJourneys)) {
254
272
  printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
255
273
  }
256
274
  }
257
275
  } else {
258
- showSpinner(`Importing...`);
259
- failSpinner(`No journeys found!`);
276
+ const importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing...`);
277
+ stopProgressIndicator(importSpinnerId, `No journeys found!`, 'fail');
260
278
  }
261
279
  // end dependency resolution for single tree import
262
- });
280
+ } catch (error) {
281
+ printMessage(`Error importing first journey: ${error}`, 'error');
282
+ }
263
283
  }
264
284
 
265
285
  /**
@@ -268,11 +288,27 @@ export async function importFirstJourneyFromFile(file, options) {
268
288
  * @param {TreeImportOptions} options import options
269
289
  */
270
290
  export async function importJourneysFromFile(file, options) {
271
- fs.readFile(file, 'utf8', (err, data) => {
272
- if (err) throw err;
273
- const fileData = JSON.parse(data);
274
- frodo.authn.journey.importAllJourneys(fileData.trees, options);
275
- });
291
+ try {
292
+ const data = fs.readFileSync(getFilePath(file), 'utf8');
293
+ try {
294
+ const fileData = JSON.parse(data);
295
+ await importJourneys(fileData, options);
296
+ } catch (error) {
297
+ if (error.name === 'UnresolvedDependenciesError') {
298
+ for (const journey of Object.keys(error.unresolvedJourneys)) {
299
+ printMessage({
300
+ message: ` - ${journey} requires ${error.unresolvedJourneys[journey]}`,
301
+ type: 'info',
302
+ state
303
+ });
304
+ }
305
+ } else {
306
+ printMessage(`${error.message}`, 'error');
307
+ }
308
+ }
309
+ } catch (error) {
310
+ printMessage(`Error importing journeys: ${error}`, 'error');
311
+ }
276
312
  }
277
313
 
278
314
  /**
@@ -280,8 +316,8 @@ export async function importJourneysFromFile(file, options) {
280
316
  * @param {TreeImportOptions} options import options
281
317
  */
282
318
  export async function importJourneysFromFiles(options) {
283
- const names = fs.readdirSync('.');
284
- const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.journey.json'));
319
+ const names = fs.readdirSync(getWorkingDirectory());
320
+ const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.journey.json')).map(name => getFilePath(name));
285
321
  const allJourneysData = {
286
322
  trees: {}
287
323
  };
@@ -289,7 +325,12 @@ export async function importJourneysFromFiles(options) {
289
325
  const journeyData = JSON.parse(fs.readFileSync(file, 'utf8'));
290
326
  allJourneysData.trees[journeyData.tree._id] = journeyData;
291
327
  }
292
- frodo.authn.journey.importAllJourneys(allJourneysData.trees, options);
328
+ try {
329
+ await importJourneys(allJourneysData, options);
330
+ } catch (error) {
331
+ var _error$response2;
332
+ printMessage(`${((_error$response2 = error.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || error.message}`, 'error');
333
+ }
293
334
  }
294
335
 
295
336
  /**
@@ -298,7 +339,7 @@ export async function importJourneysFromFiles(options) {
298
339
  * @returns {string[]} Colored string array of classifications
299
340
  */
300
341
  export function getJourneyClassification(journey) {
301
- return frodo.authn.journey.getJourneyClassification(journey).map(it => {
342
+ return _getJourneyClassification(journey).map(it => {
302
343
  switch (it) {
303
344
  case 'standard':
304
345
  return it['brightGreen'];
@@ -318,7 +359,7 @@ export function getJourneyClassification(journey) {
318
359
  * @returns {string[]} Colored string array of classifications
319
360
  */
320
361
  export function getJourneyClassificationMd(journey) {
321
- return frodo.authn.journey.getJourneyClassification(journey).map(it => {
362
+ return _getJourneyClassification(journey).map(it => {
322
363
  switch (it) {
323
364
  case 'standard':
324
365
  return `:green_circle: \`${it}\``;
@@ -410,7 +451,7 @@ function describeTreeDescendentsMd(descendents, depth = 0) {
410
451
  * @param {SingleTreeExportInterface} journeyData journey export object
411
452
  * @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function
412
453
  */
413
- export async function describeJourney(journeyData, resolveTreeExport = frodo.authn.journey.onlineTreeExportResolver) {
454
+ export async function describeJourney(journeyData, resolveTreeExport = onlineTreeExportResolver) {
414
455
  var _journeyData$meta, _journeyData$tree$uiC, _journeyData$themes;
415
456
  const allNodes = {
416
457
  ...journeyData.nodes,
@@ -454,8 +495,13 @@ export async function describeJourney(journeyData, resolveTreeExport = frodo.aut
454
495
  }
455
496
 
456
497
  // Dependency Tree
457
- const descendents = await frodo.authn.journey.getTreeDescendents(journeyData, resolveTreeExport);
458
- describeTreeDescendents(descendents);
498
+ try {
499
+ const descendents = await getTreeDescendents(journeyData, resolveTreeExport);
500
+ describeTreeDescendents(descendents);
501
+ } catch (error) {
502
+ printMessage(`Error resolving inner tree dependencies:`, 'error');
503
+ printMessage(error.stack, 'error');
504
+ }
459
505
 
460
506
  // Node Types
461
507
  if (Object.entries(nodeTypeMap).length) {
@@ -469,7 +515,7 @@ export async function describeJourney(journeyData, resolveTreeExport = frodo.aut
469
515
  if (Object.entries(allNodes).length) {
470
516
  printMessage(`\nNodes (${Object.entries(allNodes).length}):`, 'data');
471
517
  for (const nodeObj of Object.values(allNodes)) {
472
- printMessage(`- ${Node.getOneLineDescription(nodeObj, frodo.authn.journey.getNodeRef(nodeObj, journeyData))}`, 'data');
518
+ printMessage(`- ${Node.getOneLineDescription(nodeObj, getNodeRef(nodeObj, journeyData))}`, 'data');
473
519
  }
474
520
  }
475
521
 
@@ -537,7 +583,7 @@ export async function describeJourney(journeyData, resolveTreeExport = frodo.aut
537
583
  * @param {SingleTreeExportInterface} journeyData journey export object
538
584
  * @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function
539
585
  */
540
- export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.authn.journey.onlineTreeExportResolver) {
586
+ export async function describeJourneyMd(journeyData, resolveTreeExport = onlineTreeExportResolver) {
541
587
  var _journeyData$meta2, _journeyData$tree$uiC2, _journeyData$themes2;
542
588
  const allNodes = {
543
589
  ...journeyData.nodes,
@@ -574,7 +620,7 @@ export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.a
574
620
  printMessage(`\n[![](./${journeyData.tree._id}.png)]()\n`, 'data');
575
621
 
576
622
  // Dependency Tree
577
- const descendents = await frodo.authn.journey.getTreeDescendents(journeyData, resolveTreeExport);
623
+ const descendents = await getTreeDescendents(journeyData, resolveTreeExport);
578
624
  printMessage(describeTreeDescendentsMd(descendents), 'data');
579
625
 
580
626
  // Node Types
@@ -592,7 +638,7 @@ export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.a
592
638
  printMessage(`## Nodes (${Object.entries(allNodes).length})`, 'data');
593
639
  printMessage(Node.getTableHeaderMd(), 'data');
594
640
  for (const nodeObj of Object.values(allNodes)) {
595
- printMessage(`${Node.getTableRowMd(nodeObj, frodo.authn.journey.getNodeRef(nodeObj, journeyData))}`, 'data');
641
+ printMessage(`${Node.getTableRowMd(nodeObj, getNodeRef(nodeObj, journeyData))}`, 'data');
596
642
  }
597
643
  }
598
644
 
@@ -650,4 +696,24 @@ export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.a
650
696
  }
651
697
  }
652
698
  }
653
- //# sourceMappingURL=JourneyOps.js.map
699
+ export async function enableJourney(journeyId) {
700
+ const indicatorId = createProgressIndicator('indeterminate', 0, `Enabling journey ${journeyId}...`);
701
+ if (_enableJourney(journeyId)) {
702
+ stopProgressIndicator(indicatorId, `Enabled journey ${journeyId}.`, 'success');
703
+ return true;
704
+ } else {
705
+ stopProgressIndicator(indicatorId, `Error enabling journey ${journeyId}`, 'fail');
706
+ return false;
707
+ }
708
+ }
709
+ export async function disableJourney(journeyId) {
710
+ const indicatorId = createProgressIndicator('indeterminate', 0, `Disabling journey ${journeyId}...`);
711
+ if (_disableJourney(journeyId)) {
712
+ stopProgressIndicator(indicatorId, `Disabled journey ${journeyId}.`, 'success');
713
+ return true;
714
+ } else {
715
+ stopProgressIndicator(indicatorId, `Error disabling journey ${journeyId}`, 'fail');
716
+ return false;
717
+ }
718
+ }
719
+ //# sourceMappingURL=JourneyOps.js.map