@rockcarver/frodo-cli 2.0.0-3 → 2.0.0-31

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 (466) hide show
  1. package/CHANGELOG.md +275 -4
  2. package/esm/app.js +20 -5
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +28 -6
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +7 -4
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -4
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -4
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -4
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +7 -4
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -4
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -4
  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 +7 -4
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -4
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -4
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -4
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -4
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +7 -4
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -4
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -4
  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 -4
  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 -7
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-export.js +45 -0
  47. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-import.js +49 -0
  49. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-list.js +29 -0
  51. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  52. package/esm/cli/admin/admin-federation.js +13 -0
  53. package/esm/cli/admin/admin-federation.js.map +1 -0
  54. package/esm/cli/admin/admin-get-access-token.js +12 -6
  55. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  56. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -7
  57. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -5
  59. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  60. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +11 -5
  61. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +11 -5
  63. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-list-static-user-mappings.js +12 -6
  65. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  66. package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -5
  67. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  68. package/esm/cli/admin/admin-repair-org-model.js +11 -5
  69. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  70. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -6
  71. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  72. package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -5
  73. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  74. package/esm/cli/admin/admin-train-auto-access-model.js +33 -0
  75. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -0
  76. package/esm/cli/admin/admin.js +6 -2
  77. package/esm/cli/admin/admin.js.map +1 -1
  78. package/esm/cli/agent/agent-delete.js +13 -6
  79. package/esm/cli/agent/agent-delete.js.map +1 -1
  80. package/esm/cli/agent/agent-describe.js +7 -4
  81. package/esm/cli/agent/agent-describe.js.map +1 -1
  82. package/esm/cli/agent/agent-export.js +8 -5
  83. package/esm/cli/agent/agent-export.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-delete.js +13 -6
  85. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  86. package/esm/cli/agent/agent-gateway-describe.js +7 -4
  87. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-export.js +8 -5
  89. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-import.js +8 -5
  91. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway-list.js +7 -4
  93. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  94. package/esm/cli/agent/agent-gateway.js +1 -1
  95. package/esm/cli/agent/agent-gateway.js.map +1 -1
  96. package/esm/cli/agent/agent-import.js +8 -5
  97. package/esm/cli/agent/agent-import.js.map +1 -1
  98. package/esm/cli/agent/agent-java-delete.js +13 -6
  99. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  100. package/esm/cli/agent/agent-java-describe.js +7 -4
  101. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  102. package/esm/cli/agent/agent-java-export.js +8 -5
  103. package/esm/cli/agent/agent-java-export.js.map +1 -1
  104. package/esm/cli/agent/agent-java-import.js +8 -5
  105. package/esm/cli/agent/agent-java-import.js.map +1 -1
  106. package/esm/cli/agent/agent-java-list.js +7 -4
  107. package/esm/cli/agent/agent-java-list.js.map +1 -1
  108. package/esm/cli/agent/agent-java.js +1 -1
  109. package/esm/cli/agent/agent-java.js.map +1 -1
  110. package/esm/cli/agent/agent-list.js +7 -4
  111. package/esm/cli/agent/agent-list.js.map +1 -1
  112. package/esm/cli/agent/agent-web-delete.js +13 -6
  113. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  114. package/esm/cli/agent/agent-web-describe.js +7 -4
  115. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  116. package/esm/cli/agent/agent-web-export.js +8 -5
  117. package/esm/cli/agent/agent-web-export.js.map +1 -1
  118. package/esm/cli/agent/agent-web-import.js +8 -5
  119. package/esm/cli/agent/agent-web-import.js.map +1 -1
  120. package/esm/cli/agent/agent-web-list.js +7 -4
  121. package/esm/cli/agent/agent-web-list.js.map +1 -1
  122. package/esm/cli/agent/agent-web.js +3 -3
  123. package/esm/cli/agent/agent-web.js.map +1 -1
  124. package/esm/cli/agent/agent.js +2 -2
  125. package/esm/cli/agent/agent.js.map +1 -1
  126. package/esm/cli/app/app-delete.js +27 -8
  127. package/esm/cli/app/app-delete.js.map +1 -1
  128. package/esm/cli/app/app-describe.js +9 -5
  129. package/esm/cli/app/app-describe.js.map +1 -1
  130. package/esm/cli/app/app-export.js +17 -13
  131. package/esm/cli/app/app-export.js.map +1 -1
  132. package/esm/cli/app/app-import.js +21 -17
  133. package/esm/cli/app/app-import.js.map +1 -1
  134. package/esm/cli/app/app-list.js +12 -8
  135. package/esm/cli/app/app-list.js.map +1 -1
  136. package/esm/cli/app/app.js +8 -12
  137. package/esm/cli/app/app.js.map +1 -1
  138. package/esm/cli/authn/authn-describe.js +30 -0
  139. package/esm/cli/authn/authn-describe.js.map +1 -0
  140. package/esm/cli/authn/authn-export.js +26 -0
  141. package/esm/cli/authn/authn-export.js.map +1 -0
  142. package/esm/cli/authn/authn-import.js +26 -0
  143. package/esm/cli/authn/authn-import.js.map +1 -0
  144. package/esm/cli/authn/authn.js +12 -0
  145. package/esm/cli/authn/authn.js.map +1 -0
  146. package/esm/cli/authz/authz-policy-delete.js +11 -8
  147. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  148. package/esm/cli/authz/authz-policy-describe.js +8 -5
  149. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  150. package/esm/cli/authz/authz-policy-export.js +12 -9
  151. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  152. package/esm/cli/authz/authz-policy-import.js +10 -7
  153. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  154. package/esm/cli/authz/authz-policy-list.js +9 -6
  155. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  156. package/esm/cli/authz/authz-policy.js +1 -1
  157. package/esm/cli/authz/authz-policy.js.map +1 -1
  158. package/esm/cli/authz/authz-set-delete.js +10 -7
  159. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  160. package/esm/cli/authz/authz-set-describe.js +8 -5
  161. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  162. package/esm/cli/authz/authz-set-export.js +10 -7
  163. package/esm/cli/authz/authz-set-export.js.map +1 -1
  164. package/esm/cli/authz/authz-set-import.js +10 -7
  165. package/esm/cli/authz/authz-set-import.js.map +1 -1
  166. package/esm/cli/authz/authz-set-list.js +7 -4
  167. package/esm/cli/authz/authz-set-list.js.map +1 -1
  168. package/esm/cli/authz/authz-set.js +1 -1
  169. package/esm/cli/authz/authz-set.js.map +1 -1
  170. package/esm/cli/authz/authz-type-delete.js +12 -9
  171. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  172. package/esm/cli/authz/authz-type-describe.js +9 -6
  173. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  174. package/esm/cli/authz/authz-type-export.js +11 -8
  175. package/esm/cli/authz/authz-type-export.js.map +1 -1
  176. package/esm/cli/authz/authz-type-import.js +12 -9
  177. package/esm/cli/authz/authz-type-import.js.map +1 -1
  178. package/esm/cli/authz/authz-type-list.js +8 -5
  179. package/esm/cli/authz/authz-type-list.js.map +1 -1
  180. package/esm/cli/authz/authz-type.js +1 -1
  181. package/esm/cli/authz/authz-type.js.map +1 -1
  182. package/esm/cli/authz/authz.js +2 -2
  183. package/esm/cli/authz/authz.js.map +1 -1
  184. package/esm/cli/conn/conn-delete.js +2 -2
  185. package/esm/cli/conn/conn-delete.js.map +1 -1
  186. package/esm/cli/conn/conn-describe.js +2 -2
  187. package/esm/cli/conn/conn-describe.js.map +1 -1
  188. package/esm/cli/conn/conn-list.js +2 -2
  189. package/esm/cli/conn/conn-list.js.map +1 -1
  190. package/esm/cli/conn/conn-save.js +31 -15
  191. package/esm/cli/conn/conn-save.js.map +1 -1
  192. package/esm/cli/conn/conn.js +2 -2
  193. package/esm/cli/conn/conn.js.map +1 -1
  194. package/esm/cli/email/email-template-export.js +10 -7
  195. package/esm/cli/email/email-template-export.js.map +1 -1
  196. package/esm/cli/email/email-template-import.js +11 -8
  197. package/esm/cli/email/email-template-import.js.map +1 -1
  198. package/esm/cli/email/email-template-list.js +8 -5
  199. package/esm/cli/email/email-template-list.js.map +1 -1
  200. package/esm/cli/email/email-template.js +1 -1
  201. package/esm/cli/email/email-template.js.map +1 -1
  202. package/esm/cli/email/email.js +2 -2
  203. package/esm/cli/email/email.js.map +1 -1
  204. package/esm/cli/esv/esv-apply.js +18 -8
  205. package/esm/cli/esv/esv-apply.js.map +1 -1
  206. package/esm/cli/esv/esv-secret-create.js +8 -5
  207. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  208. package/esm/cli/esv/esv-secret-delete.js +9 -6
  209. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  210. package/esm/cli/esv/esv-secret-describe.js +8 -5
  211. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  212. package/esm/cli/esv/esv-secret-export.js +19 -5
  213. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  214. package/esm/cli/esv/esv-secret-import.js +7 -4
  215. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  216. package/esm/cli/esv/esv-secret-list.js +8 -5
  217. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  218. package/esm/cli/esv/esv-secret-set.js +8 -5
  219. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  220. package/esm/cli/esv/esv-secret-version-activate.js +8 -5
  221. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  222. package/esm/cli/esv/esv-secret-version-create.js +9 -6
  223. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  224. package/esm/cli/esv/esv-secret-version-deactivate.js +8 -5
  225. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  226. package/esm/cli/esv/esv-secret-version-delete.js +9 -6
  227. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  228. package/esm/cli/esv/esv-secret-version-list.js +8 -5
  229. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  230. package/esm/cli/esv/esv-secret-version.js +1 -1
  231. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  232. package/esm/cli/esv/esv-secret.js +2 -3
  233. package/esm/cli/esv/esv-secret.js.map +1 -1
  234. package/esm/cli/esv/esv-variable-create.js +10 -6
  235. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  236. package/esm/cli/esv/esv-variable-delete.js +10 -7
  237. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  238. package/esm/cli/esv/esv-variable-describe.js +10 -7
  239. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  240. package/esm/cli/esv/esv-variable-export.js +20 -6
  241. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  242. package/esm/cli/esv/esv-variable-import.js +7 -4
  243. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  244. package/esm/cli/esv/esv-variable-list.js +8 -5
  245. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  246. package/esm/cli/esv/esv-variable-set.js +8 -5
  247. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  248. package/esm/cli/esv/esv-variable.js +2 -3
  249. package/esm/cli/esv/esv-variable.js.map +1 -1
  250. package/esm/cli/esv/esv.js +2 -2
  251. package/esm/cli/esv/esv.js.map +1 -1
  252. package/esm/cli/idm/idm-count.js +9 -6
  253. package/esm/cli/idm/idm-count.js.map +1 -1
  254. package/esm/cli/idm/idm-export.js +21 -12
  255. package/esm/cli/idm/idm-export.js.map +1 -1
  256. package/esm/cli/idm/idm-import.js +22 -13
  257. package/esm/cli/idm/idm-import.js.map +1 -1
  258. package/esm/cli/idm/idm-list.js +7 -4
  259. package/esm/cli/idm/idm-list.js.map +1 -1
  260. package/esm/cli/idm/idm.js +2 -2
  261. package/esm/cli/idm/idm.js.map +1 -1
  262. package/esm/cli/idp/idp-export.js +11 -8
  263. package/esm/cli/idp/idp-export.js.map +1 -1
  264. package/esm/cli/idp/idp-import.js +15 -12
  265. package/esm/cli/idp/idp-import.js.map +1 -1
  266. package/esm/cli/idp/idp-list.js +7 -4
  267. package/esm/cli/idp/idp-list.js.map +1 -1
  268. package/esm/cli/idp/idp.js +2 -2
  269. package/esm/cli/idp/idp.js.map +1 -1
  270. package/esm/cli/info/info.js +16 -10
  271. package/esm/cli/info/info.js.map +1 -1
  272. package/esm/cli/journey/journey-delete.js +8 -5
  273. package/esm/cli/journey/journey-delete.js.map +1 -1
  274. package/esm/cli/journey/journey-describe.js +19 -10
  275. package/esm/cli/journey/journey-describe.js.map +1 -1
  276. package/esm/cli/journey/journey-disable.js +12 -6
  277. package/esm/cli/journey/journey-disable.js.map +1 -1
  278. package/esm/cli/journey/journey-enable.js +12 -6
  279. package/esm/cli/journey/journey-enable.js.map +1 -1
  280. package/esm/cli/journey/journey-export.js +21 -9
  281. package/esm/cli/journey/journey-export.js.map +1 -1
  282. package/esm/cli/journey/journey-import.js +11 -8
  283. package/esm/cli/journey/journey-import.js.map +1 -1
  284. package/esm/cli/journey/journey-list.js +6 -3
  285. package/esm/cli/journey/journey-list.js.map +1 -1
  286. package/esm/cli/journey/journey-prune.js +23 -12
  287. package/esm/cli/journey/journey-prune.js.map +1 -1
  288. package/esm/cli/journey/journey.js +2 -2
  289. package/esm/cli/journey/journey.js.map +1 -1
  290. package/esm/cli/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
  291. package/esm/cli/log/log-fetch.js.map +1 -0
  292. package/esm/cli/log/log-key-delete.js +35 -0
  293. package/esm/cli/log/log-key-delete.js.map +1 -0
  294. package/esm/cli/log/log-key-describe.js +22 -0
  295. package/esm/cli/log/log-key-describe.js.map +1 -0
  296. package/esm/cli/log/log-key-list.js +26 -0
  297. package/esm/cli/log/log-key-list.js.map +1 -0
  298. package/esm/cli/log/log-key.js +8 -0
  299. package/esm/cli/log/log-key.js.map +1 -0
  300. package/esm/cli/log/log-list.js +80 -0
  301. package/esm/cli/log/log-list.js.map +1 -0
  302. package/esm/cli/log/log-tail.js +77 -0
  303. package/esm/cli/log/log-tail.js.map +1 -0
  304. package/esm/cli/{logging/logs.js → log/log.js} +6 -3
  305. package/esm/cli/log/log.js.map +1 -0
  306. package/esm/cli/oauth/oauth-client-delete.js +22 -0
  307. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  308. package/esm/cli/oauth/oauth-client-describe.js +22 -0
  309. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  310. package/esm/cli/oauth/oauth-client-export.js +52 -0
  311. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  312. package/esm/cli/oauth/oauth-client-import.js +57 -0
  313. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  314. package/esm/cli/oauth/oauth-client-list.js +25 -0
  315. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  316. package/esm/cli/oauth/oauth-client.js +14 -0
  317. package/esm/cli/oauth/oauth-client.js.map +1 -0
  318. package/esm/cli/oauth/oauth.js +13 -0
  319. package/esm/cli/oauth/oauth.js.map +1 -0
  320. package/esm/cli/realm/realm-add-custom-domain.js +8 -5
  321. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  322. package/esm/cli/realm/realm-describe.js +8 -5
  323. package/esm/cli/realm/realm-describe.js.map +1 -1
  324. package/esm/cli/realm/realm-list.js +8 -5
  325. package/esm/cli/realm/realm-list.js.map +1 -1
  326. package/esm/cli/realm/realm-remove-custom-domain.js +11 -5
  327. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  328. package/esm/cli/realm/realm.js +2 -2
  329. package/esm/cli/realm/realm.js.map +1 -1
  330. package/esm/cli/saml/saml-cot-export.js +10 -7
  331. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  332. package/esm/cli/saml/saml-cot-import.js +15 -12
  333. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  334. package/esm/cli/saml/saml-cot-list.js +8 -5
  335. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  336. package/esm/cli/saml/saml-cot.js +1 -1
  337. package/esm/cli/saml/saml-cot.js.map +1 -1
  338. package/esm/cli/saml/saml-delete.js +14 -7
  339. package/esm/cli/saml/saml-delete.js.map +1 -1
  340. package/esm/cli/saml/saml-describe.js +8 -5
  341. package/esm/cli/saml/saml-describe.js.map +1 -1
  342. package/esm/cli/saml/saml-export.js +10 -7
  343. package/esm/cli/saml/saml-export.js.map +1 -1
  344. package/esm/cli/saml/saml-import.js +11 -8
  345. package/esm/cli/saml/saml-import.js.map +1 -1
  346. package/esm/cli/saml/saml-list.js +8 -5
  347. package/esm/cli/saml/saml-list.js.map +1 -1
  348. package/esm/cli/saml/saml-metadata-export.js +9 -6
  349. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  350. package/esm/cli/saml/saml-metadata.js +1 -1
  351. package/esm/cli/saml/saml-metadata.js.map +1 -1
  352. package/esm/cli/saml/saml.js +2 -2
  353. package/esm/cli/saml/saml.js.map +1 -1
  354. package/esm/cli/script/script-delete.js +7 -4
  355. package/esm/cli/script/script-delete.js.map +1 -1
  356. package/esm/cli/script/script-describe.js +7 -4
  357. package/esm/cli/script/script-describe.js.map +1 -1
  358. package/esm/cli/script/script-export.js +8 -5
  359. package/esm/cli/script/script-export.js.map +1 -1
  360. package/esm/cli/script/script-import.js +9 -6
  361. package/esm/cli/script/script-import.js.map +1 -1
  362. package/esm/cli/script/script-list.js +8 -5
  363. package/esm/cli/script/script-list.js.map +1 -1
  364. package/esm/cli/script/script.js +2 -2
  365. package/esm/cli/script/script.js.map +1 -1
  366. package/esm/cli/service/service-delete.js +8 -5
  367. package/esm/cli/service/service-delete.js.map +1 -1
  368. package/esm/cli/service/service-export.js +9 -6
  369. package/esm/cli/service/service-export.js.map +1 -1
  370. package/esm/cli/service/service-import.js +11 -9
  371. package/esm/cli/service/service-import.js.map +1 -1
  372. package/esm/cli/service/service-list.js +7 -4
  373. package/esm/cli/service/service-list.js.map +1 -1
  374. package/esm/cli/service/service.js +2 -2
  375. package/esm/cli/service/service.js.map +1 -1
  376. package/esm/cli/shell/shell.js +57 -0
  377. package/esm/cli/shell/shell.js.map +1 -0
  378. package/esm/cli/theme/theme-delete.js +10 -7
  379. package/esm/cli/theme/theme-delete.js.map +1 -1
  380. package/esm/cli/theme/theme-export.js +11 -8
  381. package/esm/cli/theme/theme-export.js.map +1 -1
  382. package/esm/cli/theme/theme-import.js +12 -9
  383. package/esm/cli/theme/theme-import.js.map +1 -1
  384. package/esm/cli/theme/theme-list.js +7 -4
  385. package/esm/cli/theme/theme-list.js.map +1 -1
  386. package/esm/cli/theme/theme.js +2 -2
  387. package/esm/cli/theme/theme.js.map +1 -1
  388. package/esm/help/SampleData.js +7 -0
  389. package/esm/help/SampleData.js.map +1 -0
  390. package/esm/launch.js +1 -1
  391. package/esm/launch.js.map +1 -1
  392. package/esm/loader.js +2 -2
  393. package/esm/loader.js.map +1 -1
  394. package/esm/ops/AdminFederationOps.js +225 -0
  395. package/esm/ops/AdminFederationOps.js.map +1 -0
  396. package/esm/ops/AgentOps.js +128 -87
  397. package/esm/ops/AgentOps.js.map +1 -1
  398. package/esm/ops/ApplicationOps.js +315 -0
  399. package/esm/ops/ApplicationOps.js.map +1 -0
  400. package/esm/ops/AuthenticationSettingsOps.js +89 -0
  401. package/esm/ops/AuthenticationSettingsOps.js.map +1 -0
  402. package/esm/ops/CirclesOfTrustOps.js +72 -59
  403. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  404. package/esm/ops/ConnectionProfileOps.js +13 -6
  405. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  406. package/esm/ops/EmailTemplateOps.js +76 -64
  407. package/esm/ops/EmailTemplateOps.js.map +1 -1
  408. package/esm/ops/IdmOps.js +70 -84
  409. package/esm/ops/IdmOps.js.map +1 -1
  410. package/esm/ops/IdpOps.js +74 -43
  411. package/esm/ops/IdpOps.js.map +1 -1
  412. package/esm/ops/JourneyOps.js +99 -67
  413. package/esm/ops/JourneyOps.js.map +1 -1
  414. package/esm/ops/LogOps.js +92 -30
  415. package/esm/ops/LogOps.js.map +1 -1
  416. package/esm/ops/NodeOps.js +6 -3
  417. package/esm/ops/NodeOps.js.map +1 -1
  418. package/esm/ops/OAuth2ClientOps.js +51 -32
  419. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  420. package/esm/ops/OrganizationOps.js +14 -22
  421. package/esm/ops/OrganizationOps.js.map +1 -1
  422. package/esm/ops/PolicyOps.js +84 -55
  423. package/esm/ops/PolicyOps.js.map +1 -1
  424. package/esm/ops/PolicySetOps.js +67 -43
  425. package/esm/ops/PolicySetOps.js.map +1 -1
  426. package/esm/ops/RealmOps.js +18 -11
  427. package/esm/ops/RealmOps.js.map +1 -1
  428. package/esm/ops/ResourceTypeOps.js +75 -66
  429. package/esm/ops/ResourceTypeOps.js.map +1 -1
  430. package/esm/ops/Saml2Ops.js +76 -54
  431. package/esm/ops/Saml2Ops.js.map +1 -1
  432. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  433. package/esm/ops/ScriptOps.js +92 -31
  434. package/esm/ops/ScriptOps.js.map +1 -1
  435. package/esm/ops/SecretsOps.js +106 -23
  436. package/esm/ops/SecretsOps.js.map +1 -1
  437. package/esm/ops/ServiceOps.js +67 -41
  438. package/esm/ops/ServiceOps.js.map +1 -1
  439. package/esm/ops/ThemeOps.js +62 -36
  440. package/esm/ops/ThemeOps.js.map +1 -1
  441. package/esm/ops/VariablesOps.js +132 -41
  442. package/esm/ops/VariablesOps.js.map +1 -1
  443. package/esm/ops/utils/OpsUtils.js +1 -1
  444. package/esm/ops/utils/OpsUtils.js.map +1 -1
  445. package/esm/ops/utils/Wordwrap.js +1 -1
  446. package/esm/ops/utils/Wordwrap.js.map +1 -1
  447. package/esm/storage/StaticStorage.js +1 -1
  448. package/esm/storage/StaticStorage.js.map +1 -1
  449. package/esm/utils/Config.js +7 -4
  450. package/esm/utils/Config.js.map +1 -1
  451. package/esm/utils/Console.js +9 -5
  452. package/esm/utils/Console.js.map +1 -1
  453. package/esm/utils/ExportImportUtils.js +32 -66
  454. package/esm/utils/ExportImportUtils.js.map +1 -1
  455. package/esm/utils/Version.js +19 -16
  456. package/esm/utils/Version.js.map +1 -1
  457. package/global-jest-setup.js +4 -0
  458. package/package.json +46 -35
  459. package/esm/cli/logging/logs-fetch.js.map +0 -1
  460. package/esm/cli/logging/logs-list.js +0 -49
  461. package/esm/cli/logging/logs-list.js.map +0 -1
  462. package/esm/cli/logging/logs-tail.js +0 -46
  463. package/esm/cli/logging/logs-tail.js.map +0 -1
  464. package/esm/cli/logging/logs.js.map +0 -1
  465. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  466. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
