@rockcarver/frodo-cli 2.0.0-4 → 2.0.0-41

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 (486) hide show
  1. package/CHANGELOG.md +312 -5
  2. package/esm/app.js +22 -5
  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 +43 -0
  193. package/esm/cli/config/config-export.js.map +1 -0
  194. package/esm/cli/config/config-import.js +54 -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 +31 -16
  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 +10 -7
  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 +10 -7
  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 -8
  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 +24 -13
  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/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
  307. package/esm/cli/log/log-fetch.js.map +1 -0
  308. package/esm/cli/log/log-key-delete.js +34 -0
  309. package/esm/cli/log/log-key-delete.js.map +1 -0
  310. package/esm/cli/log/log-key-describe.js +21 -0
  311. package/esm/cli/log/log-key-describe.js.map +1 -0
  312. package/esm/cli/log/log-key-list.js +25 -0
  313. package/esm/cli/log/log-key-list.js.map +1 -0
  314. package/esm/cli/log/log-key.js +8 -0
  315. package/esm/cli/log/log-key.js.map +1 -0
  316. package/esm/cli/log/log-list.js +80 -0
  317. package/esm/cli/log/log-list.js.map +1 -0
  318. package/esm/cli/log/log-tail.js +77 -0
  319. package/esm/cli/log/log-tail.js.map +1 -0
  320. package/esm/cli/{logging/logs.js → log/log.js} +6 -3
  321. package/esm/cli/log/log.js.map +1 -0
  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 +14 -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 +12 -14
  375. package/esm/cli/script/script-export.js.map +1 -1
  376. package/esm/cli/script/script-import.js +9 -7
  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 +7 -0
  405. package/esm/help/SampleData.js.map +1 -0
  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 +162 -0
  423. package/esm/ops/ConfigOps.js.map +1 -0
  424. package/esm/ops/ConnectionProfileOps.js +12 -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 +118 -73
  431. package/esm/ops/IdpOps.js.map +1 -1
  432. package/esm/ops/JourneyOps.js +176 -114
  433. package/esm/ops/JourneyOps.js.map +1 -1
  434. package/esm/ops/LogOps.js +92 -30
  435. package/esm/ops/LogOps.js.map +1 -1
  436. package/esm/ops/NodeOps.js +6 -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 +18 -11
  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 +132 -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 +205 -82
  454. package/esm/ops/ScriptOps.js.map +1 -1
  455. package/esm/ops/SecretsOps.js +289 -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 +162 -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 +19 -16
  474. package/esm/utils/Version.js.map +1 -1
  475. package/global-jest-setup.js +4 -0
  476. package/package.json +55 -37
  477. package/esm/cli/logging/logs-fetch.js.map +0 -1
  478. package/esm/cli/logging/logs-list.js +0 -49
  479. package/esm/cli/logging/logs-list.js.map +0 -1
  480. package/esm/cli/logging/logs-tail.js +0 -46
  481. package/esm/cli/logging/logs-tail.js.map +0 -1
  482. package/esm/cli/logging/logs.js.map +0 -1
  483. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  484. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
  485. package/esm/utils/ExportImportUtils.js +0 -90
  486. 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,17 @@ 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
64
  deps: false
44
65
  }));
45
66
  }
46
67
  const journeyExports = await Promise.all(exportPromises);
47
- succeedSpinner('Retrieved details of all journeys.');
68
+ stopProgressIndicator(spinnerId, 'Retrieved details of all journeys.', 'success');
48
69
  const table = createTable(['Name', 'Status', 'Classification', 'Tags']);
49
70
  for (const journeyExport of journeyExports) {
50
71
  var _journeyExport$tree$u;
@@ -52,7 +73,7 @@ export async function listJourneys(long = false, analyze = false) {
52
73
  }
53
74
  printMessage(table.toString(), 'data');
54
75
  } catch (error) {
55
- failSpinner('Error retrieving details of all journeys.');
76
+ stopProgressIndicator(spinnerId, 'Error retrieving details of all journeys.', 'fail');
56
77
  printMessage(error.response.data, 'error');
57
78
  }
58
79
  }
