@rockcarver/frodo-cli 0.18.2-8 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/CHANGELOG.md +119 -1
  2. package/esm/app.js +4 -1
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +133 -0
  5. package/esm/cli/FrodoCommand.js.map +1 -0
  6. package/esm/cli/_template/something-delete.js +9 -15
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +9 -15
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +9 -15
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +9 -15
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +9 -15
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +9 -15
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +9 -15
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +8 -8
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +9 -15
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +9 -15
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +9 -15
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +9 -15
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +9 -15
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +9 -15
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +9 -15
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +9 -15
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +8 -8
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +9 -10
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +8 -15
  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 +9 -15
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-get-access-token.js +9 -15
  47. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  48. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +9 -15
  49. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  50. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +9 -15
  51. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  52. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +8 -15
  53. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  54. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +8 -15
  55. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  56. package/esm/cli/admin/admin-list-static-user-mappings.js +9 -15
  57. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  58. package/esm/cli/admin/admin-remove-static-user-mapping.js +8 -15
  59. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  60. package/esm/cli/admin/admin-repair-org-model.js +9 -15
  61. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  62. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +9 -15
  63. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-show-generic-extension-attributes.js +9 -15
  65. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  66. package/esm/cli/admin/admin.js +14 -15
  67. package/esm/cli/admin/admin.js.map +1 -1
  68. package/esm/cli/agent/agent-delete.js +8 -15
  69. package/esm/cli/agent/agent-delete.js.map +1 -1
  70. package/esm/cli/agent/agent-describe.js +9 -15
  71. package/esm/cli/agent/agent-describe.js.map +1 -1
  72. package/esm/cli/agent/agent-export.js +8 -15
  73. package/esm/cli/agent/agent-export.js.map +1 -1
  74. package/esm/cli/agent/agent-gateway-delete.js +8 -15
  75. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-describe.js +9 -15
  77. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-export.js +8 -15
  79. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  80. package/esm/cli/agent/agent-gateway-import.js +8 -15
  81. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-list.js +9 -15
  83. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway.js +8 -8
  85. package/esm/cli/agent/agent-gateway.js.map +1 -1
  86. package/esm/cli/agent/agent-import.js +8 -15
  87. package/esm/cli/agent/agent-import.js.map +1 -1
  88. package/esm/cli/agent/agent-java-delete.js +8 -15
  89. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-java-describe.js +9 -15
  91. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-java-export.js +8 -15
  93. package/esm/cli/agent/agent-java-export.js.map +1 -1
  94. package/esm/cli/agent/agent-java-import.js +8 -15
  95. package/esm/cli/agent/agent-java-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-list.js +9 -15
  97. package/esm/cli/agent/agent-java-list.js.map +1 -1
  98. package/esm/cli/agent/agent-java.js +8 -8
  99. package/esm/cli/agent/agent-java.js.map +1 -1
  100. package/esm/cli/agent/agent-list.js +9 -15
  101. package/esm/cli/agent/agent-list.js.map +1 -1
  102. package/esm/cli/agent/agent-web-delete.js +8 -15
  103. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  104. package/esm/cli/agent/agent-web-describe.js +9 -15
  105. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  106. package/esm/cli/agent/agent-web-export.js +8 -15
  107. package/esm/cli/agent/agent-web-export.js.map +1 -1
  108. package/esm/cli/agent/agent-web-import.js +8 -15
  109. package/esm/cli/agent/agent-web-import.js.map +1 -1
  110. package/esm/cli/agent/agent-web-list.js +9 -15
  111. package/esm/cli/agent/agent-web-list.js.map +1 -1
  112. package/esm/cli/agent/agent-web.js +8 -8
  113. package/esm/cli/agent/agent-web.js.map +1 -1
  114. package/esm/cli/agent/agent.js +10 -11
  115. package/esm/cli/agent/agent.js.map +1 -1
  116. package/esm/cli/app/app-delete.js +9 -12
  117. package/esm/cli/app/app-delete.js.map +1 -1
  118. package/esm/cli/app/app-describe.js +9 -12
  119. package/esm/cli/app/app-describe.js.map +1 -1
  120. package/esm/cli/app/app-export.js +28 -34
  121. package/esm/cli/app/app-export.js.map +1 -1
  122. package/esm/cli/app/app-import.js +11 -14
  123. package/esm/cli/app/app-import.js.map +1 -1
  124. package/esm/cli/app/app-list.js +11 -14
  125. package/esm/cli/app/app-list.js.map +1 -1
  126. package/esm/cli/app/app.js +8 -10
  127. package/esm/cli/app/app.js.map +1 -1
  128. package/esm/cli/conn/conn-delete.js +5 -5
  129. package/esm/cli/conn/conn-delete.js.map +1 -1
  130. package/esm/cli/conn/conn-describe.js +6 -5
  131. package/esm/cli/conn/conn-describe.js.map +1 -1
  132. package/esm/cli/conn/conn-list.js +6 -8
  133. package/esm/cli/conn/conn-list.js.map +1 -1
  134. package/esm/cli/conn/conn-save.js +72 -0
  135. package/esm/cli/conn/conn-save.js.map +1 -0
  136. package/esm/cli/conn/conn.js +10 -8
  137. package/esm/cli/conn/conn.js.map +1 -1
  138. package/esm/cli/email/email-template-export.js +29 -39
  139. package/esm/cli/email/email-template-export.js.map +1 -1
  140. package/esm/cli/email/email-template-import.js +34 -45
  141. package/esm/cli/email/email-template-import.js.map +1 -1
  142. package/esm/cli/email/email-template-list.js +12 -17
  143. package/esm/cli/email/email-template-list.js.map +1 -1
  144. package/esm/cli/email/email-template.js +6 -6
  145. package/esm/cli/email/email-template.js.map +1 -1
  146. package/esm/cli/email/email.js +2 -2
  147. package/esm/cli/email/email.js.map +1 -1
  148. package/esm/cli/esv/esv-apply.js +9 -12
  149. package/esm/cli/esv/esv-apply.js.map +1 -1
  150. package/esm/cli/esv/esv-secret-create.js +11 -14
  151. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  152. package/esm/cli/esv/esv-secret-delete.js +23 -29
  153. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  154. package/esm/cli/esv/esv-secret-describe.js +11 -14
  155. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  156. package/esm/cli/esv/esv-secret-export.js +9 -12
  157. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  158. package/esm/cli/esv/esv-secret-import.js +9 -12
  159. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  160. package/esm/cli/esv/esv-secret-list.js +11 -14
  161. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  162. package/esm/cli/esv/esv-secret-set.js +11 -14
  163. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  164. package/esm/cli/esv/esv-secret-version-activate.js +18 -24
  165. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  166. package/esm/cli/esv/esv-secret-version-create.js +11 -14
  167. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  168. package/esm/cli/esv/esv-secret-version-deactivate.js +18 -24
  169. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  170. package/esm/cli/esv/esv-secret-version-delete.js +23 -29
  171. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  172. package/esm/cli/esv/esv-secret-version-list.js +11 -14
  173. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  174. package/esm/cli/esv/esv-secret-version.js +8 -8
  175. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  176. package/esm/cli/esv/esv-secret.js +11 -11
  177. package/esm/cli/esv/esv-secret.js.map +1 -1
  178. package/esm/cli/esv/esv-variable-create.js +10 -14
  179. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  180. package/esm/cli/esv/esv-variable-delete.js +23 -29
  181. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  182. package/esm/cli/esv/esv-variable-describe.js +11 -14
  183. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  184. package/esm/cli/esv/esv-variable-export.js +9 -12
  185. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  186. package/esm/cli/esv/esv-variable-import.js +9 -12
  187. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  188. package/esm/cli/esv/esv-variable-list.js +11 -14
  189. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  190. package/esm/cli/esv/esv-variable-set.js +19 -26
  191. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  192. package/esm/cli/esv/esv-variable.js +10 -10
  193. package/esm/cli/esv/esv-variable.js.map +1 -1
  194. package/esm/cli/esv/esv.js +5 -6
  195. package/esm/cli/esv/esv.js.map +1 -1
  196. package/esm/cli/idm/idm-count.js +12 -17
  197. package/esm/cli/idm/idm-count.js.map +1 -1
  198. package/esm/cli/idm/idm-export.js +29 -39
  199. package/esm/cli/idm/idm-export.js.map +1 -1
  200. package/esm/cli/idm/idm-import.js +29 -39
  201. package/esm/cli/idm/idm-import.js.map +1 -1
  202. package/esm/cli/idm/idm-list.js +11 -17
  203. package/esm/cli/idm/idm-list.js.map +1 -1
  204. package/esm/cli/idm/idm.js +6 -9
  205. package/esm/cli/idm/idm.js.map +1 -1
  206. package/esm/cli/idp/idp-export.js +11 -15
  207. package/esm/cli/idp/idp-export.js.map +1 -1
  208. package/esm/cli/idp/idp-import.js +32 -38
  209. package/esm/cli/idp/idp-import.js.map +1 -1
  210. package/esm/cli/idp/idp-list.js +9 -13
  211. package/esm/cli/idp/idp-list.js.map +1 -1
  212. package/esm/cli/idp/idp.js +5 -6
  213. package/esm/cli/idp/idp.js.map +1 -1
  214. package/esm/cli/info/info.js +19 -20
  215. package/esm/cli/info/info.js.map +1 -1
  216. package/esm/cli/journey/journey-delete.js +22 -28
  217. package/esm/cli/journey/journey-delete.js.map +1 -1
  218. package/esm/cli/journey/journey-describe.js +12 -19
  219. package/esm/cli/journey/journey-describe.js.map +1 -1
  220. package/esm/cli/journey/journey-disable.js +20 -26
  221. package/esm/cli/journey/journey-disable.js.map +1 -1
  222. package/esm/cli/journey/journey-enable.js +20 -26
  223. package/esm/cli/journey/journey-enable.js.map +1 -1
  224. package/esm/cli/journey/journey-export.js +37 -45
  225. package/esm/cli/journey/journey-export.js.map +1 -1
  226. package/esm/cli/journey/journey-import.js +44 -52
  227. package/esm/cli/journey/journey-import.js.map +1 -1
  228. package/esm/cli/journey/journey-list.js +10 -13
  229. package/esm/cli/journey/journey-list.js.map +1 -1
  230. package/esm/cli/journey/journey-prune.js +9 -13
  231. package/esm/cli/journey/journey-prune.js.map +1 -1
  232. package/esm/cli/journey/journey.js +10 -11
  233. package/esm/cli/journey/journey.js.map +1 -1
  234. package/esm/cli/logging/logs-fetch.js +17 -19
  235. package/esm/cli/logging/logs-fetch.js.map +1 -1
  236. package/esm/cli/logging/logs-list.js +19 -25
  237. package/esm/cli/logging/logs-list.js.map +1 -1
  238. package/esm/cli/logging/logs-tail.js +17 -19
  239. package/esm/cli/logging/logs-tail.js.map +1 -1
  240. package/esm/cli/logging/logs.js +7 -6
  241. package/esm/cli/logging/logs.js.map +1 -1
  242. package/esm/cli/realm/realm-add-custom-domain.js +11 -14
  243. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  244. package/esm/cli/realm/realm-describe.js +10 -14
  245. package/esm/cli/realm/realm-describe.js.map +1 -1
  246. package/esm/cli/realm/realm-list.js +11 -14
  247. package/esm/cli/realm/realm-list.js.map +1 -1
  248. package/esm/cli/realm/realm-remove-custom-domain.js +11 -14
  249. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  250. package/esm/cli/realm/realm.js +7 -8
  251. package/esm/cli/realm/realm.js.map +1 -1
  252. package/esm/cli/saml/saml-cot-export.js +27 -36
  253. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  254. package/esm/cli/saml/saml-cot-import.js +32 -41
  255. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  256. package/esm/cli/saml/saml-cot-list.js +10 -16
  257. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  258. package/esm/cli/saml/saml-cot.js +6 -6
  259. package/esm/cli/saml/saml-cot.js.map +1 -1
  260. package/esm/cli/saml/saml-delete.js +8 -15
  261. package/esm/cli/saml/saml-delete.js.map +1 -1
  262. package/esm/cli/saml/saml-describe.js +10 -16
  263. package/esm/cli/saml/saml-describe.js.map +1 -1
  264. package/esm/cli/saml/saml-export.js +9 -16
  265. package/esm/cli/saml/saml-export.js.map +1 -1
  266. package/esm/cli/saml/saml-import.js +45 -54
  267. package/esm/cli/saml/saml-import.js.map +1 -1
  268. package/esm/cli/saml/saml-list.js +11 -17
  269. package/esm/cli/saml/saml-list.js.map +1 -1
  270. package/esm/cli/saml/saml-metadata-export.js +21 -30
  271. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  272. package/esm/cli/saml/saml-metadata.js +4 -4
  273. package/esm/cli/saml/saml-metadata.js.map +1 -1
  274. package/esm/cli/saml/saml.js +9 -10
  275. package/esm/cli/saml/saml.js.map +1 -1
  276. package/esm/cli/script/script-delete.js +9 -12
  277. package/esm/cli/script/script-delete.js.map +1 -1
  278. package/esm/cli/script/script-describe.js +9 -12
  279. package/esm/cli/script/script-describe.js.map +1 -1
  280. package/esm/cli/script/script-export.js +28 -34
  281. package/esm/cli/script/script-export.js.map +1 -1
  282. package/esm/cli/script/script-import.js +10 -13
  283. package/esm/cli/script/script-import.js.map +1 -1
  284. package/esm/cli/script/script-list.js +10 -13
  285. package/esm/cli/script/script-list.js.map +1 -1
  286. package/esm/cli/script/script.js +7 -8
  287. package/esm/cli/script/script.js.map +1 -1
  288. package/esm/cli/service/service-delete.js +10 -16
  289. package/esm/cli/service/service-delete.js.map +1 -1
  290. package/esm/cli/service/service-export.js +12 -17
  291. package/esm/cli/service/service-export.js.map +1 -1
  292. package/esm/cli/service/service-import.js +12 -18
  293. package/esm/cli/service/service-import.js.map +1 -1
  294. package/esm/cli/service/service-list.js +9 -15
  295. package/esm/cli/service/service-list.js.map +1 -1
  296. package/esm/cli/service/service.js +6 -7
  297. package/esm/cli/service/service.js.map +1 -1
  298. package/esm/cli/theme/theme-delete.js +15 -26
  299. package/esm/cli/theme/theme-delete.js.map +1 -1
  300. package/esm/cli/theme/theme-export.js +14 -26
  301. package/esm/cli/theme/theme-export.js.map +1 -1
  302. package/esm/cli/theme/theme-import.js +16 -29
  303. package/esm/cli/theme/theme-import.js.map +1 -1
  304. package/esm/cli/theme/theme-list.js +12 -20
  305. package/esm/cli/theme/theme-list.js.map +1 -1
  306. package/esm/cli/theme/theme.js +6 -7
  307. package/esm/cli/theme/theme.js.map +1 -1
  308. package/esm/ops/ConnectionProfileOps.js +30 -0
  309. package/esm/ops/ConnectionProfileOps.js.map +1 -0
  310. package/esm/ops/EmailTemplateOps.js +267 -2
  311. package/esm/ops/EmailTemplateOps.js.map +1 -1
  312. package/esm/ops/IdmOps.js +317 -0
  313. package/esm/ops/IdmOps.js.map +1 -0
  314. package/esm/ops/JourneyOps.js +2 -1
  315. package/esm/ops/JourneyOps.js.map +1 -1
  316. package/esm/ops/ServiceOps.js +20 -20
  317. package/esm/ops/ServiceOps.js.map +1 -1
  318. package/esm/ops/ThemeOps.js +329 -0
  319. package/esm/ops/ThemeOps.js.map +1 -1
  320. package/esm/utils/Console.js +15 -25
  321. package/esm/utils/Console.js.map +1 -1
  322. package/esm/utils/ExportImportUtils.js +46 -0
  323. package/esm/utils/ExportImportUtils.js.map +1 -0
  324. package/package.json +6 -5
  325. package/esm/cli/cmd_common.js +0 -79
  326. package/esm/cli/cmd_common.js.map +0 -1
  327. package/esm/cli/conn/conn-add.js +0 -37
  328. package/esm/cli/conn/conn-add.js.map +0 -1
  329. package/esm/cli/journey/journey-delete.e2e.test_.js.map +0 -1
  330. package/esm/cli/journey/journey-list.e2e.test_.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, Journey, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate, Journey } from '@rockcarver/frodo-lib';
