@rockcarver/frodo-cli 0.18.2-9 → 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 (324) hide show
  1. package/CHANGELOG.md +112 -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 +27 -33
  139. package/esm/cli/email/email-template-export.js.map +1 -1
  140. package/esm/cli/email/email-template-import.js +33 -39
  141. package/esm/cli/email/email-template-import.js.map +1 -1
  142. package/esm/cli/email/email-template-list.js +11 -14
  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 +12 -19
  299. package/esm/cli/theme/theme-delete.js.map +1 -1
  300. package/esm/cli/theme/theme-export.js +12 -19
  301. package/esm/cli/theme/theme-export.js.map +1 -1
  302. package/esm/cli/theme/theme-import.js +14 -21
  303. package/esm/cli/theme/theme-import.js.map +1 -1
  304. package/esm/cli/theme/theme-list.js +10 -16
  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/IdmOps.js +317 -0
  311. package/esm/ops/IdmOps.js.map +1 -0
  312. package/esm/ops/JourneyOps.js +2 -1
  313. package/esm/ops/JourneyOps.js.map +1 -1
  314. package/esm/ops/ServiceOps.js +20 -20
  315. package/esm/ops/ServiceOps.js.map +1 -1
  316. package/esm/utils/Console.js +15 -25
  317. package/esm/utils/Console.js.map +1 -1
  318. package/package.json +6 -6
  319. package/esm/cli/cmd_common.js +0 -79
  320. package/esm/cli/cmd_common.js.map +0 -1
  321. package/esm/cli/conn/conn-add.js +0 -37
  322. package/esm/cli/conn/conn-add.js.map +0 -1
  323. package/esm/cli/journey/journey-delete.e2e.test_.js.map +0 -1
  324. package/esm/cli/journey/journey-list.e2e.test_.js.map +0 -1
@@ -1,26 +1,23 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, OAuth2Client, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
- import { printMessage } from '../../utils/Console.js';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate, OAuth2Client } from '@rockcarver/frodo-lib';
4
+ import { verboseMessage } from '../../utils/Console.js';
5
5
  const {
6
6
  getTokens
7
7
  } = Authenticate;
8
8
  const {
9
9
  listOAuth2Clients
10
10
  } = OAuth2Client;