@@ -1,7 +1,13 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { showSpinner, failSpinner, succeedSpinner, printMessage } from '../../utils/Console';
2
+ import { Option } from 'commander';
3
+ import { failSpinner, printMessage, showSpinner, succeedSpinner } from '../../utils/Console';
4
+ import { FrodoCommand } from '../FrodoCommand';
5
+ const {
6
+ getTokens
7
+ } = frodo.login;
8
+ const {
9
+ disableJourney
10
+ } = frodo.authn.journey;
5
11
  const program = new FrodoCommand('frodo journey disable');
6
12
  program.description('Disable journeys/trees.').addOption(new Option('-i, --journey-id <journey>', 'Name of a journey/tree.'))
7
13
  // .addOption(
@@ -15,9 +21,9 @@ program.description('Disable journeys/trees.').addOption(new Option('-i, --journ
15
21
  async (host, realm, user, password, options, command) => {
16
22
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
17
23
  // disable
18
- if (options.journeyId && (await frodo.login.getTokens())) {
24
+ if (options.journeyId && (await getTokens())) {
19
25
  showSpinner(`Disabling journey ${options.journeyId}...`);
20
- if (await frodo.authn.journey.disableJourney(options.journeyId)) {
26
+ if (await disableJourney(options.journeyId)) {
21
27
  succeedSpinner(`Disabled journey ${options.journeyId}.`);
22
28
  } else {
23
29
  failSpinner(`Disabling journey ${options.journeyId} failed.`);
@@ -34,4 +40,4 @@ async (host, realm, user, password, options, command) => {
34
40
  );
35
41
 
36
42
  program.parse();
37
- //# sourceMappingURL=journey-disable.js.map
43
+ //# sourceMappingURL=journey-disable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey-disable.js","names":["FrodoCommand","Option","frodo","showSpinner","failSpinner","succeedSpinner","printMessage","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","journeyId","login","getTokens","authn","journey","disableJourney","help","process","exitCode","parse"],"sources":["cli/journey/journey-disable.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport {\n showSpinner,\n failSpinner,\n succeedSpinner,\n printMessage,\n} from '../../utils/Console';\n\nconst program = new FrodoCommand('frodo journey disable');\n\nprogram\n .description('Disable journeys/trees.')\n .addOption(\n new Option('-i, --journey-id <journey>', 'Name of a journey/tree.')\n )\n // .addOption(\n // new Option(\n // '-a, --all',\n // 'Disable all the journeys/trees in a realm. Ignored with -i.'\n // )\n // )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // disable\n if (options.journeyId && (await frodo.login.getTokens())) {\n showSpinner(`Disabling journey ${options.journeyId}...`);\n if (await frodo.authn.journey.disableJourney(options.journeyId)) {\n succeedSpinner(`Disabled journey ${options.journeyId}.`);\n } else {\n failSpinner(`Disabling journey ${options.journeyId} failed.`);\n }\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SACEC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,YAAY,QACP,qBAAqB;AAE5B,MAAMC,OAAO,GAAG,IAAIP,YAAY,CAAC,uBAAuB,CAAC;AAEzDO,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIR,MAAM,CAAC,4BAA4B,EAAE,yBAAyB,CACpE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACCS,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,SAAS,KAAK,MAAMhB,KAAK,CAACiB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACxDjB,WAAW,CAAE,qBAAoBY,OAAO,CAACG,SAAU,KAAI,CAAC;IACxD,IAAI,MAAMhB,KAAK,CAACmB,KAAK,CAACC,OAAO,CAACC,cAAc,CAACR,OAAO,CAACG,SAAS,CAAC,EAAE;MAC/Db,cAAc,CAAE,oBAAmBU,OAAO,CAACG,SAAU,GAAE,CAAC;IAC1D,CAAC,MAAM;MACLd,WAAW,CAAE,qBAAoBW,OAAO,CAACG,SAAU,UAAS,CAAC;IAC/D;EACF;EACA;EAAA,KACK;IACHZ,YAAY,CAAC,sDAAsD,CAAC;IACpEC,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHnB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"journey-disable.js","names":["frodo","Option","failSpinner","printMessage","showSpinner","succeedSpinner","FrodoCommand","getTokens","login","disableJourney","authn","journey","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","journeyId","help","process","exitCode","parse"],"sources":["../../../src/cli/journey/journey-disable.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n failSpinner,\n printMessage,\n showSpinner,\n succeedSpinner,\n} from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { disableJourney } = frodo.authn.journey;\n\nconst program = new FrodoCommand('frodo journey disable');\n\nprogram\n .description('Disable journeys/trees.')\n .addOption(\n new Option('-i, --journey-id <journey>', 'Name of a journey/tree.')\n )\n // .addOption(\n // new Option(\n // '-a, --all',\n // 'Disable all the journeys/trees in a realm. Ignored with -i.'\n // )\n // )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // disable\n if (options.journeyId && (await getTokens())) {\n showSpinner(`Disabling journey ${options.journeyId}...`);\n if (await disableJourney(options.journeyId)) {\n succeedSpinner(`Disabled journey ${options.journeyId}.`);\n } else {\n failSpinner(`Disabling journey ${options.journeyId} failed.`);\n }\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,cAAc,QACT,qBAAqB;AAC5B,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGP,KAAK,CAACQ,KAAK;AACjC,MAAM;EAAEC;AAAe,CAAC,GAAGT,KAAK,CAACU,KAAK,CAACC,OAAO;AAE9C,MAAMC,OAAO,GAAG,IAAIN,YAAY,CAAC,uBAAuB,CAAC;AAEzDM,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIb,MAAM,CAAC,4BAA4B,EAAE,yBAAyB,CACpE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACCc,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,SAAS,KAAK,MAAMhB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CH,WAAW,CAAE,qBAAoBgB,OAAO,CAACG,SAAU,KAAI,CAAC;IACxD,IAAI,MAAMd,cAAc,CAACW,OAAO,CAACG,SAAS,CAAC,EAAE;MAC3ClB,cAAc,CAAE,oBAAmBe,OAAO,CAACG,SAAU,GAAE,CAAC;IAC1D,CAAC,MAAM;MACLrB,WAAW,CAAE,qBAAoBkB,OAAO,CAACG,SAAU,UAAS,CAAC;IAC/D;EACF;EACA;EAAA,KACK;IACHpB,YAAY,CAAC,sDAAsD,CAAC;IACpES,OAAO,CAACY,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
@@ -1,7 +1,13 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { showSpinner, failSpinner, succeedSpinner, printMessage } from '../../utils/Console';
2
+ import { Option } from 'commander';
3
+ import { failSpinner, printMessage, showSpinner, succeedSpinner } from '../../utils/Console';
4
+ import { FrodoCommand } from '../FrodoCommand';
5
+ const {
6
+ getTokens
7
+ } = frodo.login;
8
+ const {
9
+ enableJourney
10
+ } = frodo.authn.journey;
5
11
  const program = new FrodoCommand('frodo journey enable');
6
12
  program.description('Enable journeys/trees.').addOption(new Option('-i, --journey-id <journey>', 'Name of a journey/tree.'))
7
13
  // .addOption(
@@ -15,9 +21,9 @@ program.description('Enable journeys/trees.').addOption(new Option('-i, --journe
15
21
  async (host, realm, user, password, options, command) => {
16
22
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
17
23
  // enable
18
- if (options.journeyId && (await frodo.login.getTokens())) {
24
+ if (options.journeyId && (await getTokens())) {
19
25
  showSpinner(`Enabling journey ${options.journeyId}...`);
20
- if (await frodo.authn.journey.enableJourney(options.journeyId)) {
26
+ if (await enableJourney(options.journeyId)) {
21
27
  succeedSpinner(`Enabled journey ${options.journeyId}.`);
22
28
  } else {
23
29
  failSpinner(`Enabling journey ${options.journeyId} failed.`);
@@ -34,4 +40,4 @@ async (host, realm, user, password, options, command) => {
34
40
  );
35
41
 
36
42
  program.parse();
37
- //# sourceMappingURL=journey-enable.js.map
43
+ //# sourceMappingURL=journey-enable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey-enable.js","names":["FrodoCommand","Option","frodo","showSpinner","failSpinner","succeedSpinner","printMessage","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","journeyId","login","getTokens","authn","journey","enableJourney","help","process","exitCode","parse"],"sources":["cli/journey/journey-enable.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport {\n showSpinner,\n failSpinner,\n succeedSpinner,\n printMessage,\n} from '../../utils/Console';\n\nconst program = new FrodoCommand('frodo journey enable');\n\nprogram\n .description('Enable journeys/trees.')\n .addOption(\n new Option('-i, --journey-id <journey>', 'Name of a journey/tree.')\n )\n // .addOption(\n // new Option(\n // '-a, --all',\n // 'Enable all the journeys/trees in a realm. Ignored with -i.'\n // )\n // )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // enable\n if (options.journeyId && (await frodo.login.getTokens())) {\n showSpinner(`Enabling journey ${options.journeyId}...`);\n if (await frodo.authn.journey.enableJourney(options.journeyId)) {\n succeedSpinner(`Enabled journey ${options.journeyId}.`);\n } else {\n failSpinner(`Enabling journey ${options.journeyId} failed.`);\n }\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SACEC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,YAAY,QACP,qBAAqB;AAE5B,MAAMC,OAAO,GAAG,IAAIP,YAAY,CAAC,sBAAsB,CAAC;AAExDO,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIR,MAAM,CAAC,4BAA4B,EAAE,yBAAyB,CACpE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACCS,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,SAAS,KAAK,MAAMhB,KAAK,CAACiB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACxDjB,WAAW,CAAE,oBAAmBY,OAAO,CAACG,SAAU,KAAI,CAAC;IACvD,IAAI,MAAMhB,KAAK,CAACmB,KAAK,CAACC,OAAO,CAACC,aAAa,CAACR,OAAO,CAACG,SAAS,CAAC,EAAE;MAC9Db,cAAc,CAAE,mBAAkBU,OAAO,CAACG,SAAU,GAAE,CAAC;IACzD,CAAC,MAAM;MACLd,WAAW,CAAE,oBAAmBW,OAAO,CAACG,SAAU,UAAS,CAAC;IAC9D;EACF;EACA;EAAA,KACK;IACHZ,YAAY,CAAC,sDAAsD,CAAC;IACpEC,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHnB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"journey-enable.js","names":["frodo","Option","failSpinner","printMessage","showSpinner","succeedSpinner","FrodoCommand","getTokens","login","enableJourney","authn","journey","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","journeyId","help","process","exitCode","parse"],"sources":["../../../src/cli/journey/journey-enable.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n failSpinner,\n printMessage,\n showSpinner,\n succeedSpinner,\n} from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { enableJourney } = frodo.authn.journey;\n\nconst program = new FrodoCommand('frodo journey enable');\n\nprogram\n .description('Enable journeys/trees.')\n .addOption(\n new Option('-i, --journey-id <journey>', 'Name of a journey/tree.')\n )\n // .addOption(\n // new Option(\n // '-a, --all',\n // 'Enable all the journeys/trees in a realm. Ignored with -i.'\n // )\n // )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // enable\n if (options.journeyId && (await getTokens())) {\n showSpinner(`Enabling journey ${options.journeyId}...`);\n if (await enableJourney(options.journeyId)) {\n succeedSpinner(`Enabled journey ${options.journeyId}.`);\n } else {\n failSpinner(`Enabling journey ${options.journeyId} failed.`);\n }\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,cAAc,QACT,qBAAqB;AAC5B,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGP,KAAK,CAACQ,KAAK;AACjC,MAAM;EAAEC;AAAc,CAAC,GAAGT,KAAK,CAACU,KAAK,CAACC,OAAO;AAE7C,MAAMC,OAAO,GAAG,IAAIN,YAAY,CAAC,sBAAsB,CAAC;AAExDM,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIb,MAAM,CAAC,4BAA4B,EAAE,yBAAyB,CACpE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACCc,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,SAAS,KAAK,MAAMhB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CH,WAAW,CAAE,oBAAmBgB,OAAO,CAACG,SAAU,KAAI,CAAC;IACvD,IAAI,MAAMd,aAAa,CAACW,OAAO,CAACG,SAAS,CAAC,EAAE;MAC1ClB,cAAc,CAAE,mBAAkBe,OAAO,CAACG,SAAU,GAAE,CAAC;IACzD,CAAC,MAAM;MACLrB,WAAW,CAAE,oBAAmBkB,OAAO,CAACG,SAAU,UAAS,CAAC;IAC9D;EACF;EACA;EAAA,KACK;IACHpB,YAAY,CAAC,sDAAsD,CAAC;IACpES,OAAO,CAACY,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
@@ -1,16 +1,28 @@
1
- import { FrodoCommand } from '../FrodoCommand';
1
+ import { frodo } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { frodo, state } from '@rockcarver/frodo-lib';
4
- import { exportJourneyToFile, exportJourneysToFile, exportJourneysToFiles } from '../../ops/JourneyOps';
3
+ import { exportJourneysToFile, exportJourneysToFiles, exportJourneyToFile } from '../../ops/JourneyOps';
5
4
  import { printMessage, verboseMessage } from '../../utils/Console';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo journey export');
7
- program.description('Export journeys/trees.').addOption(new Option('-i, --journey-id <journey>', 'Name of a journey/tree. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to write the exported journey(s) to. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all the journeys/trees in a realm. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all the journeys/trees in a realm as separate files <journey/tree name>.json. Ignored with -i or -a.')).addOption(new Option('--use-string-arrays', 'Where applicable, use string arrays to store multi-line text (e.g. scripts).').default(false, 'off')).addOption(new Option('--no-deps', 'Do not include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).')).addOption(new Option('-D, --directory <directory>', 'Destination directory.')).addOption(new Option('-O, --organize <method>', 'Organize exports into folders using the indicated method. Valid values for method:\n' + 'id: folders named by id of exported object\n' + 'type: folders named by type (e.g. script, journey, idp)\n' + 'type/id: folders named by type with sub-folders named by id')).action(
10
+ program.description('Export journeys/trees.').addOption(new Option('-i, --journey-id <journey>', 'Name of a journey/tree. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to write the exported journey(s) to. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all the journeys/trees in a realm. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all the journeys/trees in a realm as separate files <journey/tree name>.json. Ignored with -i or -a.')).addOption(new Option('--use-string-arrays', 'Where applicable, use string arrays to store multi-line text (e.g. scripts).').default(false, 'off')).addOption(new Option('--no-deps', 'Do not include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).'))
11
+ // .addOption(
12
+ // new Option(
13
+ // '-O, --organize <method>',
14
+ // 'Organize exports into folders using the indicated method. Valid values for method:\n' +
15
+ // 'id: folders named by id of exported object\n' +
16
+ // 'type: folders named by type (e.g. script, journey, idp)\n' +
17
+ // 'type/id: folders named by type with sub-folders named by id'
18
+ // )
19
+ // )
20
+ .action(
8
21
  // implement command logic inside action handler
9
22
  async (host, realm, user, password, options, command) => {
10
23
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
- if (options.directory) state.setDirectory(options.directory);
12
24
  // export
13
- if (options.journeyId && (await frodo.login.getTokens())) {
25
+ if (options.journeyId && (await getTokens())) {
14
26
  verboseMessage('Exporting journey...');
15
27
  await exportJourneyToFile(options.journeyId, options.file, {
16
28
  useStringArrays: options.useStringArrays,
@@ -18,7 +30,7 @@ async (host, realm, user, password, options, command) => {
18
30
  });
19
31
  }
20
32
  // --all -a
21
- else if (options.all && (await frodo.login.getTokens())) {
33
+ else if (options.all && (await getTokens())) {
22
34
  verboseMessage('Exporting all journeys to a single file...');
23
35
  await exportJourneysToFile(options.file, {
24
36
  useStringArrays: options.useStringArrays,
@@ -26,7 +38,7 @@ async (host, realm, user, password, options, command) => {
26
38
  });
27
39
  }
28
40
  // --all-separate -A
29
- else if (options.allSeparate && (await frodo.login.getTokens())) {
41
+ else if (options.allSeparate && (await getTokens())) {
30
42
  verboseMessage('Exporting all journeys to separate files...');
31
43
  await exportJourneysToFiles({
32
44
  useStringArrays: options.useStringArrays,
@@ -44,4 +56,4 @@ async (host, realm, user, password, options, command) => {
44
56
  );
45
57
 
46
58
  program.parse();
47
- //# sourceMappingURL=journey-export.js.map
59
+ //# sourceMappingURL=journey-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey-export.js","names":["FrodoCommand","Option","frodo","state","exportJourneyToFile","exportJourneysToFile","exportJourneysToFiles","printMessage","verboseMessage","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","directory","setDirectory","journeyId","login","getTokens","file","useStringArrays","deps","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/journey/journey-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport {\n exportJourneyToFile,\n exportJourneysToFile,\n exportJourneysToFiles,\n} from '../../ops/JourneyOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\n\nconst program = new FrodoCommand('frodo journey export');\n\nprogram\n .description('Export journeys/trees.')\n .addOption(\n new Option(\n '-i, --journey-id <journey>',\n 'Name of a journey/tree. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to write the exported journey(s) to. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the journeys/trees in a realm. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the journeys/trees in a realm as separate files <journey/tree name>.json. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '--use-string-arrays',\n 'Where applicable, use string arrays to store multi-line text (e.g. scripts).'\n ).default(false, 'off')\n )\n .addOption(\n new Option(\n '--no-deps',\n 'Do not include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).'\n )\n )\n .addOption(\n new Option('-D, --directory <directory>', 'Destination directory.')\n )\n .addOption(\n new Option(\n '-O, --organize <method>',\n 'Organize exports into folders using the indicated method. Valid values for method:\\n' +\n 'id: folders named by id of exported object\\n' +\n 'type: folders named by type (e.g. script, journey, idp)\\n' +\n 'type/id: folders named by type with sub-folders named by id'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (options.directory) state.setDirectory(options.directory);\n // export\n if (options.journeyId && (await frodo.login.getTokens())) {\n verboseMessage('Exporting journey...');\n await exportJourneyToFile(options.journeyId, options.file, {\n useStringArrays: options.useStringArrays,\n deps: options.deps,\n });\n }\n // --all -a\n else if (options.all && (await frodo.login.getTokens())) {\n verboseMessage('Exporting all journeys to a single file...');\n await exportJourneysToFile(options.file, {\n useStringArrays: options.useStringArrays,\n deps: options.deps,\n });\n }\n // --all-separate -A\n else if (options.allSeparate && (await frodo.login.getTokens())) {\n verboseMessage('Exporting all journeys to separate files...');\n await exportJourneysToFiles({\n useStringArrays: options.useStringArrays,\n deps: options.deps,\n });\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"journey-export.js","names":["frodo","Option","exportJourneysToFile","exportJourneysToFiles","exportJourneyToFile","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","journeyId","file","useStringArrays","deps","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/journey/journey-export.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n exportJourneysToFile,\n exportJourneysToFiles,\n exportJourneyToFile,\n} from '../../ops/JourneyOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo journey export');\n\nprogram\n .description('Export journeys/trees.')\n .addOption(\n new Option(\n '-i, --journey-id <journey>',\n 'Name of a journey/tree. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to write the exported journey(s) to. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the journeys/trees in a realm. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the journeys/trees in a realm as separate files <journey/tree name>.json. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '--use-string-arrays',\n 'Where applicable, use string arrays to store multi-line text (e.g. scripts).'\n ).default(false, 'off')\n )\n .addOption(\n new Option(\n '--no-deps',\n 'Do not include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).'\n )\n )\n // .addOption(\n // new Option(\n // '-O, --organize <method>',\n // 'Organize exports into folders using the indicated method. Valid values for method:\\n' +\n // 'id: folders named by id of exported object\\n' +\n // 'type: folders named by type (e.g. script, journey, idp)\\n' +\n // 'type/id: folders named by type with sub-folders named by id'\n // )\n // )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // export\n if (options.journeyId && (await getTokens())) {\n verboseMessage('Exporting journey...');\n await exportJourneyToFile(options.journeyId, options.file, {\n useStringArrays: options.useStringArrays,\n deps: options.deps,\n });\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all journeys to a single file...');\n await exportJourneysToFile(options.file, {\n useStringArrays: options.useStringArrays,\n deps: options.deps,\n });\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all journeys to separate files...');\n await exportJourneysToFiles({\n useStringArrays: options.useStringArrays,\n deps: options.deps,\n });\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,mBAAmB,QACd,sBAAsB;AAC7B,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGR,KAAK,CAACS,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,sBAAsB,CAAC;AAExDG,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIX,MAAM,CACR,4BAA4B,EAC5B,8DACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,wEACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,4DACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,6GACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,qBAAqB,EACrB,8EACF,CAAC,CAACY,OAAO,CAAC,KAAK,EAAE,KAAK,CACxB,CAAC,CACAD,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,4IACF,CACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACCa,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,SAAS,KAAK,MAAMd,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CF,cAAc,CAAC,sBAAsB,CAAC;IACtC,MAAMF,mBAAmB,CAACe,OAAO,CAACG,SAAS,EAAEH,OAAO,CAACI,IAAI,EAAE;MACzDC,eAAe,EAAEL,OAAO,CAACK,eAAe;MACxCC,IAAI,EAAEN,OAAO,CAACM;IAChB,CAAC,CAAC;EACJ;EACA;EAAA,KACK,IAAIN,OAAO,CAACO,GAAG,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CF,cAAc,CAAC,4CAA4C,CAAC;IAC5D,MAAMJ,oBAAoB,CAACiB,OAAO,CAACI,IAAI,EAAE;MACvCC,eAAe,EAAEL,OAAO,CAACK,eAAe;MACxCC,IAAI,EAAEN,OAAO,CAACM;IAChB,CAAC,CAAC;EACJ;EACA;EAAA,KACK,IAAIN,OAAO,CAACQ,WAAW,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDF,cAAc,CAAC,6CAA6C,CAAC;IAC7D,MAAMH,qBAAqB,CAAC;MAC1BqB,eAAe,EAAEL,OAAO,CAACK,eAAe;MACxCC,IAAI,EAAEN,OAAO,CAACM;IAChB,CAAC,CAAC;EACJ;EACA;EAAA,KACK;IACHpB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACkB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHpB,OAAO,CAACqB,KAAK,CAAC,CAAC"}
@@ -1,15 +1,18 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { importJourneyFromFile, importJourneysFromFile, importJourneysFromFiles, importFirstJourneyFromFile } from '../../ops/JourneyOps';
2
+ import { Option } from 'commander';
3
+ import { importFirstJourneyFromFile, importJourneyFromFile, importJourneysFromFile, importJourneysFromFiles } from '../../ops/JourneyOps';
5
4
  import { printMessage } from '../../utils/Console';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo journey import');
7
10
  program.description('Import journey/tree.').addOption(new Option('-i, --journey-id <journey>', 'Name of a journey/tree. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the journey(s) from. Ignored with -A.')).addOption(new Option('-a, --all', 'Import all the journeys/trees from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all the journeys/trees from separate files (*.json) in the current directory. Ignored with -i or -a.')).addOption(new Option('--re-uuid', 'Generate new UUIDs for all nodes during import.').default(false, 'off')).addOption(new Option('--no-deps', 'Do not include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
14
  // import
12
- if (options.journeyId && (await frodo.login.getTokens())) {
15
+ if (options.journeyId && (await getTokens())) {
13
16
  printMessage(`Importing journey ${options.journeyId}...`);
14
17
  importJourneyFromFile(options.journeyId, options.file, {
15
18
  reUuid: options.reUuid,
@@ -17,7 +20,7 @@ async (host, realm, user, password, options, command) => {
17
20
  });
18
21
  }
19
22
  // --all -a
20
- else if (options.all && options.file && (await frodo.login.getTokens())) {
23
+ else if (options.all && options.file && (await getTokens())) {
21
24
  printMessage(`Importing all journeys from a single file (${options.file})...`);
22
25
  importJourneysFromFile(options.file, {
23
26
  reUuid: options.reUuid,
@@ -25,7 +28,7 @@ async (host, realm, user, password, options, command) => {
25
28
  });
26
29
  }
27
30
  // --all-separate -A
28
- else if (options.allSeparate && !options.file && (await frodo.login.getTokens())) {
31
+ else if (options.allSeparate && !options.file && (await getTokens())) {
29
32
  printMessage('Importing all journeys from separate files in current directory...');
30
33
  importJourneysFromFiles({
31
34
  reUuid: options.reUuid,
@@ -33,7 +36,7 @@ async (host, realm, user, password, options, command) => {
33
36
  });
34
37
  }
35
38
  // import first journey in file
36
- else if (options.file && (await frodo.login.getTokens())) {
39
+ else if (options.file && (await getTokens())) {
37
40
  printMessage('Importing first journey in file...');
38
41
  importFirstJourneyFromFile(options.file, {
39
42
  reUuid: options.reUuid,
@@ -51,4 +54,4 @@ async (host, realm, user, password, options, command) => {
51
54
  );
52
55
 
53
56
  program.parse();
54
- //# sourceMappingURL=journey-import.js.map
57
+ //# sourceMappingURL=journey-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey-import.js","names":["FrodoCommand","Option","frodo","importJourneyFromFile","importJourneysFromFile","importJourneysFromFiles","importFirstJourneyFromFile","printMessage","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","journeyId","login","getTokens","file","reUuid","deps","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/journey/journey-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport {\n importJourneyFromFile,\n importJourneysFromFile,\n importJourneysFromFiles,\n importFirstJourneyFromFile,\n} from '../../ops/JourneyOps';\nimport { printMessage } from '../../utils/Console';\n\nconst program = new FrodoCommand('frodo journey import');\n\nprogram\n .description('Import journey/tree.')\n .addOption(\n new Option(\n '-i, --journey-id <journey>',\n 'Name of a journey/tree. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the journey(s) from. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the journeys/trees from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the journeys/trees from separate files (*.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '--re-uuid',\n 'Generate new UUIDs for all nodes during import.'\n ).default(false, 'off')\n )\n .addOption(\n new Option(\n '--no-deps',\n 'Do not include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import\n if (options.journeyId && (await frodo.login.getTokens())) {\n printMessage(`Importing journey ${options.journeyId}...`);\n importJourneyFromFile(options.journeyId, options.file, {\n reUuid: options.reUuid,\n deps: options.deps,\n });\n }\n // --all -a\n else if (options.all && options.file && (await frodo.login.getTokens())) {\n printMessage(\n `Importing all journeys from a single file (${options.file})...`\n );\n importJourneysFromFile(options.file, {\n reUuid: options.reUuid,\n deps: options.deps,\n });\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n !options.file &&\n (await frodo.login.getTokens())\n ) {\n printMessage(\n 'Importing all journeys from separate files in current directory...'\n );\n importJourneysFromFiles({\n reUuid: options.reUuid,\n deps: options.deps,\n });\n }\n // import first journey in file\n else if (options.file && (await frodo.login.getTokens())) {\n printMessage('Importing first journey in file...');\n importFirstJourneyFromFile(options.file, {\n reUuid: options.reUuid,\n deps: options.deps,\n });\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"journey-import.js","names":["frodo","Option","importFirstJourneyFromFile","importJourneyFromFile","importJourneysFromFile","importJourneysFromFiles","printMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","journeyId","file","reUuid","deps","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/journey/journey-import.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n importFirstJourneyFromFile,\n importJourneyFromFile,\n importJourneysFromFile,\n importJourneysFromFiles,\n} from '../../ops/JourneyOps';\nimport { printMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo journey import');\n\nprogram\n .description('Import journey/tree.')\n .addOption(\n new Option(\n '-i, --journey-id <journey>',\n 'Name of a journey/tree. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the journey(s) from. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the journeys/trees from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the journeys/trees from separate files (*.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '--re-uuid',\n 'Generate new UUIDs for all nodes during import.'\n ).default(false, 'off')\n )\n .addOption(\n new Option(\n '--no-deps',\n 'Do not include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import\n if (options.journeyId && (await getTokens())) {\n printMessage(`Importing journey ${options.journeyId}...`);\n importJourneyFromFile(options.journeyId, options.file, {\n reUuid: options.reUuid,\n deps: options.deps,\n });\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n printMessage(\n `Importing all journeys from a single file (${options.file})...`\n );\n importJourneysFromFile(options.file, {\n reUuid: options.reUuid,\n deps: options.deps,\n });\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n printMessage(\n 'Importing all journeys from separate files in current directory...'\n );\n importJourneysFromFiles({\n reUuid: options.reUuid,\n deps: options.deps,\n });\n }\n // import first journey in file\n else if (options.file && (await getTokens())) {\n printMessage('Importing first journey in file...');\n importFirstJourneyFromFile(options.file, {\n reUuid: options.reUuid,\n deps: options.deps,\n });\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  import { frodo, state } from '@rockcarver/frodo-lib';
2
- import { FrodoCommand } from '../FrodoCommand';
3
2
  import { Option } from 'commander';
4
3
  import { listJourneys } from '../../ops/JourneyOps';
5
4
  import { verboseMessage } from '../../utils/Console';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo journey list');
7
10
  program.description('List journeys/trees.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).addOption(new Option('-a, --analyze', 'Analyze journeys for custom nodes.')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
- if (await frodo.login.getTokens()) {
14
+ if (await getTokens()) {
12
15
  verboseMessage(`Listing journeys in realm "${state.getRealm()}"...`);
13
16
  listJourneys(options.long, options.analyze);
14
17
  } else {
@@ -19,4 +22,4 @@ async (host, realm, user, password, options, command) => {
19
22
  );
20
23
 
21
24
  program.parse();
22
- //# sourceMappingURL=journey-list.js.map
25
+ //# sourceMappingURL=journey-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey-list.js","names":["frodo","state","FrodoCommand","Option","listJourneys","verboseMessage","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","getRealm","long","analyze","process","exitCode","parse"],"sources":["cli/journey/journey-list.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { listJourneys } from '../../ops/JourneyOps';\nimport { verboseMessage } from '../../utils/Console';\n\nconst program = new FrodoCommand('frodo journey list');\n\nprogram\n .description('List journeys/trees.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .addOption(new Option('-a, --analyze', 'Analyze journeys for custom nodes.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n verboseMessage(`Listing journeys in realm \"${state.getRealm()}\"...`);\n listJourneys(options.long, options.analyze);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,cAAc,QAAQ,qBAAqB;AAEpD,MAAMC,OAAO,GAAG,IAAIJ,YAAY,CAAC,oBAAoB,CAAC;AAEtDI,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAD,SAAS,CAAC,IAAIL,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC,CAAC,CAC5EO,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMhB,KAAK,CAACkB,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCd,cAAc,CAAE,8BAA6BJ,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAAK,CAAC;IACpEhB,YAAY,CAACW,OAAO,CAACM,IAAI,EAAEN,OAAO,CAACO,OAAO,CAAC;EAC7C,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHlB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"journey-list.js","names":["frodo","state","Option","listJourneys","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","long","analyze","process","exitCode","parse"],"sources":["../../../src/cli/journey/journey-list.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { listJourneys } from '../../ops/JourneyOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo journey list');\n\nprogram\n .description('List journeys/trees.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .addOption(new Option('-a, --analyze', 'Analyze journeys for custom nodes.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing journeys in realm \"${state.getRealm()}\"...`);\n listJourneys(options.long, options.analyze);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGN,KAAK,CAACO,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,oBAAoB,CAAC;AAEtDG,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAD,SAAS,CAAC,IAAIR,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC,CAAC,CAC5EU,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,cAAc,CAAE,8BAA6BH,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAAK,CAAC;IACpEjB,YAAY,CAACc,OAAO,CAACI,IAAI,EAAEJ,OAAO,CAACK,OAAO,CAAC;EAC7C,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACiB,KAAK,CAAC,CAAC"}
@@ -1,24 +1,35 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
1
  import { frodo, state } from '@rockcarver/frodo-lib';
3
2
  import yesno from 'yesno';
4
3
  import { printMessage, verboseMessage } from '../../utils/Console';
4
+ import { FrodoCommand } from '../FrodoCommand';
5
+ const {
6
+ getTokens
7
+ } = frodo.login;
8
+ const {
9
+ findOrphanedNodes,
10
+ removeOrphanedNodes
11
+ } = frodo.authn.node;
5
12
  const program = new FrodoCommand('frodo journey prune');
6
13
  program.description('Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.').action(
7
14
  // implement command logic inside action handler
8
15
  async (host, realm, user, password, options, command) => {
9
16
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
- if (await frodo.login.getTokens()) {
17
+ if (await getTokens()) {
11
18
  verboseMessage(`Pruning orphaned configuration artifacts in realm "${state.getRealm()}"...`);
12
- const orphanedNodes = await frodo.authn.journey.findOrphanedNodes();
13
- if (orphanedNodes.length > 0) {
14
- const ok = await yesno({
15
- question: 'Prune (permanently delete) orphaned nodes? (y|n):'
16
- });
17
- if (ok) {
18
- await frodo.authn.journey.removeOrphanedNodes(orphanedNodes);
19
+ try {
20
+ const orphanedNodes = await findOrphanedNodes();
21
+ if (orphanedNodes.length > 0) {
22
+ const ok = await yesno({
23
+ question: 'Prune (permanently delete) orphaned nodes? (y|n):'
24
+ });
25
+ if (ok) {
26
+ await removeOrphanedNodes(orphanedNodes);
27
+ }
28
+ } else {
29
+ printMessage('No orphaned nodes found.');
19
30
  }
20
- } else {
21
- printMessage('No orphaned nodes found.');
31
+ } catch (error) {
32
+ printMessage(`Error pruning orphaned nodes: ${error.message}`, 'error');
22
33
  }
23
34
  } else {
24
35
  process.exitCode = 1;
@@ -28,4 +39,4 @@ async (host, realm, user, password, options, command) => {
28
39
  );
29
40
 
30
41
  program.parse();
31
- //# sourceMappingURL=journey-prune.js.map
42
+ //# sourceMappingURL=journey-prune.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey-prune.js","names":["FrodoCommand","frodo","state","yesno","printMessage","verboseMessage","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","getRealm","orphanedNodes","authn","journey","findOrphanedNodes","length","ok","question","removeOrphanedNodes","process","exitCode","parse"],"sources":["cli/journey/journey-prune.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport yesno from 'yesno';\nimport { printMessage, verboseMessage } from '../../utils/Console';\n\nconst program = new FrodoCommand('frodo journey prune');\n\nprogram\n .description(\n 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.'\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n verboseMessage(\n `Pruning orphaned configuration artifacts in realm \"${state.getRealm()}\"...`\n );\n const orphanedNodes = await frodo.authn.journey.findOrphanedNodes();\n if (orphanedNodes.length > 0) {\n const ok = await yesno({\n question: 'Prune (permanently delete) orphaned nodes? (y|n):',\n });\n if (ok) {\n await frodo.authn.journey.removeOrphanedNodes(orphanedNodes);\n }\n } else {\n printMessage('No orphaned nodes found.');\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAElE,MAAMC,OAAO,GAAG,IAAIN,YAAY,CAAC,qBAAqB,CAAC;AAEvDM,OAAO,CACJC,WAAW,CACV,+JACF,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,KAAK,CAACe,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCZ,cAAc,CACX,sDAAqDH,KAAK,CAACgB,QAAQ,CAAC,CAAE,MACzE,CAAC;IACD,MAAMC,aAAa,GAAG,MAAMlB,KAAK,CAACmB,KAAK,CAACC,OAAO,CAACC,iBAAiB,CAAC,CAAC;IACnE,IAAIH,aAAa,CAACI,MAAM,GAAG,CAAC,EAAE;MAC5B,MAAMC,EAAE,GAAG,MAAMrB,KAAK,CAAC;QACrBsB,QAAQ,EAAE;MACZ,CAAC,CAAC;MACF,IAAID,EAAE,EAAE;QACN,MAAMvB,KAAK,CAACmB,KAAK,CAACC,OAAO,CAACK,mBAAmB,CAACP,aAAa,CAAC;MAC9D;IACF,CAAC,MAAM;MACLf,YAAY,CAAC,0BAA0B,CAAC;IAC1C;EACF,CAAC,MAAM;IACLuB,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHtB,OAAO,CAACuB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"journey-prune.js","names":["frodo","state","yesno","printMessage","verboseMessage","FrodoCommand","getTokens","login","findOrphanedNodes","removeOrphanedNodes","authn","node","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","orphanedNodes","length","ok","question","error","message","process","exitCode","parse"],"sources":["../../../src/cli/journey/journey-prune.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport yesno from 'yesno';\n\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { findOrphanedNodes, removeOrphanedNodes } = frodo.authn.node;\n\nconst program = new FrodoCommand('frodo journey prune');\n\nprogram\n .description(\n 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.'\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(\n `Pruning orphaned configuration artifacts in realm \"${state.getRealm()}\"...`\n );\n try {\n const orphanedNodes = await findOrphanedNodes();\n if (orphanedNodes.length > 0) {\n const ok = await yesno({\n question: 'Prune (permanently delete) orphaned nodes? (y|n):',\n });\n if (ok) {\n await removeOrphanedNodes(orphanedNodes);\n }\n } else {\n printMessage('No orphaned nodes found.');\n }\n } catch (error) {\n printMessage(\n `Error pruning orphaned nodes: ${error.message}`,\n 'error'\n );\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGN,KAAK,CAACO,KAAK;AACjC,MAAM;EAAEC,iBAAiB;EAAEC;AAAoB,CAAC,GAAGT,KAAK,CAACU,KAAK,CAACC,IAAI;AAEnE,MAAMC,OAAO,GAAG,IAAIP,YAAY,CAAC,qBAAqB,CAAC;AAEvDO,OAAO,CACJC,WAAW,CACV,+JACF,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBF,cAAc,CACX,sDAAqDH,KAAK,CAACqB,QAAQ,CAAC,CAAE,MACzE,CAAC;IACD,IAAI;MACF,MAAMC,aAAa,GAAG,MAAMf,iBAAiB,CAAC,CAAC;MAC/C,IAAIe,aAAa,CAACC,MAAM,GAAG,CAAC,EAAE;QAC5B,MAAMC,EAAE,GAAG,MAAMvB,KAAK,CAAC;UACrBwB,QAAQ,EAAE;QACZ,CAAC,CAAC;QACF,IAAID,EAAE,EAAE;UACN,MAAMhB,mBAAmB,CAACc,aAAa,CAAC;QAC1C;MACF,CAAC,MAAM;QACLpB,YAAY,CAAC,0BAA0B,CAAC;MAC1C;IACF,CAAC,CAAC,OAAOwB,KAAK,EAAE;MACdxB,YAAY,CACT,iCAAgCwB,KAAK,CAACC,OAAQ,EAAC,EAChD,OACF,CAAC;IACH;EACF,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHlB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { FrodoStubCommand } from '../FrodoCommand';
2
1
  import path from 'path';
3
2
  import { fileURLToPath } from 'url';
3
+ import { FrodoStubCommand } from '../FrodoCommand';
4
4
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  export default function setup() {
6
6
  const program = new FrodoStubCommand('journey').description('Manage journeys/trees.').executableDir(__dirname);
@@ -14,4 +14,4 @@ export default function setup() {
14
14
  program.command('disable', 'Disable journeys/trees.');
15
15
  return program;
16
16
  }
17
- //# sourceMappingURL=journey.js.map
17
+ //# sourceMappingURL=journey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/journey/journey.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('journey')\n .description('Manage journeys/trees.')\n .executableDir(__dirname);\n\n program.command('list', 'List journeys/trees.');\n\n program.command(\n 'describe',\n 'If host argument is supplied, describe the journey/tree indicated by -t, or all journeys/trees in the realm if no -t is supplied, otherwise describe the journey/tree export file indicated by -f.'\n );\n\n program.command('export', 'Export journeys/trees.');\n\n program.command('import', 'Import journeys/trees.');\n\n program.command('delete', 'Delete journeys/trees.');\n\n program.command(\n 'prune',\n 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.'\n );\n\n program.command('enable', 'Enable journeys/trees.');\n\n program.command('disable', 'Disable journeys/trees.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,SAAS,CAAC,CAC5CU,WAAW,CAAC,wBAAwB,CAAC,CACrCC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC;EAE/CH,OAAO,CAACG,OAAO,CACb,UAAU,EACV,oMACF,CAAC;EAEDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CACb,OAAO,EACP,+JACF,CAAC;EAEDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC;EAErD,OAAOH,OAAO;AAChB"}
1
+ {"version":3,"file":"journey.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["../../../src/cli/journey/journey.ts"],"sourcesContent":["import path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FrodoStubCommand } from '../FrodoCommand';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('journey')\n .description('Manage journeys/trees.')\n .executableDir(__dirname);\n\n program.command('list', 'List journeys/trees.');\n\n program.command(\n 'describe',\n 'If host argument is supplied, describe the journey/tree indicated by -t, or all journeys/trees in the realm if no -t is supplied, otherwise describe the journey/tree export file indicated by -f.'\n );\n\n program.command('export', 'Export journeys/trees.');\n\n program.command('import', 'Import journeys/trees.');\n\n program.command('delete', 'Delete journeys/trees.');\n\n program.command(\n 'prune',\n 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.'\n );\n\n program.command('enable', 'Enable journeys/trees.');\n\n program.command('disable', 'Disable journeys/trees.');\n\n return program;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,SAAS,CAAC,CAC5CQ,WAAW,CAAC,wBAAwB,CAAC,CACrCC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC;EAE/CH,OAAO,CAACG,OAAO,CACb,UAAU,EACV,oMACF,CAAC;EAEDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CACb,OAAO,EACP,+JACF,CAAC;EAEDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC;EAErD,OAAOH,OAAO;AAChB"}
@@ -1,49 +1,75 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { sourcesOptionM } from './logs';
3
- import { Option } from 'commander';
4
1
  import { frodo, state } from '@rockcarver/frodo-lib';
5
- import * as config from '../../utils/Config';
6
- import { printMessage } from '../../utils/Console';
2
+ import { Option } from 'commander';
7
3
  import { fetchLogs, provisionCreds } from '../../ops/LogOps';
4
+ import * as config from '../../utils/Config';
5
+ import { printMessage, verboseMessage } from '../../utils/Console';
6
+ import { FrodoCommand } from '../FrodoCommand';
7
+ import { sourcesOptionM } from './log';
8
+ const {
9
+ getTokens
10
+ } = frodo.login;
11
+ const {
12
+ resolveLevel
13
+ } = frodo.cloud.log;
14
+ const {
15
+ getConnectionProfile,
16
+ saveConnectionProfile
17
+ } = frodo.conn;
8
18
  const SECONDS_IN_30_DAYS = 2592000;
9
19
  const SECONDS_IN_1_HOUR = 3600;
10
20
  const LOG_TIME_WINDOW_MAX = SECONDS_IN_30_DAYS;
11
21
  const LOG_TIME_WINDOW_INCREMENT = 1;
12
- const program = new FrodoCommand('frodo logs fetch', ['realm', 'type']);
22
+ const program = new FrodoCommand('frodo log fetch', ['realm', 'type']);
13
23
  program.description('Fetch Identity Cloud logs between a specified begin and end time period.\
14
24
  WARNING: depending on filters and time period specified, this could take substantial time to complete.').addOption(sourcesOptionM).addOption(new Option('-l, --level <level>', 'Set log level filter. You can specify the level as a number or a string. \
15
25
  Following values are possible (values on the same line are equivalent): \
16
26
  \n0, SEVERE, FATAL, or ERROR\n1, WARNING, WARN or CONFIG\
17
27
  \n2, INFO or INFORMATION\n3, DEBUG, FINE, FINER or FINEST\
18
- \n4 or ALL').default('ERROR', `${frodo.cloud.log.resolveLevel('ERROR')}`)).addOption(new Option('-t, --transaction-id <txid>', 'Filter by transactionId')).addOption(new Option('-b, --begin-timestamp <beginTs>', 'Begin timestamp for period (in ISO8601, example: "2022-10-13T19:06:28Z", or "2022-09.30". \
28
+ \n4 or ALL').default('ERROR', `${resolveLevel('ERROR')}`)).addOption(new Option('-t, --transaction-id <txid>', 'Filter by transactionId')).addOption(new Option('-b, --begin-timestamp <beginTs>', 'Begin timestamp for period (in ISO8601, example: "2022-10-13T19:06:28Z", or "2022-09.30". \
19
29
  Cannot be more than 30 days in the past. If not specified, logs from one hour ago are fetched \
20
30
  (-e is ignored)')).addOption(new Option('-e, --end-timestamp <endTs>', 'End timestamp for period. Default: "now"')).addOption(new Option('-s, --search-string <ss>', 'Filter by a specific string (ANDed with transactionID filter)')).addOption(new Option('-d, --defaults', 'Use default logging noise filters').default(false, `Use custom logging noise filters defined in $HOME/${config.FRODO_LOG_NOISEFILTER_FILENAME}`)).action(async (host, user, password, options, command) => {
21
31
  command.handleDefaultArgsAndOpts(host, user, password, options, command);
22
- let credsFromParameters = true;
23
- const conn = await frodo.conn.getConnectionProfile();
24
- if (conn) {
25
- state.setHost(conn.tenant);
26
- if (conn.logApiKey != null && conn.logApiSecret != null) {
27
- credsFromParameters = false;
28
- state.setLogApiKey(conn.logApiKey);
29
- state.setLogApiSecret(conn.logApiSecret);
30
- } else {
31
- if (conn.username == null && conn.password == null) {
32
- if (!state.getUsername() && !state.getPassword()) {
33
- credsFromParameters = false;
34
- printMessage('User credentials not specified as parameters and no saved API key and secret found!', 'warn');
35
- return;
36
- }
37
- } else {
38
- state.setUsername(conn.username);
39
- state.setPassword(conn.password);
40
- }
41
- if (await frodo.login.getTokens(true)) {
42
- const creds = await provisionCreds();
43
- state.setLogApiKey(creds.api_key_id);
44
- state.setLogApiSecret(creds.api_key_secret);
45
- }
32
+ let foundCredentials = false;
33
+ const conn = await getConnectionProfile();
34
+ if (conn) state.setHost(conn.tenant);
35
+
36
+ // log api creds have been supplied as username and password arguments
37
+ if (state.getUsername() && state.getPassword()) {
38
+ verboseMessage(`Using log api credentials from command line.`);
39
+ state.setLogApiKey(state.getUsername());
40
+ state.setLogApiSecret(state.getPassword());
41
+ foundCredentials = true;
42
+ }
43
+ // log api creds from connection profile
44
+ else if (conn && conn.logApiKey != null && conn.logApiSecret != null) {
45
+ verboseMessage(`Using log api credentials from connection profile.`);
46
+ state.setLogApiKey(conn.logApiKey);
47
+ state.setLogApiSecret(conn.logApiSecret);
48
+ foundCredentials = true;
49
+ }
50
+ // log api creds have been supplied via env variables
51
+ else if (state.getLogApiKey() && state.getLogApiSecret()) {
52
+ verboseMessage(`Using log api credentials from environment variables.`);
53
+ foundCredentials = true;
54
+ }
55
+ // no log api creds but got username and password, so can try to create them
56
+ else if (conn && conn.username && conn.password) {
57
+ printMessage(`Found admin credentials in connection profile, attempting to create log api credentials...`);
58
+ state.setUsername(conn.username);
59
+ state.setPassword(conn.password);
60
+ if (await getTokens(true)) {
61
+ const creds = await provisionCreds();
62
+ state.setLogApiKey(creds.api_key_id);
63
+ state.setLogApiSecret(creds.api_key_secret);
64
+ await saveConnectionProfile(state.getHost());
65
+ foundCredentials = true;
66
+ }
67
+ // unable to create credentials
68
+ else {
69
+ printMessage(`Unable to create log api credentials.`);
46
70
  }
71
+ }
72
+ if (foundCredentials) {
47
73
  const now = Date.now() / 1000;
48
74
  const nowString = new Date(now * 1000).toISOString();
49
75
  if (typeof options.beginTimestamp === 'undefined' || !options.beginTimestamp) {
@@ -66,26 +92,32 @@ Cannot be more than 30 days in the past. If not specified, logs from one hour ag
66
92
  const endTs = Date.parse(options.endTimestamp) / 1000;
67
93
  if (endTs < beginTs) {
68
94
  printMessage('End timestamp can not be before begin timestamp', 'error');
95
+ process.exitCode = 1;
69
96
  return;
70
97
  }
71
98
  if (now - beginTs > LOG_TIME_WINDOW_MAX) {
72
99
  printMessage('Begin timestamp can not be more than 30 days in the past', 'error');
100
+ process.exitCode = 1;
73
101
  return;
74
102
  }
75
103
  let intermediateEndTs = 0;
76
- printMessage(`Fetching ID Cloud logs from the following sources: ${command.opts().sources} and levels [${frodo.cloud.log.resolveLevel(command.opts().level)}] of ${conn.tenant}...`);
77
- if (credsFromParameters) await frodo.conn.saveConnectionProfile(host); // save new values if they were specified on CLI
78
-
104
+ printMessage(`Fetching ID Cloud logs from the following sources: ${command.opts().sources} and levels [${resolveLevel(command.opts().level)}] of ${conn.tenant}...`);
79
105
  let timeIncrement = LOG_TIME_WINDOW_INCREMENT;
80
106
  if (endTs - beginTs > 30) {
81
107
  timeIncrement = timeIncrement * 30;
82
108
  }
83
109
  do {
84
110
  intermediateEndTs = beginTs + timeIncrement;
85
- await fetchLogs(command.opts().sources, new Date(beginTs * 1000).toISOString(), new Date(intermediateEndTs * 1000).toISOString(), frodo.cloud.log.resolveLevel(command.opts().level), command.opts().transactionId, command.opts().searchString, null, config.getNoiseFilters(options.defaults));
111
+ await fetchLogs(command.opts().sources, new Date(beginTs * 1000).toISOString(), new Date(intermediateEndTs * 1000).toISOString(), resolveLevel(command.opts().level), command.opts().transactionId, command.opts().searchString, null, config.getNoiseFilters(options.defaults));
86
112
  beginTs = intermediateEndTs;
87
113
  } while (intermediateEndTs < endTs);
88
114
  }
115
+ // no log api credentials
116
+ else {
117
+ printMessage('No log api credentials found!');
118
+ program.help();
119
+ process.exitCode = 1;
120
+ }
89
121
  });
90
122
  program.parse();
91
- //# sourceMappingURL=logs-fetch.js.map
123
+ //# sourceMappingURL=log-fetch.js.map