@@ -68,86 +89,73 @@ export async function listJourneys(long = false, analyze = false) {
68
89
  * Export journey by id/name to file
69
90
  * @param {string} journeyId journey id/name
70
91
  * @param {string} file optional export file name
92
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
71
93
  * @param {TreeExportOptions} options export options
72
94
  */
73
- export async function exportJourneyToFile(journeyId, file, options) {
95
+ export async function exportJourneyToFile(journeyId, file, includeMeta = true, options = {
96
+ deps: false,
97
+ useStringArrays: false
98
+ }) {
74
99
  debugMessage(`exportJourneyToFile: start`);
75
- const verbose = state.getDebug();
100
+ const verbose = state.getVerbose();
76
101
  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
- }
102
+ file = getTypedFilename(journeyId, 'journey');
90
103
  }
91
- if (!verbose) showSpinner(`${journeyId}`);
104
+ const filePath = getFilePath(file, true);
105
+ let spinnerId;
106
+ if (!verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
92
107
  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']}.`);
108
+ const fileData = await exportJourney(journeyId, options);
109
+ if (verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
110
+ saveJsonToFile(fileData, filePath, includeMeta);
111
+ stopProgressIndicator(spinnerId, `Exported ${journeyId['brightCyan']} to ${filePath['brightCyan']}.`, 'success');
97
112
  } catch (error) {
98
- if (verbose) showSpinner(`${journeyId}`);
99
- failSpinner(`Error exporting journey ${journeyId}: ${error}`);
113
+ if (verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
114
+ stopProgressIndicator(spinnerId, `Error exporting journey ${journeyId}: ${error}`, 'fail');
100
115
  }
101
116
  }
102
117
 
103
118
  /**
104
119
  * Export all journeys to file
105
120
  * @param {string} file optional export file name
121
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
106
122
  * @param {TreeExportOptions} options export options
107
123
  */
108
- export async function exportJourneysToFile(file, options = {
124
+ export async function exportJourneysToFile(file, includeMeta = true, options = {
109
125
  deps: false,
110
126
  useStringArrays: false
111
127
  }) {
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
- }
128
+ if (!file) {
129
+ file = getTypedFilename(`all${getRealmString()}Journeys`, 'journey');
128
130
  }
129
- frodo.utils.impex.saveJsonToFile(fileData, fileName);
130
- stopProgressBar(`Exported to ${fileName}`);
131
+ const filePath = getFilePath(file, true);
132
+ const fileData = await exportJourneys(options);
133
+ saveJsonToFile(fileData, filePath, includeMeta);
131
134
  }
132
135
 
133
136
  /**
134
137
  * Export all journeys to separate files
138
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
135
139
  * @param {TreeExportOptions} options export options
136
140
  */
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');
141
+ export async function exportJourneysToFiles(includeMeta = true, options = {
142
+ deps: false,
143
+ useStringArrays: false
144
+ }) {
145
+ const journeysExport = await exportJourneys(options);
146
+ const trees = Object.entries(journeysExport.trees);
147
+ for (const [treeId, treeValue] of trees) {
148
+ const indicatorId = createProgressIndicator('determinate', 1, `Saving ${treeId}...`);
149
+ const file = getFilePath(getTypedFilename(`${treeId}`, 'journey'), true);
150
+ treeValue['meta'] = journeysExport.meta;
143
151
  try {
144
- const exportData = await frodo.authn.journey.exportJourney(tree._id, options);
145
- frodo.utils.impex.saveJsonToFile(exportData, fileName);
152
+ updateProgressIndicator(indicatorId, `Saving ${treeId} to ${file}`);
153
+ saveJsonToFile(treeValue, file, includeMeta);
154
+ stopProgressIndicator(indicatorId, `${treeId} saved to ${file}`);
146
155
  } catch (error) {
147
- // do we need to report status here?
156
+ stopProgressIndicator(indicatorId, `Error saving ${treeId} to ${file}`);
148
157
  }
149
158
  }
150
- stopProgressBar('Done');
151
159
  }
152
160
 
153
161
  /**
@@ -157,9 +165,9 @@ export async function exportJourneysToFiles(options) {
157
165
  * @param {TreeImportOptions} options import options
158
166
  */
159
167
  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;
168
+ const verbose = state.getVerbose();
169
+ try {
170
+ const data = fs.readFileSync(getFilePath(file), 'utf8');
163
171
  let journeyData = JSON.parse(data);
164
172
  // check if this is a file with multiple trees and get journey by id
165
173
  if (journeyData.trees && journeyData.trees[journeyId]) {
@@ -171,35 +179,39 @@ export async function importJourneyFromFile(journeyId, file, options) {
171
179
  // if a journeyId was specified, only import the matching journey
172
180
  if (journeyData && journeyId === journeyData.tree._id) {
173
181
  // attempt dependency resolution for single tree import
174
- const installedJourneys = (await frodo.authn.journey.getJourneys()).map(x => x._id);
182
+ const installedJourneys = (await readJourneys()).map(x => x._id);
175
183
  const unresolvedJourneys = {};
176
184
  const resolvedJourneys = [];
177
- showSpinner('Resolving dependencies');
178
- await frodo.authn.journey.resolveDependencies(installedJourneys, {
185
+ const indicatorId1 = createProgressIndicator('indeterminate', 0, 'Resolving dependencies');
186
+ await resolveDependencies(installedJourneys, {
179
187
  [journeyId]: journeyData
180
188
  }, unresolvedJourneys, resolvedJourneys);
181
189
  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
- });
190
+ stopProgressIndicator(indicatorId1, `Resolved all dependencies.`, 'success');
191
+ let indicatorId2;
192
+ if (!verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
193
+ try {
194
+ await importJourney(journeyData, options);
195
+ if (verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
196
+ stopProgressIndicator(indicatorId2, `Imported ${journeyId}.`, 'success');
197
+ } catch (importError) {
198
+ if (verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
199
+ stopProgressIndicator(indicatorId2, `${importError}`, 'fail');
200
+ }
191
201
  } else {
192
- failSpinner(`Unresolved dependencies:`);
202
+ stopProgressIndicator(indicatorId1, `Unresolved dependencies:`, 'fail');
193
203
  for (const journey of Object.keys(unresolvedJourneys)) {
194
204
  printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
195
205
  }
196
206
  }
197
207
  // end dependency resolution for single tree import
198
208
  } else {
199
- showSpinner(`Importing ${journeyId}...`);
200
- failSpinner(`${journeyId} not found!`);
209
+ const indicatorId3 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
210
+ stopProgressIndicator(indicatorId3, `${journeyId} not found!`, 'fail');
201
211
  }
202
- });
212
+ } catch (error) {
213
+ printMessage(`Error importing journey ${journeyId}: ${error}`, 'error');
214
+ }
203
215
  }
204
216
 
205
217
  /**
@@ -208,9 +220,9 @@ export async function importJourneyFromFile(journeyId, file, options) {
208
220
  * @param {TreeImportOptions} options import options
209
221
  */
210
222
  export async function importFirstJourneyFromFile(file, options) {
211
- const verbose = state.getDebug();
212
- fs.readFile(file, 'utf8', async (err, data) => {
213
- if (err) throw err;
223
+ const verbose = state.getVerbose();
224
+ try {
225
+ const data = fs.readFileSync(getFilePath(file), 'utf8');
214
226
  let journeyData = cloneDeep(JSON.parse(data));
215
227
  let journeyId = null;
216
228
  // single tree
@@ -231,35 +243,39 @@ export async function importFirstJourneyFromFile(file, options) {
231
243
  // if a journeyId was specified, only import the matching journey
232
244
  if (journeyData && journeyId) {
233
245
  // attempt dependency resolution for single tree import
234
- const installedJourneys = (await frodo.authn.journey.getJourneys()).map(x => x._id);
246
+ const installedJourneys = (await readJourneys()).map(x => x._id);
235
247
  const unresolvedJourneys = {};
236
248
  const resolvedJourneys = [];
237
- showSpinner('Resolving dependencies');
238
- await frodo.authn.journey.resolveDependencies(installedJourneys, {
249
+ const depSpinnerId = createProgressIndicator('indeterminate', 0, 'Resolving dependencies');
250
+ await resolveDependencies(installedJourneys, {
239
251
  [journeyId]: journeyData
240
252
  }, unresolvedJourneys, resolvedJourneys);
241
253
  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
- });
254
+ stopProgressIndicator(depSpinnerId, `Resolved all dependencies.`, 'success');
255
+ let importSpinnerId;
256
+ if (!verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
257
+ try {
258
+ await importJourney(journeyData, options);
259
+ if (verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
260
+ stopProgressIndicator(importSpinnerId, `Imported ${journeyId}.`, 'success');
261
+ } catch (importError) {
262
+ if (verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
263
+ stopProgressIndicator(importSpinnerId, `${importError}`, 'fail');
264
+ }
251
265
  } else {
252
- failSpinner(`Unresolved dependencies:`);
266
+ stopProgressIndicator(depSpinnerId, `Unresolved dependencies:`, 'fail');
253
267
  for (const journey of Object.keys(unresolvedJourneys)) {
254
268
  printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
255
269
  }
256
270
  }
257
271
  } else {
258
- showSpinner(`Importing...`);
259
- failSpinner(`No journeys found!`);
272
+ const importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing...`);
273
+ stopProgressIndicator(importSpinnerId, `No journeys found!`, 'fail');
260
274
  }
261
275
  // end dependency resolution for single tree import
262
- });
276
+ } catch (error) {
277
+ printMessage(`Error importing first journey: ${error}`, 'error');
278
+ }
263
279
  }
264
280
 
265
281
  /**
@@ -268,11 +284,27 @@ export async function importFirstJourneyFromFile(file, options) {
268
284
  * @param {TreeImportOptions} options import options
269
285
  */
270
286
  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
- });
287
+ try {
288
+ const data = fs.readFileSync(getFilePath(file), 'utf8');
289
+ try {
290
+ const fileData = JSON.parse(data);
291
+ await importJourneys(fileData, options);
292
+ } catch (error) {
293
+ if (error.name === 'UnresolvedDependenciesError') {
294
+ for (const journey of Object.keys(error.unresolvedJourneys)) {
295
+ printMessage({
296
+ message: ` - ${journey} requires ${error.unresolvedJourneys[journey]}`,
297
+ type: 'info',
298
+ state
299
+ });
300
+ }
301
+ } else {
302
+ printMessage(`${error.message}`, 'error');
303
+ }
304
+ }
305
+ } catch (error) {
306
+ printMessage(`Error importing journeys: ${error}`, 'error');
307
+ }
276
308
  }
277
309
 
278
310
  /**
@@ -280,8 +312,8 @@ export async function importJourneysFromFile(file, options) {
280
312
  * @param {TreeImportOptions} options import options
281
313
  */
282
314
  export async function importJourneysFromFiles(options) {
283
- const names = fs.readdirSync('.');
284
- const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.journey.json'));
315
+ const names = fs.readdirSync(getWorkingDirectory());
316
+ const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.journey.json')).map(name => getFilePath(name));
285
317
  const allJourneysData = {
286
318
  trees: {}
287
319
  };
@@ -289,7 +321,12 @@ export async function importJourneysFromFiles(options) {
289
321
  const journeyData = JSON.parse(fs.readFileSync(file, 'utf8'));
290
322
  allJourneysData.trees[journeyData.tree._id] = journeyData;
291
323
  }
292
- frodo.authn.journey.importAllJourneys(allJourneysData.trees, options);
324
+ try {
325
+ await importJourneys(allJourneysData, options);
326
+ } catch (error) {
327
+ var _error$response2;
328
+ 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');
329
+ }
293
330
  }
294
331
 
295
332
  /**
@@ -298,7 +335,7 @@ export async function importJourneysFromFiles(options) {
298
335
  * @returns {string[]} Colored string array of classifications
299
336
  */
300
337
  export function getJourneyClassification(journey) {
301
- return frodo.authn.journey.getJourneyClassification(journey).map(it => {
338
+ return _getJourneyClassification(journey).map(it => {
302
339
  switch (it) {
303
340
  case 'standard':
304
341
  return it['brightGreen'];
@@ -318,7 +355,7 @@ export function getJourneyClassification(journey) {
318
355
  * @returns {string[]} Colored string array of classifications
319
356
  */
320
357
  export function getJourneyClassificationMd(journey) {
321
- return frodo.authn.journey.getJourneyClassification(journey).map(it => {
358
+ return _getJourneyClassification(journey).map(it => {
322
359
  switch (it) {
323
360
  case 'standard':
324
361
  return `:green_circle: \`${it}\``;
@@ -410,7 +447,7 @@ function describeTreeDescendentsMd(descendents, depth = 0) {
410
447
  * @param {SingleTreeExportInterface} journeyData journey export object
411
448
  * @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function
412
449
  */
413
- export async function describeJourney(journeyData, resolveTreeExport = frodo.authn.journey.onlineTreeExportResolver) {
450
+ export async function describeJourney(journeyData, resolveTreeExport = onlineTreeExportResolver) {
414
451
  var _journeyData$meta, _journeyData$tree$uiC, _journeyData$themes;
415
452
  const allNodes = {
416
453
  ...journeyData.nodes,
@@ -454,8 +491,13 @@ export async function describeJourney(journeyData, resolveTreeExport = frodo.aut
454
491
  }
455
492
 
456
493
  // Dependency Tree
457
- const descendents = await frodo.authn.journey.getTreeDescendents(journeyData, resolveTreeExport);
458
- describeTreeDescendents(descendents);
494
+ try {
495
+ const descendents = await getTreeDescendents(journeyData, resolveTreeExport);
496
+ describeTreeDescendents(descendents);
497
+ } catch (error) {
498
+ printMessage(`Error resolving inner tree dependencies:`, 'error');
499
+ printMessage(error.stack, 'error');
500
+ }
459
501
 
460
502
  // Node Types
461
503
  if (Object.entries(nodeTypeMap).length) {
@@ -469,7 +511,7 @@ export async function describeJourney(journeyData, resolveTreeExport = frodo.aut
469
511
  if (Object.entries(allNodes).length) {
470
512
  printMessage(`\nNodes (${Object.entries(allNodes).length}):`, 'data');
471
513
  for (const nodeObj of Object.values(allNodes)) {
472
- printMessage(`- ${Node.getOneLineDescription(nodeObj, frodo.authn.journey.getNodeRef(nodeObj, journeyData))}`, 'data');
514
+ printMessage(`- ${Node.getOneLineDescription(nodeObj, getNodeRef(nodeObj, journeyData))}`, 'data');
473
515
  }
474
516
  }
475
517
 
@@ -537,7 +579,7 @@ export async function describeJourney(journeyData, resolveTreeExport = frodo.aut
537
579
  * @param {SingleTreeExportInterface} journeyData journey export object
538
580
  * @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function
539
581
  */
540
- export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.authn.journey.onlineTreeExportResolver) {
582
+ export async function describeJourneyMd(journeyData, resolveTreeExport = onlineTreeExportResolver) {
541
583
  var _journeyData$meta2, _journeyData$tree$uiC2, _journeyData$themes2;
542
584
  const allNodes = {
543
585
  ...journeyData.nodes,
@@ -574,7 +616,7 @@ export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.a
574
616
  printMessage(`\n[![](./${journeyData.tree._id}.png)]()\n`, 'data');
575
617
 
576
618
  // Dependency Tree
577
- const descendents = await frodo.authn.journey.getTreeDescendents(journeyData, resolveTreeExport);
619
+ const descendents = await getTreeDescendents(journeyData, resolveTreeExport);
578
620
  printMessage(describeTreeDescendentsMd(descendents), 'data');
579
621
 
580
622
  // Node Types
@@ -592,7 +634,7 @@ export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.a
592
634
  printMessage(`## Nodes (${Object.entries(allNodes).length})`, 'data');
593
635
  printMessage(Node.getTableHeaderMd(), 'data');
594
636
  for (const nodeObj of Object.values(allNodes)) {
595
- printMessage(`${Node.getTableRowMd(nodeObj, frodo.authn.journey.getNodeRef(nodeObj, journeyData))}`, 'data');
637
+ printMessage(`${Node.getTableRowMd(nodeObj, getNodeRef(nodeObj, journeyData))}`, 'data');
596
638
  }
597
639
  }
598
640
 
@@ -650,4 +692,24 @@ export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.a
650
692
  }
651
693
  }
652
694
  }
653
- //# sourceMappingURL=JourneyOps.js.map
695
+ export async function enableJourney(journeyId) {
696
+ const indicatorId = createProgressIndicator('indeterminate', 0, `Enabling journey ${journeyId}...`);
697
+ if (_enableJourney(journeyId)) {
698
+ stopProgressIndicator(indicatorId, `Enabled journey ${journeyId}.`, 'success');
699
+ return true;
700
+ } else {
701
+ stopProgressIndicator(indicatorId, `Error enabling journey ${journeyId}`, 'fail');
702
+ return false;
703
+ }
704
+ }
705
+ export async function disableJourney(journeyId) {
706
+ const indicatorId = createProgressIndicator('indeterminate', 0, `Disabling journey ${journeyId}...`);
707
+ if (_disableJourney(journeyId)) {
708
+ stopProgressIndicator(indicatorId, `Disabled journey ${journeyId}.`, 'success');
709
+ return true;
710
+ } else {
711
+ stopProgressIndicator(indicatorId, `Error disabling journey ${journeyId}`, 'fail');
712
+ return false;
713
+ }
714
+ }
715
+ //# sourceMappingURL=JourneyOps.js.map