11
- const program = new Command('frodo app list');
12
- program.description('List OAuth2 applications.').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')).action(
11
+ const program = new FrodoCommand('frodo app list');
12
+ program.description('List OAuth2 applications.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
13
13
  // implement command logic inside action handler
14
- async (host, realm, user, password, options) => {
15
- state.default.session.setTenant(host);
16
- state.default.session.setRealm(realm);
17
- state.default.session.setUsername(user);
18
- state.default.session.setPassword(password);
19
- state.default.session.setDeploymentType(options.type);
20
- state.default.session.setAllowInsecureConnection(options.insecure);
14
+ async (host, realm, user, password, options, command) => {
15
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
21
16
  if (await getTokens()) {
22
- printMessage(`Listing OAuth2 applications...`);
17
+ verboseMessage(`Listing OAuth2 applications...`);
23
18
  listOAuth2Clients(options.long);
19
+ } else {
20
+ process.exitCode = 1;
24
21
  }
25
22
  }
26
23
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"app-list.js","names":["Command","Option","Authenticate","OAuth2Client","state","common","printMessage","getTokens","listOAuth2Clients","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","long","parse"],"sources":["cli/app/app-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, OAuth2Client, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { listOAuth2Clients } = OAuth2Client;\n\nconst program = new Command('frodo app list');\n\nprogram\n .description('List OAuth2 applications.')\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 .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(`Listing OAuth2 applications...`);\n listOAuth2Clients(options.long);\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,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AACzE,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EAAEM;AAAkB,CAAC,GAAGL,YAAY;AAE1C,MAAMM,OAAO,GAAG,IAAIT,OAAO,CAAC,gBAAgB,CAAC;AAE7CS,OAAO,CACJC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,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,IAAIjB,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACoB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,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,MAAM7B,SAAS,EAAE,EAAE;IACrBD,YAAY,CAAE,gCAA+B,CAAC;IAC9CE,iBAAiB,CAACmB,OAAO,CAACU,IAAI,CAAC;EACjC;AACF;AACA;AAAA,CACD;;AAEH5B,OAAO,CAAC6B,KAAK,EAAE"}
1
+ {"version":3,"file":"app-list.js","names":["FrodoCommand","Option","Authenticate","OAuth2Client","verboseMessage","getTokens","listOAuth2Clients","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","long","process","exitCode","parse"],"sources":["cli/app/app-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, OAuth2Client } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { listOAuth2Clients } = OAuth2Client;\n\nconst program = new FrodoCommand('frodo app list');\n\nprogram\n .description('List OAuth2 applications.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\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(`Listing OAuth2 applications...`);\n listOAuth2Clients(options.long);\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,YAAY,QAAQ,uBAAuB;AAClE,SAASC,cAAc,QAAQ,wBAAwB;AAEvD,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAClC,MAAM;EAAEI;AAAkB,CAAC,GAAGH,YAAY;AAE1C,MAAMI,OAAO,GAAG,IAAIP,YAAY,CAAC,gBAAgB,CAAC;AAElDO,OAAO,CACJC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,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,MAAMZ,SAAS,EAAE,EAAE;IACrBD,cAAc,CAAE,gCAA+B,CAAC;IAChDE,iBAAiB,CAACU,OAAO,CAACG,IAAI,CAAC;EACjC,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHd,OAAO,CAACe,KAAK,EAAE"}
@@ -1,23 +1,21 @@
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('app')
6
+ const program = new FrodoStubCommand('app')
7
7
  // for backwards compatibility
8
- .alias('application').helpOption('-h, --help', 'Help').description('Manage OAuth2 applications.').executableDir(__dirname);
9
- program.command('list', 'List OAuth2 applications.').showHelpAfterError();
8
+ .alias('application').description('Manage OAuth2 applications.').executableDir(__dirname);
9
+ program.command('list', 'List OAuth2 applications.');
10
10
 
11
11
  // program
12
- // .command('describe', 'Describe OAuth2 applications.')
13
- // .showHelpAfterError();
12
+ // .command('describe', 'Describe OAuth2 applications.');
14
13
 
15
- program.command('export', 'Export OAuth2 applications.').showHelpAfterError();
16
- program.command('import', 'Import OAuth2 applications.').showHelpAfterError();
14
+ program.command('export', 'Export OAuth2 applications.');
15
+ program.command('import', 'Import OAuth2 applications.');
17
16
 
18
- // program.command('delete', 'Delete OAuth2 applications.').showHelpAfterError();
17
+ // program.command('delete', 'Delete OAuth2 applications.');
19
18
 
20
- program.showHelpAfterError();
21
19
  return program;
22
20
  }
23
21
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","alias","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/app/app.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('app')\n // for backwards compatibility\n .alias('application')\n .helpOption('-h, --help', 'Help')\n .description('Manage OAuth2 applications.')\n .executableDir(__dirname);\n\n program.command('list', 'List OAuth2 applications.').showHelpAfterError();\n\n // program\n // .command('describe', 'Describe OAuth2 applications.')\n // .showHelpAfterError();\n\n program.command('export', 'Export OAuth2 applications.').showHelpAfterError();\n\n program.command('import', 'Import OAuth2 applications.').showHelpAfterError();\n\n // program.command('delete', 'Delete OAuth2 applications.').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,KAAK;EAC/B;EAAA,CACCU,KAAK,CAAC,aAAa,CAAC,CACpBC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,aAAa,CAACV,SAAS,CAAC;EAE3BM,OAAO,CAACK,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAACC,kBAAkB,EAAE;;EAEzE;EACA;EACA;;EAEAN,OAAO,CAACK,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAACC,kBAAkB,EAAE;EAE7EN,OAAO,CAACK,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAACC,kBAAkB,EAAE;;EAE7E;;EAEAN,OAAO,CAACM,kBAAkB,EAAE;EAC5B,OAAON,OAAO;AAChB"}
1
+ {"version":3,"file":"app.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","alias","description","executableDir","command"],"sources":["cli/app/app.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('app')\n // for backwards compatibility\n .alias('application')\n .description('Manage OAuth2 applications.')\n .executableDir(__dirname);\n\n program.command('list', 'List OAuth2 applications.');\n\n // program\n // .command('describe', 'Describe OAuth2 applications.');\n\n program.command('export', 'Export OAuth2 applications.');\n\n program.command('import', 'Import OAuth2 applications.');\n\n // program.command('delete', 'Delete OAuth2 applications.');\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,KAAK;EACxC;EAAA,CACCU,KAAK,CAAC,aAAa,CAAC,CACpBC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,aAAa,CAACT,SAAS,CAAC;EAE3BM,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC;;EAEpD;EACA;;EAEAJ,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC;EAExDJ,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC;;EAExD;;EAEA,OAAOJ,OAAO;AAChB"}
@@ -1,13 +1,13 @@
1
- import { Command } from 'commander';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
2
  import { ConnectionProfile } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
3
  const {
5
4
  deleteConnectionProfile
6
5
  } = ConnectionProfile;
7
- const program = new Command('frodo conn delete');
8
- program.description('Delete connection profiles.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).action(
6
+ const program = new FrodoCommand('frodo conn delete', ['realm', 'username', 'password', 'type', 'insecure', 'curlirize']);
7
+ program.description('Delete connection profiles.').action(
9
8
  // implement command logic inside action handler
10
- async host => {
9
+ async (host, options, command) => {
10
+ command.handleDefaultArgsAndOpts(host, options, command);
11
11
  deleteConnectionProfile(host);
12
12
  }
13
13
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"conn-delete.js","names":["Command","ConnectionProfile","common","deleteConnectionProfile","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","action","host","parse"],"sources":["cli/conn/conn-delete.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { deleteConnectionProfile } = ConnectionProfile;\n\nconst program = new Command('frodo conn delete');\n\nprogram\n .description('Delete connection profiles.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .action(\n // implement command logic inside action handler\n async (host) => {\n deleteConnectionProfile(host);\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAE1C,MAAM;EAAEC;AAAwB,CAAC,GAAGF,iBAAiB;AAErD,MAAMG,OAAO,GAAG,IAAIJ,OAAO,CAAC,mBAAmB,CAAC;AAEhDI,OAAO,CACJC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACN,MAAM,CAACO,aAAa,CAAC,CACjCC,MAAM;AACL;AACA,MAAOC,IAAI,IAAK;EACdR,uBAAuB,CAACQ,IAAI,CAAC;AAC/B;AACA;AAAA,CACD;;AAEHP,OAAO,CAACQ,KAAK,EAAE"}
1
+ {"version":3,"file":"conn-delete.js","names":["FrodoCommand","ConnectionProfile","deleteConnectionProfile","program","description","action","host","options","command","handleDefaultArgsAndOpts","parse"],"sources":["cli/conn/conn-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\n\nconst { deleteConnectionProfile } = ConnectionProfile;\n\nconst program = new FrodoCommand('frodo conn delete', [\n 'realm',\n 'username',\n 'password',\n 'type',\n 'insecure',\n 'curlirize',\n]);\n\nprogram.description('Delete connection profiles.').action(\n // implement command logic inside action handler\n async (host, options, command) => {\n command.handleDefaultArgsAndOpts(host, options, command);\n deleteConnectionProfile(host);\n }\n // end command logic inside action handler\n);\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,MAAM;EAAEC;AAAwB,CAAC,GAAGD,iBAAiB;AAErD,MAAME,OAAO,GAAG,IAAIH,YAAY,CAAC,mBAAmB,EAAE,CACpD,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFG,OAAO,CAACC,WAAW,CAAC,6BAA6B,CAAC,CAACC,MAAM;AACvD;AACA,OAAOC,IAAI,EAAEC,OAAO,EAAEC,OAAO,KAAK;EAChCA,OAAO,CAACC,wBAAwB,CAACH,IAAI,EAAEC,OAAO,EAAEC,OAAO,CAAC;EACxDN,uBAAuB,CAACI,IAAI,CAAC;AAC/B;AACA;AAAA,CACD;;AAEDH,OAAO,CAACO,KAAK,EAAE"}
@@ -1,13 +1,14 @@
1
- import { Command, Option } from 'commander';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
2
3
  import { ConnectionProfile } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
4
  const {
5
5
  describeConnectionProfile
6
6
  } = ConnectionProfile;
7
- const program = new Command('frodo conn describe');
8
- program.description('Describe connection profile.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addOption(new Option('--show-secrets', 'Show passwords and secrets.')).action(
7
+ const program = new FrodoCommand('frodo conn describe', ['realm', 'username', 'password', 'type', 'insecure', 'curlirize']);
8
+ program.description('Describe connection profile.').addOption(new Option('--show-secrets', 'Show passwords and secrets.')).action(
9
9
  // implement command logic inside action handler
10
- async (host, options) => {
10
+ async (host, options, command) => {
11
+ command.handleDefaultArgsAndOpts(host, options, command);
11
12
  describeConnectionProfile(host, options.showSecrets);
12
13
  }
13
14
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"conn-describe.js","names":["Command","Option","ConnectionProfile","common","describeConnectionProfile","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","addOption","action","host","options","showSecrets","parse"],"sources":["cli/conn/conn-describe.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { describeConnectionProfile } = ConnectionProfile;\n\nconst program = new Command('frodo conn describe');\n\nprogram\n .description('Describe connection profile.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addOption(new Option('--show-secrets', 'Show passwords and secrets.'))\n .action(\n // implement command logic inside action handler\n async (host, options) => {\n describeConnectionProfile(host, options.showSecrets);\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAE1C,MAAM;EAAEC;AAA0B,CAAC,GAAGF,iBAAiB;AAEvD,MAAMG,OAAO,GAAG,IAAIL,OAAO,CAAC,qBAAqB,CAAC;AAElDK,OAAO,CACJC,WAAW,CAAC,8BAA8B,CAAC,CAC3CC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACN,MAAM,CAACO,aAAa,CAAC,CACjCC,SAAS,CAAC,IAAIV,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC,CACtEW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,OAAO,KAAK;EACvBV,yBAAyB,CAACS,IAAI,EAAEC,OAAO,CAACC,WAAW,CAAC;AACtD;AACA;AAAA,CACD;;AAEHV,OAAO,CAACW,KAAK,EAAE"}
1
+ {"version":3,"file":"conn-describe.js","names":["FrodoCommand","Option","ConnectionProfile","describeConnectionProfile","program","description","addOption","action","host","options","command","handleDefaultArgsAndOpts","showSecrets","parse"],"sources":["cli/conn/conn-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\n\nconst { describeConnectionProfile } = ConnectionProfile;\n\nconst program = new FrodoCommand('frodo conn describe', [\n 'realm',\n 'username',\n 'password',\n 'type',\n 'insecure',\n 'curlirize',\n]);\n\nprogram\n .description('Describe connection profile.')\n .addOption(new Option('--show-secrets', 'Show passwords and secrets.'))\n .action(\n // implement command logic inside action handler\n async (host, options, command) => {\n command.handleDefaultArgsAndOpts(host, options, command);\n describeConnectionProfile(host, options.showSecrets);\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,iBAAiB,QAAQ,uBAAuB;AAEzD,MAAM;EAAEC;AAA0B,CAAC,GAAGD,iBAAiB;AAEvD,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,qBAAqB,EAAE,CACtD,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFI,OAAO,CACJC,WAAW,CAAC,8BAA8B,CAAC,CAC3CC,SAAS,CAAC,IAAIL,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC,CACtEM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,OAAO,EAAEC,OAAO,KAAK;EAChCA,OAAO,CAACC,wBAAwB,CAACH,IAAI,EAAEC,OAAO,EAAEC,OAAO,CAAC;EACxDP,yBAAyB,CAACK,IAAI,EAAEC,OAAO,CAACG,WAAW,CAAC;AACtD;AACA;AAAA,CACD;;AAEHR,OAAO,CAACS,KAAK,EAAE"}
@@ -1,16 +1,14 @@
1
- import { Command, Option } from 'commander';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
2
3
  import { ConnectionProfile } from '@rockcarver/frodo-lib';
3
- import { init } from '../cmd_common.js';
4
4
  const {
5
5
  listConnectionProfiles
6
6
  } = ConnectionProfile;
7
-
8
- // pseudo init to trigger print and progress handler registration
9
- init();
10
- const program = new Command('frodo conn list');
11
- program.description('List connection profiles.').helpOption('-h, --help', 'Help').showHelpAfterError().addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
7
+ const program = new FrodoCommand('frodo conn list', ['host', 'realm', 'username', 'password', 'type', 'insecure', 'curlirize']);
8
+ program.description('List connection profiles.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
12
9
  // implement command logic inside action handler
13
- async options => {
10
+ async (options, command) => {
11
+ command.handleDefaultArgsAndOpts(options, command);
14
12
  listConnectionProfiles(options.long);
15
13
  }
16
14
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"conn-list.js","names":["Command","Option","ConnectionProfile","init","listConnectionProfiles","program","description","helpOption","showHelpAfterError","addOption","default","action","options","long","parse"],"sources":["cli/conn/conn-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport { init } from '../cmd_common.js';\n\nconst { listConnectionProfiles } = ConnectionProfile;\n\n// pseudo init to trigger print and progress handler registration\ninit();\n\nconst program = new Command('frodo conn list');\n\nprogram\n .description('List connection profiles.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (options) => {\n listConnectionProfiles(options.long);\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,MAAM;EAAEC;AAAuB,CAAC,GAAGF,iBAAiB;;AAEpD;AACAC,IAAI,EAAE;AAEN,MAAME,OAAO,GAAG,IAAIL,OAAO,CAAC,iBAAiB,CAAC;AAE9CK,OAAO,CACJC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,MAAOC,OAAO,IAAK;EACjBR,sBAAsB,CAACQ,OAAO,CAACC,IAAI,CAAC;AACtC;AACA;AAAA,CACD;;AAEHR,OAAO,CAACS,KAAK,EAAE"}
1
+ {"version":3,"file":"conn-list.js","names":["FrodoCommand","Option","ConnectionProfile","listConnectionProfiles","program","description","addOption","default","action","options","command","handleDefaultArgsAndOpts","long","parse"],"sources":["cli/conn/conn-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\n\nconst { listConnectionProfiles } = ConnectionProfile;\n\nconst program = new FrodoCommand('frodo conn list', [\n 'host',\n 'realm',\n 'username',\n 'password',\n 'type',\n 'insecure',\n 'curlirize',\n]);\n\nprogram\n .description('List connection profiles.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (options, command) => {\n command.handleDefaultArgsAndOpts(options, command);\n listConnectionProfiles(options.long);\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,iBAAiB,QAAQ,uBAAuB;AAEzD,MAAM;EAAEC;AAAuB,CAAC,GAAGD,iBAAiB;AAEpD,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,iBAAiB,EAAE,CAClD,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFI,OAAO,CACJC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,OAAO,EAAEC,OAAO,KAAK;EAC1BA,OAAO,CAACC,wBAAwB,CAACF,OAAO,EAAEC,OAAO,CAAC;EAClDP,sBAAsB,CAACM,OAAO,CAACG,IAAI,CAAC;AACtC;AACA;AAAA,CACD;;AAEHR,OAAO,CAACS,KAAK,EAAE"}
@@ -0,0 +1,72 @@
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { apiKeyArgument, apiSecretArgument } from './conn';
4
+ import { Authenticate, ConnectionProfile, ServiceAccount, state, constants } from '@rockcarver/frodo-lib';
5
+ import { verboseMessage, printMessage } from '../../utils/Console';
6
+ import { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';
7
+ const {
8
+ getTokens
9
+ } = Authenticate;
10
+ const {
11
+ saveConnectionProfile,
12
+ addNewServiceAccount
13
+ } = ConnectionProfile;
14
+ const {
15
+ isServiceAccountsFeatureAvailable
16
+ } = ServiceAccount;
17
+ const program = new FrodoCommand('frodo conn save', ['realm']);
18
+ program.alias('add').description('Save connection profiles.').addArgument(apiKeyArgument).addArgument(apiSecretArgument).addOption(new Option('--sa-id <uuid>', "Service account's uuid. If specified, must also include --sa-jwk-file. Ignored with --no-sa.")).addOption(new Option('--sa-jwk-file <file>', "File containing the service account's java web key (jwk). Jwk must contain private key! If specified, must also include --sa-id. Ignored with --no-sa.")).addOption(new Option('--no-sa', 'Do not add service account.')).addOption(new Option('--no-validate', 'Do not validate connection.')).addOption(new Option('--authentication-service [service]', 'Name of the authentication service/tree to use.')).addOption(new Option('--authentication-header-overrides [headers]', 'Map of headers: {"host":"am.example.com:8081"}.')).action(
19
+ // implement command logic inside action handler
20
+ async (host, user, password, key, secret, options, command) => {
21
+ command.handleDefaultArgsAndOpts(host, user, password, key, secret, options, command);
22
+ state.setLogApiKey(key);
23
+ state.setLogApiSecret(secret);
24
+ if (options.authenticationService) {
25
+ state.setAuthenticationService(options.authenticationService);
26
+ }
27
+ if (options.authenticationHeaderOverrides) {
28
+ state.setAuthenticationHeaderOverrides(JSON.parse(options.authenticationHeaderOverrides));
29
+ }
30
+ if (options.validate && (await getTokens()) || !options.validate) {
31
+ verboseMessage(`Saving connection profile for tenant ${state.getTenant()}...`);
32
+ // if cloud deployment add service account
33
+ if (options.validate && state.getDeploymentType() === constants.CLOUD_DEPLOYMENT_TYPE_KEY && options.sa && (await isServiceAccountsFeatureAvailable())) {
34
+ // validate and add existing service account
35
+ if (options.saId && options.saJwkFile) {
36
+ verboseMessage(`Validating and adding service account...`);
37
+ if (await addExistingServiceAccount(options.saId, options.saJwkFile, options.validate)) {
38
+ printMessage(`Validated and added service account with id ${options.saId} to profile.`);
39
+ }
40
+ }
41
+ // add new service account if none already exists in the profile
42
+ else if (!state.getServiceAccountId()) {
43
+ try {
44
+ verboseMessage(`Creating service account...`);
45
+ const sa = await addNewServiceAccount();
46
+ printMessage(`Created and added service account ${sa.name} with id ${sa._id} to profile.`);
47
+ } catch (error) {
48
+ var _error$response, _error$response2, _error$response2$data;
49
+ printMessage((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data, 'error');
50
+ printMessage(`Error creating service account: ${(_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.message}`, 'error');
51
+ process.exitCode = 1;
52
+ }
53
+ }
54
+ }
55
+ // add existing service account without validation
56
+ else if (!options.validate && options.saId && options.saJwkFile && options.sa) {
57
+ addExistingServiceAccount(options.saId, options.saJwkFile, options.validate);
58
+ }
59
+ if (await saveConnectionProfile(host)) {
60
+ printMessage(`Saved connection profile ${state.getTenant()}`);
61
+ } else {
62
+ process.exitCode = 1;
63
+ }
64
+ } else {
65
+ process.exitCode = 1;
66
+ }
67
+ }
68
+ // end command logic inside action handler
69
+ );
70
+
71
+ program.parse();
72
+ //# sourceMappingURL=conn-save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conn-save.js","names":["FrodoCommand","Option","apiKeyArgument","apiSecretArgument","Authenticate","ConnectionProfile","ServiceAccount","state","constants","verboseMessage","printMessage","addExistingServiceAccount","getTokens","saveConnectionProfile","addNewServiceAccount","isServiceAccountsFeatureAvailable","program","alias","description","addArgument","addOption","action","host","user","password","key","secret","options","command","handleDefaultArgsAndOpts","setLogApiKey","setLogApiSecret","authenticationService","setAuthenticationService","authenticationHeaderOverrides","setAuthenticationHeaderOverrides","JSON","parse","validate","getTenant","getDeploymentType","CLOUD_DEPLOYMENT_TYPE_KEY","sa","saId","saJwkFile","getServiceAccountId","name","_id","error","response","data","message","process","exitCode"],"sources":["cli/conn/conn-save.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { apiKeyArgument, apiSecretArgument } from './conn';\nimport {\n Authenticate,\n ConnectionProfile,\n ServiceAccount,\n state,\n constants,\n} from '@rockcarver/frodo-lib';\nimport { verboseMessage, printMessage } from '../../utils/Console';\nimport { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';\n\nconst { getTokens } = Authenticate;\nconst { saveConnectionProfile, addNewServiceAccount } = ConnectionProfile;\nconst { isServiceAccountsFeatureAvailable } = ServiceAccount;\n\nconst program = new FrodoCommand('frodo conn save', ['realm']);\n\nprogram\n .alias('add')\n .description('Save connection profiles.')\n .addArgument(apiKeyArgument)\n .addArgument(apiSecretArgument)\n .addOption(\n new Option(\n '--sa-id <uuid>',\n \"Service account's uuid. If specified, must also include --sa-jwk-file. Ignored with --no-sa.\"\n )\n )\n .addOption(\n new Option(\n '--sa-jwk-file <file>',\n \"File containing the service account's java web key (jwk). Jwk must contain private key! If specified, must also include --sa-id. Ignored with --no-sa.\"\n )\n )\n .addOption(new Option('--no-sa', 'Do not add service account.'))\n .addOption(new Option('--no-validate', 'Do not validate connection.'))\n .addOption(\n new Option(\n '--authentication-service [service]',\n 'Name of the authentication service/tree to use.'\n )\n )\n .addOption(\n new Option(\n '--authentication-header-overrides [headers]',\n 'Map of headers: {\"host\":\"am.example.com:8081\"}.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, user, password, key, secret, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n user,\n password,\n key,\n secret,\n options,\n command\n );\n state.setLogApiKey(key);\n state.setLogApiSecret(secret);\n if (options.authenticationService) {\n state.setAuthenticationService(options.authenticationService);\n }\n if (options.authenticationHeaderOverrides) {\n state.setAuthenticationHeaderOverrides(\n JSON.parse(options.authenticationHeaderOverrides)\n );\n }\n if ((options.validate && (await getTokens())) || !options.validate) {\n verboseMessage(\n `Saving connection profile for tenant ${state.getTenant()}...`\n );\n // if cloud deployment add service account\n if (\n options.validate &&\n state.getDeploymentType() === constants.CLOUD_DEPLOYMENT_TYPE_KEY &&\n options.sa &&\n (await isServiceAccountsFeatureAvailable())\n ) {\n // validate and add existing service account\n if (options.saId && options.saJwkFile) {\n verboseMessage(`Validating and adding service account...`);\n if (\n await addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n )\n ) {\n printMessage(\n `Validated and added service account with id ${options.saId} to profile.`\n );\n }\n }\n // add new service account if none already exists in the profile\n else if (!state.getServiceAccountId()) {\n try {\n verboseMessage(`Creating service account...`);\n const sa = await addNewServiceAccount();\n printMessage(\n `Created and added service account ${sa.name} with id ${sa._id} to profile.`\n );\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(\n `Error creating service account: ${error.response?.data?.message}`,\n 'error'\n );\n process.exitCode = 1;\n }\n }\n }\n // add existing service account without validation\n else if (\n !options.validate &&\n options.saId &&\n options.saJwkFile &&\n options.sa\n ) {\n addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n );\n }\n if (await saveConnectionProfile(host)) {\n printMessage(`Saved connection profile ${state.getTenant()}`);\n } else {\n process.exitCode = 1;\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -1,16 +1,18 @@
1
- import { Command } from 'commander';
1
+ import { FrodoStubCommand } from '../FrodoCommand';
2
+ import { Argument } from 'commander';
2
3
  import path from 'path';
3
4
  import { fileURLToPath } from 'url';
4
5
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
+ export const apiKeyArgument = new Argument('[key]', 'API key for logging API.');
7
+ export const apiSecretArgument = new Argument('[secret]', 'API secret for logging API.');
5
8
  export default function setup() {
6
- const program = new Command('conn').alias('connection')
9
+ const program = new FrodoStubCommand('conn').alias('connection')
7
10
  // for backwards compatibility
8
- .alias('connections').helpOption('-h, --help', 'Help').description('Manage connection profiles.').executableDir(__dirname);
9
- program.command('add', 'Add connection profiles.').showHelpAfterError();
10
- program.command('delete', 'Delete connection profiles.').showHelpAfterError();
11
- program.command('describe', 'Describe connection profiles.').showHelpAfterError();
12
- program.command('list', 'List connection profiles.').showHelpAfterError();
13
- program.showHelpAfterError();
11
+ .alias('connections').description('Manage connection profiles.').executableDir(__dirname);
12
+ program.command('save', 'Save connection profiles.').alias('add');
13
+ program.command('delete', 'Delete connection profiles.');
14
+ program.command('describe', 'Describe connection profiles.');
15
+ program.command('list', 'List connection profiles.');
14
16
  return program;
15
17
  }
16
18
  //# sourceMappingURL=conn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conn.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","alias","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/conn/conn.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('conn')\n .alias('connection')\n // for backwards compatibility\n .alias('connections')\n .helpOption('-h, --help', 'Help')\n .description('Manage connection profiles.')\n .executableDir(__dirname);\n\n program.command('add', 'Add connection profiles.').showHelpAfterError();\n\n program.command('delete', 'Delete connection profiles.').showHelpAfterError();\n\n program\n .command('describe', 'Describe connection profiles.')\n .showHelpAfterError();\n\n program.command('list', 'List connection profiles.').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,MAAM,CAAC,CAChCU,KAAK,CAAC,YAAY;EACnB;EAAA,CACCA,KAAK,CAAC,aAAa,CAAC,CACpBC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,aAAa,CAACV,SAAS,CAAC;EAE3BM,OAAO,CAACK,OAAO,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAACC,kBAAkB,EAAE;EAEvEN,OAAO,CAACK,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAACC,kBAAkB,EAAE;EAE7EN,OAAO,CACJK,OAAO,CAAC,UAAU,EAAE,+BAA+B,CAAC,CACpDC,kBAAkB,EAAE;EAEvBN,OAAO,CAACK,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAACC,kBAAkB,EAAE;EAEzEN,OAAO,CAACM,kBAAkB,EAAE;EAC5B,OAAON,OAAO;AAChB"}
1
+ {"version":3,"file":"conn.js","names":["FrodoStubCommand","Argument","path","fileURLToPath","__dirname","dirname","import","meta","url","apiKeyArgument","apiSecretArgument","setup","program","alias","description","executableDir","command"],"sources":["cli/conn/conn.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\nimport { Argument } from 'commander';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport const apiKeyArgument = new Argument('[key]', 'API key for logging API.');\n\nexport const apiSecretArgument = new Argument(\n '[secret]',\n 'API secret for logging API.'\n);\n\nexport default function setup() {\n const program = new FrodoStubCommand('conn')\n .alias('connection')\n // for backwards compatibility\n .alias('connections')\n .description('Manage connection profiles.')\n .executableDir(__dirname);\n\n program.command('save', 'Save connection profiles.').alias('add');\n\n program.command('delete', 'Delete connection profiles.');\n\n program.command('describe', 'Describe connection profiles.');\n\n program.command('list', 'List connection profiles.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,SAASC,QAAQ,QAAQ,WAAW;AACpC,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,OAAO,MAAMC,cAAc,GAAG,IAAIR,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;AAE/E,OAAO,MAAMS,iBAAiB,GAAG,IAAIT,QAAQ,CAC3C,UAAU,EACV,6BAA6B,CAC9B;AAED,eAAe,SAASU,KAAK,GAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIZ,gBAAgB,CAAC,MAAM,CAAC,CACzCa,KAAK,CAAC,YAAY;EACnB;EAAA,CACCA,KAAK,CAAC,aAAa,CAAC,CACpBC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,aAAa,CAACX,SAAS,CAAC;EAE3BQ,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAACH,KAAK,CAAC,KAAK,CAAC;EAEjED,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC;EAExDJ,OAAO,CAACI,OAAO,CAAC,UAAU,EAAE,+BAA+B,CAAC;EAE5DJ,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC;EAEpD,OAAOJ,OAAO;AAChB"}
@@ -1,42 +1,36 @@
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.js';
4
- import { printMessage } from '../../utils/Console.js';
4
+ import { printMessage, verboseMessage } from '../../utils/Console.js';
5
5
  import { exportEmailTemplateToFile, exportEmailTemplatesToFile, exportEmailTemplatesToFiles } from '../../ops/EmailTemplateOps';
6
6
  const {
7
7
  getTokens
8
8
  } = Authenticate;
9
- const program = new Command('frodo email template export');
10
- program.description('Export email templates.').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, --template-id <template-id>', 'Email template id/name. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the export file. Ignored with -A. Defaults to <template-id>.template.email.json.')).addOption(new Option('-a, --all', 'Export all email templates to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all email templates as separate files <template-id>.template.email.json. Ignored with -i, and -a.')).action(
9
+ const program = new FrodoCommand('frodo email template export');
10
+ program.description('Export email templates.').addOption(new Option('-i, --template-id <template-id>', 'Email template id/name. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the export file. Ignored with -A. Defaults to <template-id>.template.email.json.')).addOption(new Option('-a, --all', 'Export all email templates to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all email templates as separate files <template-id>.template.email.json. Ignored with -i, and -a.')).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
- if (await getTokens()) {
20
- // export by id/name
21
- if (options.templateId) {
22
- printMessage(`Exporting email template "${options.templateId}" from realm "${state.default.session.getRealm()}"...`);
23
- exportEmailTemplateToFile(options.templateId, options.file);
24
- }
25
- // --all -a
26
- else if (options.all) {
27
- printMessage('Exporting all email templates to a single file...');
28
- exportEmailTemplatesToFile(options.file);
29
- }
30
- // --all-separate -A
31
- else if (options.allSeparate) {
32
- printMessage('Exporting all email templates to separate files...');
33
- exportEmailTemplatesToFiles();
34
- }
35
- // unrecognized combination of options or no options
36
- else {
37
- printMessage('Unrecognized combination of options or no options...', 'error');
38
- program.help();
39
- }
12
+ async (host, realm, user, password, options, command) => {
13
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
14
+ // export by id/name
15
+ if (options.templateId && (await getTokens())) {
16
+ verboseMessage(`Exporting email template "${options.templateId}" from realm "${state.getRealm()}"...`);
17
+ exportEmailTemplateToFile(options.templateId, options.file);
18
+ }
19
+ // --all -a
20
+ else if (options.all && (await getTokens())) {
21
+ verboseMessage('Exporting all email templates to a single file...');
22
+ exportEmailTemplatesToFile(options.file);
23
+ }
24
+ // --all-separate -A
25
+ else if (options.allSeparate && (await getTokens())) {
26
+ verboseMessage('Exporting all email templates to separate files...');
27
+ exportEmailTemplatesToFiles();
28
+ }
29
+ // unrecognized combination of options or no options
30
+ else {
31
+ printMessage('Unrecognized combination of options or no options...', 'error');
32
+ program.help();
33
+ process.exitCode = 1;
40
34
  }
41
35
  }
42
36
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"email-template-export.js","names":["Command","Option","Authenticate","state","common","printMessage","exportEmailTemplateToFile","exportEmailTemplatesToFile","exportEmailTemplatesToFiles","getTokens","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","templateId","getRealm","file","all","allSeparate","help","parse"],"sources":["cli/email/email-template-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\nimport {\n exportEmailTemplateToFile,\n exportEmailTemplatesToFile,\n exportEmailTemplatesToFiles,\n} from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo email template export');\n\nprogram\n .description('Export email templates.')\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(\n '-i, --template-id <template-id>',\n 'Email template id/name. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the export file. Ignored with -A. Defaults to <template-id>.template.email.json.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all email templates to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all email templates as separate files <template-id>.template.email.json. Ignored with -i, and -a.'\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 // export by id/name\n if (options.templateId) {\n printMessage(\n `Exporting email template \"${\n options.templateId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n exportEmailTemplateToFile(options.templateId, options.file);\n }\n // --all -a\n else if (options.all) {\n printMessage('Exporting all email templates to a single file...');\n exportEmailTemplatesToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate) {\n printMessage('Exporting all email templates to separate files...');\n exportEmailTemplatesToFiles();\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 }\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,kBAAkB;AAC1C,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SACEC,yBAAyB,EACzBC,0BAA0B,EAC1BC,2BAA2B,QACtB,4BAA4B;AAEnC,MAAM;EAAEC;AAAU,CAAC,GAAGP,YAAY;AAElC,MAAMQ,OAAO,GAAG,IAAIV,OAAO,CAAC,6BAA6B,CAAC;AAE1DU,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACV,MAAM,CAACW,aAAa,CAAC,CACjCD,WAAW,CAACV,MAAM,CAACY,aAAa,CAAC,CACjCF,WAAW,CAACV,MAAM,CAACa,YAAY,CAAC,CAChCH,WAAW,CAACV,MAAM,CAACc,gBAAgB,CAAC,CACpCC,SAAS,CAACf,MAAM,CAACgB,gBAAgB,CAAC,CAClCD,SAAS,CAACf,MAAM,CAACiB,cAAc,CAAC,CAChCF,SAAS,CACR,IAAIlB,MAAM,CACR,iCAAiC,EACjC,8DAA8D,CAC/D,CACF,CACAkB,SAAS,CACR,IAAIlB,MAAM,CACR,mBAAmB,EACnB,0FAA0F,CAC3F,CACF,CACAkB,SAAS,CACR,IAAIlB,MAAM,CACR,WAAW,EACX,+DAA+D,CAChE,CACF,CACAkB,SAAS,CACR,IAAIlB,MAAM,CACR,oBAAoB,EACpB,0GAA0G,CAC3G,CACF,CACAqB,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,MAAM5B,SAAS,EAAE,EAAE;IACrB;IACA,IAAIkB,OAAO,CAACW,UAAU,EAAE;MACtBjC,YAAY,CACT,6BACCsB,OAAO,CAACW,UACT,iBAAgBnC,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACU,QAAQ,EAAG,MAAK,CACxD;MACDjC,yBAAyB,CAACqB,OAAO,CAACW,UAAU,EAAEX,OAAO,CAACa,IAAI,CAAC;IAC7D;IACA;IAAA,KACK,IAAIb,OAAO,CAACc,GAAG,EAAE;MACpBpC,YAAY,CAAC,mDAAmD,CAAC;MACjEE,0BAA0B,CAACoB,OAAO,CAACa,IAAI,CAAC;IAC1C;IACA;IAAA,KACK,IAAIb,OAAO,CAACe,WAAW,EAAE;MAC5BrC,YAAY,CAAC,oDAAoD,CAAC;MAClEG,2BAA2B,EAAE;IAC/B;IACA;IAAA,KACK;MACHH,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;MACDK,OAAO,CAACiC,IAAI,EAAE;IAChB;EACF;AACF;AACA;AAAA,CACD;;AAEHjC,OAAO,CAACkC,KAAK,EAAE"}
1
+ {"version":3,"file":"email-template-export.js","names":["FrodoCommand","Option","Authenticate","state","printMessage","verboseMessage","exportEmailTemplateToFile","exportEmailTemplatesToFile","exportEmailTemplatesToFiles","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","templateId","getRealm","file","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/email/email-template-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport {\n exportEmailTemplateToFile,\n exportEmailTemplatesToFile,\n exportEmailTemplatesToFiles,\n} from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo email template export');\n\nprogram\n .description('Export email templates.')\n .addOption(\n new Option(\n '-i, --template-id <template-id>',\n 'Email template id/name. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the export file. Ignored with -A. Defaults to <template-id>.template.email.json.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all email templates to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all email templates as separate files <template-id>.template.email.json. Ignored with -i, and -a.'\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 by id/name\n if (options.templateId && (await getTokens())) {\n verboseMessage(\n `Exporting email template \"${\n options.templateId\n }\" from realm \"${state.getRealm()}\"...`\n );\n exportEmailTemplateToFile(options.templateId, options.file);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all email templates to a single file...');\n exportEmailTemplatesToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all email templates to separate files...');\n exportEmailTemplatesToFiles();\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,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SACEC,yBAAyB,EACzBC,0BAA0B,EAC1BC,2BAA2B,QACtB,4BAA4B;AAEnC,MAAM;EAAEC;AAAU,CAAC,GAAGP,YAAY;AAElC,MAAMQ,OAAO,GAAG,IAAIV,YAAY,CAAC,6BAA6B,CAAC;AAE/DU,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIX,MAAM,CACR,iCAAiC,EACjC,8DAA8D,CAC/D,CACF,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,0FAA0F,CAC3F,CACF,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,+DAA+D,CAChE,CACF,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,0GAA0G,CAC3G,CACF,CACAY,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,UAAU,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IAC7CJ,cAAc,CACX,6BACCa,OAAO,CAACG,UACT,iBAAgBlB,KAAK,CAACmB,QAAQ,EAAG,MAAK,CACxC;IACDhB,yBAAyB,CAACY,OAAO,CAACG,UAAU,EAAEH,OAAO,CAACK,IAAI,CAAC;EAC7D;EACA;EAAA,KACK,IAAIL,OAAO,CAACM,GAAG,KAAK,MAAMf,SAAS,EAAE,CAAC,EAAE;IAC3CJ,cAAc,CAAC,mDAAmD,CAAC;IACnEE,0BAA0B,CAACW,OAAO,CAACK,IAAI,CAAC;EAC1C;EACA;EAAA,KACK,IAAIL,OAAO,CAACO,WAAW,KAAK,MAAMhB,SAAS,EAAE,CAAC,EAAE;IACnDJ,cAAc,CAAC,oDAAoD,CAAC;IACpEG,2BAA2B,EAAE;EAC/B;EACA;EAAA,KACK;IACHJ,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;IACDM,OAAO,CAACgB,IAAI,EAAE;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHlB,OAAO,CAACmB,KAAK,EAAE"}
@@ -1,47 +1,41 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
- import { printMessage } from '../../utils/Console.js';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate } from '@rockcarver/frodo-lib';
4
+ import { printMessage, verboseMessage } from '../../utils/Console.js';
5
5
  import { importEmailTemplateFromFile, importEmailTemplatesFromFile, importEmailTemplatesFromFiles, importFirstEmailTemplateFromFile } from '../../ops/EmailTemplateOps';
6
6
  const {
7
7
  getTokens
8
8
  } = Authenticate;
9
- const program = new Command('frodo email template import');
10
- program.description('Import email templates.').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, --template-id <template-id>', 'Email template id/name. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the import file.')).addOption(new Option('-a, --all', 'Import all email templates from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all email templates from separate files (*.template.email.json) in the current directory. Ignored with -i or -a.')).action(
9
+ const program = new FrodoCommand('frodo email template import');
10
+ program.description('Import email templates.').addOption(new Option('-i, --template-id <template-id>', 'Email template id/name. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the import file.')).addOption(new Option('-a, --all', 'Import all email templates from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all email templates from separate files (*.template.email.json) in the current directory. Ignored with -i or -a.')).action(
11
11
  // implement program 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
- if (await getTokens()) {
20
- // import by id
21
- if (options.file && options.templateId) {
22
- printMessage(`Importing email template "${options.templateId}"...`);
23
- importEmailTemplateFromFile(options.templateId, options.file);
24
- }
25
- // --all -a
26
- else if (options.all && options.file) {
27
- printMessage(`Importing all email templates from a single file (${options.file})...`);
28
- importEmailTemplatesFromFile(options.file);
29
- }
30
- // --all-separate -A
31
- else if (options.allSeparate && !options.file) {
32
- printMessage('Importing all email templates from separate files (*.template.email.json) in current directory...');
33
- importEmailTemplatesFromFiles();
34
- }
35
- // import first template from file
36
- else if (options.file) {
37
- printMessage(`Importing first email template from file "${options.file}"...`);
38
- importFirstEmailTemplateFromFile(options.file);
39
- }
40
- // unrecognized combination of options or no options
41
- else {
42
- printMessage('Unrecognized combination of options or no options...');
43
- program.help();
44
- }
12
+ async (host, realm, user, password, options, command) => {
13
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
14
+ // import by id
15
+ if (options.file && options.templateId && (await getTokens())) {
16
+ verboseMessage(`Importing email template "${options.templateId}"...`);
17
+ importEmailTemplateFromFile(options.templateId, options.file);
18
+ }
19
+ // --all -a
20
+ else if (options.all && options.file && (await getTokens())) {
21
+ verboseMessage(`Importing all email templates from a single file (${options.file})...`);
22
+ importEmailTemplatesFromFile(options.file);
23
+ }
24
+ // --all-separate -A
25
+ else if (options.allSeparate && !options.file && (await getTokens())) {
26
+ verboseMessage('Importing all email templates from separate files (*.template.email.json) in current directory...');
27
+ importEmailTemplatesFromFiles();
28
+ }
29
+ // import first template from file
30
+ else if (options.file && (await getTokens())) {
31
+ verboseMessage(`Importing first email template from file "${options.file}"...`);
32
+ importFirstEmailTemplateFromFile(options.file);
33
+ }
34
+ // unrecognized combination of options or no options
35
+ else {
36
+ printMessage('Unrecognized combination of options or no options...', 'error');
37
+ program.help();
38
+ process.exitCode = 1;
45
39
  }
46
40
  }
47
41
  // end program logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"email-template-import.js","names":["Command","Option","Authenticate","state","common","printMessage","importEmailTemplateFromFile","importEmailTemplatesFromFile","importEmailTemplatesFromFiles","importFirstEmailTemplateFromFile","getTokens","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","file","templateId","all","allSeparate","help","parse"],"sources":["cli/email/email-template-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\nimport {\n importEmailTemplateFromFile,\n importEmailTemplatesFromFile,\n importEmailTemplatesFromFiles,\n importFirstEmailTemplateFromFile,\n} from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo email template import');\n\nprogram\n .description('Import email templates.')\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(\n '-i, --template-id <template-id>',\n 'Email template id/name. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the import file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all email templates from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all email templates from separate files (*.template.email.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement program 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 // import by id\n if (options.file && options.templateId) {\n printMessage(`Importing email template \"${options.templateId}\"...`);\n importEmailTemplateFromFile(options.templateId, options.file);\n }\n // --all -a\n else if (options.all && options.file) {\n printMessage(\n `Importing all email templates from a single file (${options.file})...`\n );\n importEmailTemplatesFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file) {\n printMessage(\n 'Importing all email templates from separate files (*.template.email.json) in current directory...'\n );\n importEmailTemplatesFromFiles();\n }\n // import first template from file\n else if (options.file) {\n printMessage(\n `Importing first email template from file \"${options.file}\"...`\n );\n importFirstEmailTemplateFromFile(options.file);\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 program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"email-template-import.js","names":["FrodoCommand","Option","Authenticate","printMessage","verboseMessage","importEmailTemplateFromFile","importEmailTemplatesFromFile","importEmailTemplatesFromFiles","importFirstEmailTemplateFromFile","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","templateId","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/email/email-template-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport {\n importEmailTemplateFromFile,\n importEmailTemplatesFromFile,\n importEmailTemplatesFromFiles,\n importFirstEmailTemplateFromFile,\n} from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo email template import');\n\nprogram\n .description('Import email templates.')\n .addOption(\n new Option(\n '-i, --template-id <template-id>',\n 'Email template id/name. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the import file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all email templates from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all email templates from separate files (*.template.email.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement program 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 by id\n if (options.file && options.templateId && (await getTokens())) {\n verboseMessage(`Importing email template \"${options.templateId}\"...`);\n importEmailTemplateFromFile(options.templateId, options.file);\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage(\n `Importing all email templates from a single file (${options.file})...`\n );\n importEmailTemplatesFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n verboseMessage(\n 'Importing all email templates from separate files (*.template.email.json) in current directory...'\n );\n importEmailTemplatesFromFiles();\n }\n // import first template from file\n else if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing first email template from file \"${options.file}\"...`\n );\n importFirstEmailTemplateFromFile(options.file);\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 program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SACEC,2BAA2B,EAC3BC,4BAA4B,EAC5BC,6BAA6B,EAC7BC,gCAAgC,QAC3B,4BAA4B;AAEnC,MAAM;EAAEC;AAAU,CAAC,GAAGP,YAAY;AAElC,MAAMQ,OAAO,GAAG,IAAIV,YAAY,CAAC,6BAA6B,CAAC;AAE/DU,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIX,MAAM,CACR,iCAAiC,EACjC,8DAA8D,CAC/D,CACF,CACAW,SAAS,CAAC,IAAIX,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,+DAA+D,CAChE,CACF,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,yHAAyH,CAC1H,CACF,CACAY,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,IAAI,IAAIH,OAAO,CAACI,UAAU,KAAK,MAAMb,SAAS,EAAE,CAAC,EAAE;IAC7DL,cAAc,CAAE,6BAA4Bc,OAAO,CAACI,UAAW,MAAK,CAAC;IACrEjB,2BAA2B,CAACa,OAAO,CAACI,UAAU,EAAEJ,OAAO,CAACG,IAAI,CAAC;EAC/D;EACA;EAAA,KACK,IAAIH,OAAO,CAACK,GAAG,IAAIL,OAAO,CAACG,IAAI,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IAC3DL,cAAc,CACX,qDAAoDc,OAAO,CAACG,IAAK,MAAK,CACxE;IACDf,4BAA4B,CAACY,OAAO,CAACG,IAAI,CAAC;EAC5C;EACA;EAAA,KACK,IAAIH,OAAO,CAACM,WAAW,IAAI,CAACN,OAAO,CAACG,IAAI,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IACpEL,cAAc,CACZ,mGAAmG,CACpG;IACDG,6BAA6B,EAAE;EACjC;EACA;EAAA,KACK,IAAIW,OAAO,CAACG,IAAI,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IAC5CL,cAAc,CACX,6CAA4Cc,OAAO,CAACG,IAAK,MAAK,CAChE;IACDb,gCAAgC,CAACU,OAAO,CAACG,IAAI,CAAC;EAChD;EACA;EAAA,KACK;IACHlB,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;IACDO,OAAO,CAACe,IAAI,EAAE;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHjB,OAAO,CAACkB,KAAK,EAAE"}