4
4
  import { showSpinner, failSpinner, succeedSpinner, printMessage } from '../../utils/Console';
5
5
  const {
6
6
  getTokens
@@ -8,8 +8,8 @@ const {
8
8
  const {
9
9
  enableJourney
10
10
  } = Journey;
11
- const program = new Command('frodo journey enable');
12
- program.description('Enable journeys/trees.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --journey-id <journey>', 'Name of a journey/tree.'))
11
+ const program = new FrodoCommand('frodo journey enable');
12
+ program.description('Enable journeys/trees.').addOption(new Option('-i, --journey-id <journey>', 'Name of a journey/tree.'))
13
13
  // .addOption(
14
14
  // new Option(
15
15
  // '-a, --all',
@@ -18,29 +18,23 @@ program.description('Enable journeys/trees.').helpOption('-h, --help', 'Help').s
18
18
  // )
19
19
  .action(
20
20
  // implement command logic inside action handler
21
- async (host, realm, user, password, options) => {
22
- state.default.session.setTenant(host);
23
- state.default.session.setRealm(realm);
24
- state.default.session.setUsername(user);
25
- state.default.session.setPassword(password);
26
- state.default.session.setDeploymentType(options.type);
27
- state.default.session.setAllowInsecureConnection(options.insecure);
28
- if (await getTokens()) {
29
- // enable
30
- if (options.journeyId) {
31
- showSpinner(`Enabling journey ${options.journeyId}...`);
32
- if (await enableJourney(options.journeyId)) {
33
- succeedSpinner(`Enabled journey ${options.journeyId}.`);
34
- } else {
35
- failSpinner(`Enabling journey ${options.journeyId} failed.`);
36
- }
37
- }
38
- // unrecognized combination of options or no options
39
- else {
40
- printMessage('Unrecognized combination of options or no options...');
41
- program.help();
21
+ async (host, realm, user, password, options, command) => {
22
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
23
+ // enable
24
+ if (options.journeyId && (await getTokens())) {
25
+ showSpinner(`Enabling journey ${options.journeyId}...`);
26
+ if (await enableJourney(options.journeyId)) {
27
+ succeedSpinner(`Enabled journey ${options.journeyId}.`);
28
+ } else {
29
+ failSpinner(`Enabling journey ${options.journeyId} failed.`);
42
30
  }
43
31
  }
32
+ // unrecognized combination of options or no options
33
+ else {
34
+ printMessage('Unrecognized combination of options or no options...');
35
+ program.help();
36
+ process.exitCode = 1;
37
+ }
44
38
  }
45
39
  // end command logic inside action handler
46
40
  );
@@ -1 +1 @@
1
- {"version":3,"file":"journey-enable.js","names":["Command","Option","Authenticate","Journey","state","common","showSpinner","failSpinner","succeedSpinner","printMessage","getTokens","enableJourney","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","journeyId","help","parse"],"sources":["cli/journey/journey-enable.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Journey, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport {\n showSpinner,\n failSpinner,\n succeedSpinner,\n printMessage,\n} from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst { enableJourney } = Journey;\n\nconst program = new Command('frodo journey enable');\n\nprogram\n .description('Enable journeys/trees.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // enable\n if (options.journeyId) {\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 }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,uBAAuB;AACpE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SACEC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,YAAY,QACP,qBAAqB;AAE5B,MAAM;EAAEC;AAAU,CAAC,GAAGR,YAAY;AAClC,MAAM;EAAES;AAAc,CAAC,GAAGR,OAAO;AAEjC,MAAMS,OAAO,GAAG,IAAIZ,OAAO,CAAC,sBAAsB,CAAC;AAEnDY,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACX,MAAM,CAACY,aAAa,CAAC,CACjCD,WAAW,CAACX,MAAM,CAACa,aAAa,CAAC,CACjCF,WAAW,CAACX,MAAM,CAACc,YAAY,CAAC,CAChCH,WAAW,CAACX,MAAM,CAACe,gBAAgB,CAAC,CACpCC,SAAS,CAAChB,MAAM,CAACiB,gBAAgB,CAAC,CAClCD,SAAS,CAAChB,MAAM,CAACkB,cAAc,CAAC,CAChCF,SAAS,CACR,IAAIpB,MAAM,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;AAErE;AACA;AACA;AACA;AACA;AACA;AAAA,CACCuB,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CzB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrCrB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCtB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvCvB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CxB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrDjC,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClE,IAAI,MAAM7B,SAAS,EAAE,EAAE;IACrB;IACA,IAAImB,OAAO,CAACW,SAAS,EAAE;MACrBlC,WAAW,CAAE,oBAAmBuB,OAAO,CAACW,SAAU,KAAI,CAAC;MACvD,IAAI,MAAM7B,aAAa,CAACkB,OAAO,CAACW,SAAS,CAAC,EAAE;QAC1ChC,cAAc,CAAE,mBAAkBqB,OAAO,CAACW,SAAU,GAAE,CAAC;MACzD,CAAC,MAAM;QACLjC,WAAW,CAAE,oBAAmBsB,OAAO,CAACW,SAAU,UAAS,CAAC;MAC9D;IACF;IACA;IAAA,KACK;MACH/B,YAAY,CAAC,sDAAsD,CAAC;MACpEG,OAAO,CAAC6B,IAAI,EAAE;IAChB;EACF;AACF;AACA;AAAA,CACD;;AAEH7B,OAAO,CAAC8B,KAAK,EAAE"}
1
+ {"version":3,"file":"journey-enable.js","names":["FrodoCommand","Option","Authenticate","Journey","showSpinner","failSpinner","succeedSpinner","printMessage","getTokens","enableJourney","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","journeyId","help","process","exitCode","parse"],"sources":["cli/journey/journey-enable.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, Journey } from '@rockcarver/frodo-lib';\nimport {\n showSpinner,\n failSpinner,\n succeedSpinner,\n printMessage,\n} from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst { enableJourney } = 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,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,OAAO,QAAQ,uBAAuB;AAC7D,SACEC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,YAAY,QACP,qBAAqB;AAE5B,MAAM;EAAEC;AAAU,CAAC,GAAGN,YAAY;AAClC,MAAM;EAAEO;AAAc,CAAC,GAAGN,OAAO;AAEjC,MAAMO,OAAO,GAAG,IAAIV,YAAY,CAAC,sBAAsB,CAAC;AAExDU,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIX,MAAM,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;AAErE;AACA;AACA;AACA;AACA;AACA;AAAA,CACCY,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,OAAO,CACR;EACD;EACA,IAAID,OAAO,CAACG,SAAS,KAAK,MAAMb,SAAS,EAAE,CAAC,EAAE;IAC5CJ,WAAW,CAAE,oBAAmBc,OAAO,CAACG,SAAU,KAAI,CAAC;IACvD,IAAI,MAAMZ,aAAa,CAACS,OAAO,CAACG,SAAS,CAAC,EAAE;MAC1Cf,cAAc,CAAE,mBAAkBY,OAAO,CAACG,SAAU,GAAE,CAAC;IACzD,CAAC,MAAM;MACLhB,WAAW,CAAE,oBAAmBa,OAAO,CAACG,SAAU,UAAS,CAAC;IAC9D;EACF;EACA;EAAA,KACK;IACHd,YAAY,CAAC,sDAAsD,CAAC;IACpEG,OAAO,CAACY,IAAI,EAAE;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHd,OAAO,CAACe,KAAK,EAAE"}
@@ -1,54 +1,46 @@
1
- import { Command, Option } from 'commander';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
2
3
  import { Authenticate, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common';
4
4
  import { exportJourneyToFile, exportJourneysToFile, exportJourneysToFiles } from '../../ops/JourneyOps';
5
- import { printMessage } from '../../utils/Console';
5
+ import { printMessage, verboseMessage } from '../../utils/Console';
6
6
  const {
7
7
  getTokens
8
8
  } = Authenticate;
9
- const program = new Command('frodo journey export');
10
- program.description('Export journeys/trees.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).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(
9
+ const program = new FrodoCommand('frodo journey export');
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).')).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(
11
11
  // implement command logic inside action handler
12
- async (host, realm, user, password, options) => {
13
- state.default.session.setTenant(host);
14
- state.default.session.setRealm(realm);
15
- state.default.session.setUsername(user);
16
- state.default.session.setPassword(password);
17
- state.default.session.setDeploymentType(options.type);
18
- state.default.session.setAllowInsecureConnection(options.insecure);
19
- state.default.session.setVerbose(options.verbose);
20
- state.default.session.setDebug(options.debug);
21
- if (options.directory) state.default.session.setDirectory(options.directory);
22
- if (await getTokens()) {
23
- // export
24
- if (options.journeyId) {
25
- printMessage('Exporting journey...');
26
- await exportJourneyToFile(options.journeyId, options.file, {
27
- useStringArrays: options.useStringArrays,
28
- deps: options.deps
29
- });
30
- }
31
- // --all -a
32
- else if (options.all) {
33
- printMessage('Exporting all journeys to a single file...');
34
- await exportJourneysToFile(options.file, {
35
- useStringArrays: options.useStringArrays,
36
- deps: options.deps
37
- });
38
- }
39
- // --all-separate -A
40
- else if (options.allSeparate) {
41
- printMessage('Exporting all journeys to separate files...');
42
- await exportJourneysToFiles({
43
- useStringArrays: options.useStringArrays,
44
- deps: options.deps
45
- });
46
- }
47
- // unrecognized combination of options or no options
48
- else {
49
- printMessage('Unrecognized combination of options or no options...');
50
- program.help();
51
- }
12
+ async (host, realm, user, password, options, command) => {
13
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
14
+ if (options.directory) state.setDirectory(options.directory);
15
+ // export
16
+ if (options.journeyId && (await getTokens())) {
17
+ verboseMessage('Exporting journey...');
18
+ await exportJourneyToFile(options.journeyId, options.file, {
19
+ useStringArrays: options.useStringArrays,
20
+ deps: options.deps
21
+ });
22
+ }
23
+ // --all -a
24
+ else if (options.all && (await getTokens())) {
25
+ verboseMessage('Exporting all journeys to a single file...');
26
+ await exportJourneysToFile(options.file, {
27
+ useStringArrays: options.useStringArrays,
28
+ deps: options.deps
29
+ });
30
+ }
31
+ // --all-separate -A
32
+ else if (options.allSeparate && (await getTokens())) {
33
+ verboseMessage('Exporting all journeys to separate files...');
34
+ await exportJourneysToFiles({
35
+ useStringArrays: options.useStringArrays,
36
+ deps: options.deps
37
+ });
38
+ }
39
+ // unrecognized combination of options or no options
40
+ else {
41
+ printMessage('Unrecognized combination of options or no options...', 'error');
42
+ program.help();
43
+ process.exitCode = 1;
52
44
  }
53
45
  }
54
46
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"journey-export.js","names":["Command","Option","Authenticate","state","common","exportJourneyToFile","exportJourneysToFile","exportJourneysToFiles","printMessage","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","directory","setDirectory","journeyId","file","useStringArrays","deps","all","allSeparate","help","parse"],"sources":["cli/journey/journey-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport {\n exportJourneyToFile,\n exportJourneysToFile,\n exportJourneysToFiles,\n} from '../../ops/JourneyOps';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo journey export');\n\nprogram\n .description('Export journeys/trees.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(common.verboseOption)\n .addOption(common.debugOption)\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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n if (options.directory)\n state.default.session.setDirectory(options.directory);\n if (await getTokens()) {\n // export\n if (options.journeyId) {\n printMessage('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) {\n printMessage('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) {\n printMessage('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('Unrecognized combination of options or no options...');\n program.help();\n }\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":["FrodoCommand","Option","Authenticate","state","exportJourneyToFile","exportJourneysToFile","exportJourneysToFiles","printMessage","verboseMessage","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","directory","setDirectory","journeyId","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 { Authenticate, state } from '@rockcarver/frodo-lib';\nimport {\n exportJourneyToFile,\n exportJourneysToFile,\n exportJourneysToFiles,\n} from '../../ops/JourneyOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\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 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":"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"}
@@ -1,61 +1,53 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate } from '@rockcarver/frodo-lib';
4
4
  import { importJourneyFromFile, importJourneysFromFile, importJourneysFromFiles, importFirstJourneyFromFile } from '../../ops/JourneyOps';
5
5
  import { printMessage } from '../../utils/Console';
6
6
  const {
7
7
  getTokens
8
8
  } = Authenticate;
9
- const program = new Command('frodo journey import');
10
- program.description('Import journey/tree.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).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(
9
+ const program = new FrodoCommand('frodo journey import');
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(
11
11
  // implement command logic inside action handler
12
- async (host, realm, user, password, options) => {
13
- state.default.session.setTenant(host);
14
- state.default.session.setRealm(realm);
15
- state.default.session.setUsername(user);
16
- state.default.session.setPassword(password);
17
- state.default.session.setDeploymentType(options.type);
18
- state.default.session.setAllowInsecureConnection(options.insecure);
19
- state.default.session.setVerbose(options.verbose);
20
- state.default.session.setDebug(options.debug);
21
- if (await getTokens()) {
22
- // import
23
- if (options.journeyId) {
24
- printMessage(`Importing journey ${options.journeyId}...`);
25
- importJourneyFromFile(options.journeyId, options.file, {
26
- reUuid: options.reUuid,
27
- deps: options.deps
28
- });
29
- }
30
- // --all -a
31
- else if (options.all && options.file) {
32
- printMessage(`Importing all journeys from a single file (${options.file})...`);
33
- importJourneysFromFile(options.file, {
34
- reUuid: options.reUuid,
35
- deps: options.deps
36
- });
37
- }
38
- // --all-separate -A
39
- else if (options.allSeparate && !options.file) {
40
- printMessage('Importing all journeys from separate files in current directory...');
41
- importJourneysFromFiles({
42
- reUuid: options.reUuid,
43
- deps: options.deps
44
- });
45
- }
46
- // import first journey in file
47
- else if (options.file) {
48
- printMessage('Importing first journey in file...');
49
- importFirstJourneyFromFile(options.file, {
50
- reUuid: options.reUuid,
51
- deps: options.deps
52
- });
53
- }
54
- // unrecognized combination of options or no options
55
- else {
56
- printMessage('Unrecognized combination of options or no options...');
57
- program.help();
58
- }
12
+ async (host, realm, user, password, options, command) => {
13
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
14
+ // import
15
+ if (options.journeyId && (await getTokens())) {
16
+ printMessage(`Importing journey ${options.journeyId}...`);
17
+ importJourneyFromFile(options.journeyId, options.file, {
18
+ reUuid: options.reUuid,
19
+ deps: options.deps
20
+ });
21
+ }
22
+ // --all -a
23
+ else if (options.all && options.file && (await getTokens())) {
24
+ printMessage(`Importing all journeys from a single file (${options.file})...`);
25
+ importJourneysFromFile(options.file, {
26
+ reUuid: options.reUuid,
27
+ deps: options.deps
28
+ });
29
+ }
30
+ // --all-separate -A
31
+ else if (options.allSeparate && !options.file && (await getTokens())) {
32
+ printMessage('Importing all journeys from separate files in current directory...');
33
+ importJourneysFromFiles({
34
+ reUuid: options.reUuid,
35
+ deps: options.deps
36
+ });
37
+ }
38
+ // import first journey in file
39
+ else if (options.file && (await getTokens())) {
40
+ printMessage('Importing first journey in file...');
41
+ importFirstJourneyFromFile(options.file, {
42
+ reUuid: options.reUuid,
43
+ deps: options.deps
44
+ });
45
+ }
46
+ // unrecognized combination of options or no options
47
+ else {
48
+ printMessage('Unrecognized combination of options or no options...');
49
+ program.help();
50
+ process.exitCode = 1;
59
51
  }
60
52
  }
61
53
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"journey-import.js","names":["Command","Option","Authenticate","state","common","importJourneyFromFile","importJourneysFromFile","importJourneysFromFiles","importFirstJourneyFromFile","printMessage","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","journeyId","file","reUuid","deps","all","allSeparate","help","parse"],"sources":["cli/journey/journey-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport {\n importJourneyFromFile,\n importJourneysFromFile,\n importJourneysFromFiles,\n importFirstJourneyFromFile,\n} from '../../ops/JourneyOps';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo journey import');\n\nprogram\n .description('Import journey/tree.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(common.verboseOption)\n .addOption(common.debugOption)\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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n if (await getTokens()) {\n // import\n if (options.journeyId) {\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) {\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) {\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) {\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 }\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":["FrodoCommand","Option","Authenticate","importJourneyFromFile","importJourneysFromFile","importJourneysFromFiles","importFirstJourneyFromFile","printMessage","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","journeyId","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 { Authenticate } from '@rockcarver/frodo-lib';\nimport {\n importJourneyFromFile,\n importJourneysFromFile,\n importJourneysFromFiles,\n importFirstJourneyFromFile,\n} from '../../ops/JourneyOps';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\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,24 +1,21 @@
1
- import { Command, Option } from 'commander';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
2
3
  import { Authenticate, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common';
4
4
  import { listJourneys } from '../../ops/JourneyOps';
5
- import { printMessage } from '../../utils/Console';
5
+ import { verboseMessage } from '../../utils/Console';
6
6
  const {
7
7
  getTokens
8
8
  } = Authenticate;
9
- const program = new Command('frodo journey list');
10
- program.description('List journeys/trees.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).addOption(new Option('-a, --analyze', 'Analyze journeys for custom nodes.')).action(
9
+ const program = new FrodoCommand('frodo journey list');
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(
11
11
  // implement command logic inside action handler
12
- async (host, realm, user, password, options) => {
13
- state.default.session.setTenant(host);
14
- state.default.session.setRealm(realm);
15
- state.default.session.setUsername(user);
16
- state.default.session.setPassword(password);
17
- state.default.session.setDeploymentType(options.type);
18
- state.default.session.setAllowInsecureConnection(options.insecure);
12
+ async (host, realm, user, password, options, command) => {
13
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
19
14
  if (await getTokens()) {
20
- printMessage(`Listing journeys in realm "${state.default.session.getRealm()}"...`);
15
+ verboseMessage(`Listing journeys in realm "${state.getRealm()}"...`);
21
16
  listJourneys(options.long, options.analyze);
17
+ } else {
18
+ process.exitCode = 1;
22
19
  }
23
20
  }
24
21
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"journey-list.js","names":["Command","Option","Authenticate","state","common","listJourneys","printMessage","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","getRealm","long","analyze","parse"],"sources":["cli/journey/journey-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { listJourneys } from '../../ops/JourneyOps';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo journey list');\n\nprogram\n .description('List journeys/trees.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n `Listing journeys in realm \"${state.default.session.getRealm()}\"...`\n );\n listJourneys(options.long, options.analyze);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,YAAY,QAAQ,qBAAqB;AAElD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAElC,MAAMM,OAAO,GAAG,IAAIR,OAAO,CAAC,oBAAoB,CAAC;AAEjDQ,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACR,MAAM,CAACS,aAAa,CAAC,CACjCD,WAAW,CAACR,MAAM,CAACU,aAAa,CAAC,CACjCF,WAAW,CAACR,MAAM,CAACW,YAAY,CAAC,CAChCH,WAAW,CAACR,MAAM,CAACY,gBAAgB,CAAC,CACpCC,SAAS,CAACb,MAAM,CAACc,gBAAgB,CAAC,CAClCD,SAAS,CAACb,MAAM,CAACe,cAAc,CAAC,CAChCF,SAAS,CACR,IAAIhB,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACmB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAH,SAAS,CAAC,IAAIhB,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC,CAAC,CAC5EoB,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CvB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACC,SAAS,CAACN,IAAI,CAAC;EACrCnB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACE,QAAQ,CAACN,KAAK,CAAC;EACrCpB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACG,WAAW,CAACN,IAAI,CAAC;EACvCrB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACI,WAAW,CAACN,QAAQ,CAAC;EAC3CtB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACK,iBAAiB,CAACN,OAAO,CAACO,IAAI,CAAC;EACrD9B,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACO,0BAA0B,CAACR,OAAO,CAACS,QAAQ,CAAC;EAClE,IAAI,MAAM5B,SAAS,EAAE,EAAE;IACrBD,YAAY,CACT,8BAA6BH,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACS,QAAQ,EAAG,MAAK,CACrE;IACD/B,YAAY,CAACqB,OAAO,CAACW,IAAI,EAAEX,OAAO,CAACY,OAAO,CAAC;EAC7C;AACF;AACA;AAAA,CACD;;AAEH9B,OAAO,CAAC+B,KAAK,EAAE"}
1
+ {"version":3,"file":"journey-list.js","names":["FrodoCommand","Option","Authenticate","state","listJourneys","verboseMessage","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","long","analyze","process","exitCode","parse"],"sources":["cli/journey/journey-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { listJourneys } from '../../ops/JourneyOps';\nimport { verboseMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\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,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,cAAc,QAAQ,qBAAqB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGJ,YAAY;AAElC,MAAMK,OAAO,GAAG,IAAIP,YAAY,CAAC,oBAAoB,CAAC;AAEtDO,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,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,OAAO,CACR;EACD,IAAI,MAAMX,SAAS,EAAE,EAAE;IACrBD,cAAc,CAAE,8BAA6BF,KAAK,CAACgB,QAAQ,EAAG,MAAK,CAAC;IACpEf,YAAY,CAACY,OAAO,CAACI,IAAI,EAAEJ,OAAO,CAACK,OAAO,CAAC;EAC7C,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHhB,OAAO,CAACiB,KAAK,EAAE"}
@@ -1,8 +1,7 @@
1
- import { Command } from 'commander';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
2
  import { Authenticate, Journey, state } from '@rockcarver/frodo-lib';
3
3
  import yesno from 'yesno';
4
- import * as common from '../cmd_common';
5
- import { printMessage } from '../../utils/Console';
4
+ import { printMessage, verboseMessage } from '../../utils/Console';
6
5
  const {
7
6
  getTokens
8
7
  } = Authenticate;
@@ -10,18 +9,13 @@ const {
10
9
  findOrphanedNodes,
11
10
  removeOrphanedNodes
12
11
  } = Journey;
13
- const program = new Command('frodo journey prune');
14
- program.description('Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).action(
12
+ const program = new FrodoCommand('frodo journey prune');
13
+ program.description('Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.').action(
15
14
  // implement command logic inside action handler
16
- async (host, realm, user, password, options) => {
17
- state.default.session.setTenant(host);
18
- state.default.session.setRealm(realm);
19
- state.default.session.setUsername(user);
20
- state.default.session.setPassword(password);
21
- state.default.session.setDeploymentType(options.type);
22
- state.default.session.setAllowInsecureConnection(options.insecure);
15
+ async (host, realm, user, password, options, command) => {
16
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
23
17
  if (await getTokens()) {
24
- printMessage(`Pruning orphaned configuration artifacts in realm "${state.default.session.getRealm()}"...`);
18
+ verboseMessage(`Pruning orphaned configuration artifacts in realm "${state.getRealm()}"...`);
25
19
  const orphanedNodes = await findOrphanedNodes();
26
20
  if (orphanedNodes.length > 0) {
27
21
  const ok = await yesno({
@@ -33,6 +27,8 @@ async (host, realm, user, password, options) => {
33
27
  } else {
34
28
  printMessage('No orphaned nodes found.');
35
29
  }
30
+ } else {
31
+ process.exitCode = 1;
36
32
  }
37
33
  }
38
34
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"journey-prune.js","names":["Command","Authenticate","Journey","state","yesno","common","printMessage","getTokens","findOrphanedNodes","removeOrphanedNodes","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","getRealm","orphanedNodes","length","ok","question","parse"],"sources":["cli/journey/journey-prune.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { Authenticate, Journey, state } from '@rockcarver/frodo-lib';\nimport yesno from 'yesno';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst { findOrphanedNodes, removeOrphanedNodes } = Journey;\n\nconst program = new Command('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 .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n `Pruning orphaned configuration artifacts in realm \"${state.default.session.getRealm()}\"...`\n );\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 }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,SAASC,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,uBAAuB;AACpE,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,YAAY,QAAQ,qBAAqB;AAElD,MAAM;EAAEC;AAAU,CAAC,GAAGN,YAAY;AAClC,MAAM;EAAEO,iBAAiB;EAAEC;AAAoB,CAAC,GAAGP,OAAO;AAE1D,MAAMQ,OAAO,GAAG,IAAIV,OAAO,CAAC,qBAAqB,CAAC;AAElDU,OAAO,CACJC,WAAW,CACV,+JAA+J,CAChK,CACAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACT,MAAM,CAACU,aAAa,CAAC,CACjCD,WAAW,CAACT,MAAM,CAACW,aAAa,CAAC,CACjCF,WAAW,CAACT,MAAM,CAACY,YAAY,CAAC,CAChCH,WAAW,CAACT,MAAM,CAACa,gBAAgB,CAAC,CACpCC,SAAS,CAACd,MAAM,CAACe,gBAAgB,CAAC,CAClCD,SAAS,CAACd,MAAM,CAACgB,cAAc,CAAC,CAChCC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CxB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrCpB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCrB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvCtB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CvB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrDhC,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClE,IAAI,MAAM9B,SAAS,EAAE,EAAE;IACrBD,YAAY,CACT,sDAAqDH,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACS,QAAQ,EAAG,MAAK,CAC7F;IACD,MAAMC,aAAa,GAAG,MAAM/B,iBAAiB,EAAE;IAC/C,IAAI+B,aAAa,CAACC,MAAM,GAAG,CAAC,EAAE;MAC5B,MAAMC,EAAE,GAAG,MAAMrC,KAAK,CAAC;QACrBsC,QAAQ,EAAE;MACZ,CAAC,CAAC;MACF,IAAID,EAAE,EAAE;QACN,MAAMhC,mBAAmB,CAAC8B,aAAa,CAAC;MAC1C;IACF,CAAC,MAAM;MACLjC,YAAY,CAAC,0BAA0B,CAAC;IAC1C;EACF;AACF;AACA;AAAA,CACD;;AAEHI,OAAO,CAACiC,KAAK,EAAE"}
1
+ {"version":3,"file":"journey-prune.js","names":["FrodoCommand","Authenticate","Journey","state","yesno","printMessage","verboseMessage","getTokens","findOrphanedNodes","removeOrphanedNodes","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","orphanedNodes","length","ok","question","process","exitCode","parse"],"sources":["cli/journey/journey-prune.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Authenticate, Journey, state } from '@rockcarver/frodo-lib';\nimport yesno from 'yesno';\nimport { printMessage, verboseMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst { findOrphanedNodes, removeOrphanedNodes } = Journey;\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 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 } 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,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,uBAAuB;AACpE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAElE,MAAM;EAAEC;AAAU,CAAC,GAAGN,YAAY;AAClC,MAAM;EAAEO,iBAAiB;EAAEC;AAAoB,CAAC,GAAGP,OAAO;AAE1D,MAAMQ,OAAO,GAAG,IAAIV,YAAY,CAAC,qBAAqB,CAAC;AAEvDU,OAAO,CACJC,WAAW,CACV,+JAA+J,CAChK,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,OAAO,CACR;EACD,IAAI,MAAMX,SAAS,EAAE,EAAE;IACrBD,cAAc,CACX,sDAAqDH,KAAK,CAACiB,QAAQ,EAAG,MAAK,CAC7E;IACD,MAAMC,aAAa,GAAG,MAAMb,iBAAiB,EAAE;IAC/C,IAAIa,aAAa,CAACC,MAAM,GAAG,CAAC,EAAE;MAC5B,MAAMC,EAAE,GAAG,MAAMnB,KAAK,CAAC;QACrBoB,QAAQ,EAAE;MACZ,CAAC,CAAC;MACF,IAAID,EAAE,EAAE;QACN,MAAMd,mBAAmB,CAACY,aAAa,CAAC;MAC1C;IACF,CAAC,MAAM;MACLhB,YAAY,CAAC,0BAA0B,CAAC;IAC1C;EACF,CAAC,MAAM;IACLoB,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHhB,OAAO,CAACiB,KAAK,EAAE"}
@@ -1,18 +1,17 @@
1
- import { Command } from 'commander';
1
+ import { FrodoStubCommand } from '../FrodoCommand';
2
2
  import path from 'path';
3
3
  import { fileURLToPath } from 'url';
4
4
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  export default function setup() {
6
- const program = new Command('journey').helpOption('-h, --help', 'Help').description('Manage journeys/trees.').executableDir(__dirname);
7
- program.command('list', 'List journeys/trees.').showHelpAfterError();
8
- program.command('describe', '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.').showHelpAfterError();
9
- program.command('export', 'Export journeys/trees.').showHelpAfterError();
10
- program.command('import', 'Import journeys/trees.').showHelpAfterError();
11
- program.command('delete', 'Delete journeys/trees.').showHelpAfterError();
12
- program.command('prune', 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.').showHelpAfterError();
13
- program.command('enable', 'Enable journeys/trees.').showHelpAfterError();
14
- program.command('disable', 'Disable journeys/trees.').showHelpAfterError();
15
- program.showHelpAfterError();
6
+ const program = new FrodoStubCommand('journey').description('Manage journeys/trees.').executableDir(__dirname);
7
+ program.command('list', 'List journeys/trees.');
8
+ program.command('describe', '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.');
9
+ program.command('export', 'Export journeys/trees.');
10
+ program.command('import', 'Import journeys/trees.');
11
+ program.command('delete', 'Delete journeys/trees.');
12
+ program.command('prune', 'Prune orphaned configuration artifacts left behind after deleting authentication trees. You will be prompted before any destructive operations are performed.');
13
+ program.command('enable', 'Enable journeys/trees.');
14
+ program.command('disable', 'Disable journeys/trees.');
16
15
  return program;
17
16
  }
18
17
  //# sourceMappingURL=journey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/journey/journey.ts"],"sourcesContent":["import { Command } from 'commander';\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 Command('journey')\n .helpOption('-h, --help', 'Help')\n .description('Manage journeys/trees.')\n .executableDir(__dirname);\n\n program.command('list', 'List journeys/trees.').showHelpAfterError();\n\n program\n .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 .showHelpAfterError();\n\n program.command('export', 'Export journeys/trees.').showHelpAfterError();\n\n program.command('import', 'Import journeys/trees.').showHelpAfterError();\n\n program.command('delete', 'Delete journeys/trees.').showHelpAfterError();\n\n program\n .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 .showHelpAfterError();\n\n program.command('enable', 'Enable journeys/trees.').showHelpAfterError();\n\n program.command('disable', 'Disable journeys/trees.').showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,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,KAAK,GAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,OAAO,CAAC,SAAS,CAAC,CACnCU,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,aAAa,CAACT,SAAS,CAAC;EAE3BM,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAACC,kBAAkB,EAAE;EAEpEL,OAAO,CACJI,OAAO,CACN,UAAU,EACV,oMAAoM,CACrM,CACAC,kBAAkB,EAAE;EAEvBL,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAACC,kBAAkB,EAAE;EAExEL,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAACC,kBAAkB,EAAE;EAExEL,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAACC,kBAAkB,EAAE;EAExEL,OAAO,CACJI,OAAO,CACN,OAAO,EACP,+JAA+J,CAChK,CACAC,kBAAkB,EAAE;EAEvBL,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAACC,kBAAkB,EAAE;EAExEL,OAAO,CAACI,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAACC,kBAAkB,EAAE;EAE1EL,OAAO,CAACK,kBAAkB,EAAE;EAC5B,OAAOL,OAAO;AAChB"}
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,KAAK,GAAG;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,oMAAoM,CACrM;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,+JAA+J,CAChK;EAEDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC;EAErD,OAAOH,OAAO;AAChB"}