@rockcarver/frodo-cli 2.0.0-2 → 2.0.0-21

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 (453) hide show
  1. package/CHANGELOG.md +186 -3
  2. package/esm/app.js +14 -5
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +18 -4
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +7 -4
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -4
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -4
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -4
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +7 -4
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -4
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -4
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +1 -1
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +7 -4
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -4
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -4
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -4
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -4
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +7 -4
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -4
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -4
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +1 -1
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +2 -2
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -4
  43. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  44. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +14 -7
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-export.js +45 -0
  47. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-import.js +49 -0
  49. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-list.js +29 -0
  51. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  52. package/esm/cli/admin/admin-federation.js +13 -0
  53. package/esm/cli/admin/admin-federation.js.map +1 -0
  54. package/esm/cli/admin/admin-get-access-token.js +12 -6
  55. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  56. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +12 -6
  57. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -5
  59. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  60. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +10 -4
  61. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +10 -4
  63. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-list-static-user-mappings.js +11 -5
  65. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  66. package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -5
  67. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  68. package/esm/cli/admin/admin-repair-org-model.js +11 -5
  69. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  70. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -6
  71. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  72. package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -5
  73. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  74. package/esm/cli/admin/admin.js +3 -2
  75. package/esm/cli/admin/admin.js.map +1 -1
  76. package/esm/cli/agent/agent-delete.js +13 -6
  77. package/esm/cli/agent/agent-delete.js.map +1 -1
  78. package/esm/cli/agent/agent-describe.js +7 -4
  79. package/esm/cli/agent/agent-describe.js.map +1 -1
  80. package/esm/cli/agent/agent-export.js +8 -5
  81. package/esm/cli/agent/agent-export.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-delete.js +13 -6
  83. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-describe.js +7 -4
  85. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  86. package/esm/cli/agent/agent-gateway-export.js +8 -5
  87. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-import.js +8 -5
  89. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-list.js +7 -4
  91. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway.js +1 -1
  93. package/esm/cli/agent/agent-gateway.js.map +1 -1
  94. package/esm/cli/agent/agent-import.js +8 -5
  95. package/esm/cli/agent/agent-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-delete.js +13 -6
  97. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  98. package/esm/cli/agent/agent-java-describe.js +7 -4
  99. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  100. package/esm/cli/agent/agent-java-export.js +8 -5
  101. package/esm/cli/agent/agent-java-export.js.map +1 -1
  102. package/esm/cli/agent/agent-java-import.js +8 -5
  103. package/esm/cli/agent/agent-java-import.js.map +1 -1
  104. package/esm/cli/agent/agent-java-list.js +7 -4
  105. package/esm/cli/agent/agent-java-list.js.map +1 -1
  106. package/esm/cli/agent/agent-java.js +1 -1
  107. package/esm/cli/agent/agent-java.js.map +1 -1
  108. package/esm/cli/agent/agent-list.js +7 -4
  109. package/esm/cli/agent/agent-list.js.map +1 -1
  110. package/esm/cli/agent/agent-web-delete.js +13 -6
  111. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  112. package/esm/cli/agent/agent-web-describe.js +7 -4
  113. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  114. package/esm/cli/agent/agent-web-export.js +8 -5
  115. package/esm/cli/agent/agent-web-export.js.map +1 -1
  116. package/esm/cli/agent/agent-web-import.js +8 -5
  117. package/esm/cli/agent/agent-web-import.js.map +1 -1
  118. package/esm/cli/agent/agent-web-list.js +7 -4
  119. package/esm/cli/agent/agent-web-list.js.map +1 -1
  120. package/esm/cli/agent/agent-web.js +1 -1
  121. package/esm/cli/agent/agent-web.js.map +1 -1
  122. package/esm/cli/agent/agent.js +2 -2
  123. package/esm/cli/agent/agent.js.map +1 -1
  124. package/esm/cli/app/app-delete.js +27 -8
  125. package/esm/cli/app/app-delete.js.map +1 -1
  126. package/esm/cli/app/app-describe.js +9 -5
  127. package/esm/cli/app/app-describe.js.map +1 -1
  128. package/esm/cli/app/app-export.js +17 -13
  129. package/esm/cli/app/app-export.js.map +1 -1
  130. package/esm/cli/app/app-import.js +21 -17
  131. package/esm/cli/app/app-import.js.map +1 -1
  132. package/esm/cli/app/app-list.js +12 -8
  133. package/esm/cli/app/app-list.js.map +1 -1
  134. package/esm/cli/app/app.js +8 -12
  135. package/esm/cli/app/app.js.map +1 -1
  136. package/esm/cli/authz/authz-policy-delete.js +10 -7
  137. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  138. package/esm/cli/authz/authz-policy-describe.js +8 -5
  139. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  140. package/esm/cli/authz/authz-policy-export.js +12 -9
  141. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  142. package/esm/cli/authz/authz-policy-import.js +10 -7
  143. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  144. package/esm/cli/authz/authz-policy-list.js +9 -6
  145. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  146. package/esm/cli/authz/authz-policy.js +1 -1
  147. package/esm/cli/authz/authz-policy.js.map +1 -1
  148. package/esm/cli/authz/authz-set-delete.js +9 -6
  149. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  150. package/esm/cli/authz/authz-set-describe.js +8 -5
  151. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  152. package/esm/cli/authz/authz-set-export.js +10 -7
  153. package/esm/cli/authz/authz-set-export.js.map +1 -1
  154. package/esm/cli/authz/authz-set-import.js +10 -7
  155. package/esm/cli/authz/authz-set-import.js.map +1 -1
  156. package/esm/cli/authz/authz-set-list.js +7 -4
  157. package/esm/cli/authz/authz-set-list.js.map +1 -1
  158. package/esm/cli/authz/authz-set.js +1 -1
  159. package/esm/cli/authz/authz-set.js.map +1 -1
  160. package/esm/cli/authz/authz-type-delete.js +10 -7
  161. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  162. package/esm/cli/authz/authz-type-describe.js +9 -6
  163. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  164. package/esm/cli/authz/authz-type-export.js +11 -8
  165. package/esm/cli/authz/authz-type-export.js.map +1 -1
  166. package/esm/cli/authz/authz-type-import.js +12 -9
  167. package/esm/cli/authz/authz-type-import.js.map +1 -1
  168. package/esm/cli/authz/authz-type-list.js +8 -5
  169. package/esm/cli/authz/authz-type-list.js.map +1 -1
  170. package/esm/cli/authz/authz-type.js +1 -1
  171. package/esm/cli/authz/authz-type.js.map +1 -1
  172. package/esm/cli/authz/authz.js +2 -2
  173. package/esm/cli/authz/authz.js.map +1 -1
  174. package/esm/cli/conn/conn-delete.js +2 -2
  175. package/esm/cli/conn/conn-delete.js.map +1 -1
  176. package/esm/cli/conn/conn-describe.js +2 -2
  177. package/esm/cli/conn/conn-describe.js.map +1 -1
  178. package/esm/cli/conn/conn-list.js +2 -2
  179. package/esm/cli/conn/conn-list.js.map +1 -1
  180. package/esm/cli/conn/conn-save.js +31 -15
  181. package/esm/cli/conn/conn-save.js.map +1 -1
  182. package/esm/cli/conn/conn.js +2 -2
  183. package/esm/cli/conn/conn.js.map +1 -1
  184. package/esm/cli/email/email-template-export.js +10 -7
  185. package/esm/cli/email/email-template-export.js.map +1 -1
  186. package/esm/cli/email/email-template-import.js +11 -8
  187. package/esm/cli/email/email-template-import.js.map +1 -1
  188. package/esm/cli/email/email-template-list.js +8 -5
  189. package/esm/cli/email/email-template-list.js.map +1 -1
  190. package/esm/cli/email/email-template.js +1 -1
  191. package/esm/cli/email/email-template.js.map +1 -1
  192. package/esm/cli/email/email.js +2 -2
  193. package/esm/cli/email/email.js.map +1 -1
  194. package/esm/cli/esv/esv-apply.js +18 -8
  195. package/esm/cli/esv/esv-apply.js.map +1 -1
  196. package/esm/cli/esv/esv-secret-create.js +8 -5
  197. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  198. package/esm/cli/esv/esv-secret-delete.js +9 -6
  199. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  200. package/esm/cli/esv/esv-secret-describe.js +8 -5
  201. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  202. package/esm/cli/esv/esv-secret-export.js +7 -4
  203. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  204. package/esm/cli/esv/esv-secret-import.js +7 -4
  205. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  206. package/esm/cli/esv/esv-secret-list.js +8 -5
  207. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  208. package/esm/cli/esv/esv-secret-set.js +8 -5
  209. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  210. package/esm/cli/esv/esv-secret-version-activate.js +8 -5
  211. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  212. package/esm/cli/esv/esv-secret-version-create.js +9 -6
  213. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  214. package/esm/cli/esv/esv-secret-version-deactivate.js +8 -5
  215. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  216. package/esm/cli/esv/esv-secret-version-delete.js +9 -6
  217. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  218. package/esm/cli/esv/esv-secret-version-list.js +8 -5
  219. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  220. package/esm/cli/esv/esv-secret-version.js +1 -1
  221. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  222. package/esm/cli/esv/esv-secret.js +1 -1
  223. package/esm/cli/esv/esv-secret.js.map +1 -1
  224. package/esm/cli/esv/esv-variable-create.js +10 -6
  225. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  226. package/esm/cli/esv/esv-variable-delete.js +9 -6
  227. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  228. package/esm/cli/esv/esv-variable-describe.js +8 -5
  229. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  230. package/esm/cli/esv/esv-variable-export.js +7 -4
  231. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  232. package/esm/cli/esv/esv-variable-import.js +7 -4
  233. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  234. package/esm/cli/esv/esv-variable-list.js +8 -5
  235. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  236. package/esm/cli/esv/esv-variable-set.js +8 -5
  237. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  238. package/esm/cli/esv/esv-variable.js +1 -1
  239. package/esm/cli/esv/esv-variable.js.map +1 -1
  240. package/esm/cli/esv/esv.js +2 -2
  241. package/esm/cli/esv/esv.js.map +1 -1
  242. package/esm/cli/idm/idm-count.js +9 -6
  243. package/esm/cli/idm/idm-count.js.map +1 -1
  244. package/esm/cli/idm/idm-export.js +10 -7
  245. package/esm/cli/idm/idm-export.js.map +1 -1
  246. package/esm/cli/idm/idm-import.js +11 -8
  247. package/esm/cli/idm/idm-import.js.map +1 -1
  248. package/esm/cli/idm/idm-list.js +7 -4
  249. package/esm/cli/idm/idm-list.js.map +1 -1
  250. package/esm/cli/idm/idm.js +2 -2
  251. package/esm/cli/idm/idm.js.map +1 -1
  252. package/esm/cli/idp/idp-export.js +11 -8
  253. package/esm/cli/idp/idp-export.js.map +1 -1
  254. package/esm/cli/idp/idp-import.js +15 -12
  255. package/esm/cli/idp/idp-import.js.map +1 -1
  256. package/esm/cli/idp/idp-list.js +7 -4
  257. package/esm/cli/idp/idp-list.js.map +1 -1
  258. package/esm/cli/idp/idp.js +2 -2
  259. package/esm/cli/idp/idp.js.map +1 -1
  260. package/esm/cli/info/info.js +16 -10
  261. package/esm/cli/info/info.js.map +1 -1
  262. package/esm/cli/journey/journey-delete.js +8 -5
  263. package/esm/cli/journey/journey-delete.js.map +1 -1
  264. package/esm/cli/journey/journey-describe.js +18 -10
  265. package/esm/cli/journey/journey-describe.js.map +1 -1
  266. package/esm/cli/journey/journey-disable.js +12 -6
  267. package/esm/cli/journey/journey-disable.js.map +1 -1
  268. package/esm/cli/journey/journey-enable.js +12 -6
  269. package/esm/cli/journey/journey-enable.js.map +1 -1
  270. package/esm/cli/journey/journey-export.js +10 -7
  271. package/esm/cli/journey/journey-export.js.map +1 -1
  272. package/esm/cli/journey/journey-import.js +11 -8
  273. package/esm/cli/journey/journey-import.js.map +1 -1
  274. package/esm/cli/journey/journey-list.js +6 -3
  275. package/esm/cli/journey/journey-list.js.map +1 -1
  276. package/esm/cli/journey/journey-prune.js +23 -12
  277. package/esm/cli/journey/journey-prune.js.map +1 -1
  278. package/esm/cli/journey/journey.js +2 -2
  279. package/esm/cli/journey/journey.js.map +1 -1
  280. package/esm/cli/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
  281. package/esm/cli/log/log-fetch.js.map +1 -0
  282. package/esm/cli/log/log-key-delete.js +35 -0
  283. package/esm/cli/log/log-key-delete.js.map +1 -0
  284. package/esm/cli/log/log-key-describe.js +22 -0
  285. package/esm/cli/log/log-key-describe.js.map +1 -0
  286. package/esm/cli/log/log-key-list.js +26 -0
  287. package/esm/cli/log/log-key-list.js.map +1 -0
  288. package/esm/cli/log/log-key.js +8 -0
  289. package/esm/cli/log/log-key.js.map +1 -0
  290. package/esm/cli/log/log-list.js +80 -0
  291. package/esm/cli/log/log-list.js.map +1 -0
  292. package/esm/cli/log/log-tail.js +77 -0
  293. package/esm/cli/log/log-tail.js.map +1 -0
  294. package/esm/cli/{logging/logs.js → log/log.js} +6 -3
  295. package/esm/cli/log/log.js.map +1 -0
  296. package/esm/cli/oauth/oauth-client-delete.js +22 -0
  297. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  298. package/esm/cli/oauth/oauth-client-describe.js +22 -0
  299. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  300. package/esm/cli/oauth/oauth-client-export.js +52 -0
  301. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  302. package/esm/cli/oauth/oauth-client-import.js +57 -0
  303. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  304. package/esm/cli/oauth/oauth-client-list.js +25 -0
  305. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  306. package/esm/cli/oauth/oauth-client.js +14 -0
  307. package/esm/cli/oauth/oauth-client.js.map +1 -0
  308. package/esm/cli/oauth/oauth.js +13 -0
  309. package/esm/cli/oauth/oauth.js.map +1 -0
  310. package/esm/cli/realm/realm-add-custom-domain.js +8 -5
  311. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  312. package/esm/cli/realm/realm-describe.js +8 -5
  313. package/esm/cli/realm/realm-describe.js.map +1 -1
  314. package/esm/cli/realm/realm-list.js +8 -5
  315. package/esm/cli/realm/realm-list.js.map +1 -1
  316. package/esm/cli/realm/realm-remove-custom-domain.js +11 -5
  317. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  318. package/esm/cli/realm/realm.js +2 -2
  319. package/esm/cli/realm/realm.js.map +1 -1
  320. package/esm/cli/saml/saml-cot-export.js +10 -7
  321. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  322. package/esm/cli/saml/saml-cot-import.js +11 -8
  323. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  324. package/esm/cli/saml/saml-cot-list.js +8 -5
  325. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  326. package/esm/cli/saml/saml-cot.js +1 -1
  327. package/esm/cli/saml/saml-cot.js.map +1 -1
  328. package/esm/cli/saml/saml-delete.js +14 -7
  329. package/esm/cli/saml/saml-delete.js.map +1 -1
  330. package/esm/cli/saml/saml-describe.js +8 -5
  331. package/esm/cli/saml/saml-describe.js.map +1 -1
  332. package/esm/cli/saml/saml-export.js +10 -7
  333. package/esm/cli/saml/saml-export.js.map +1 -1
  334. package/esm/cli/saml/saml-import.js +11 -8
  335. package/esm/cli/saml/saml-import.js.map +1 -1
  336. package/esm/cli/saml/saml-list.js +8 -5
  337. package/esm/cli/saml/saml-list.js.map +1 -1
  338. package/esm/cli/saml/saml-metadata-export.js +9 -6
  339. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  340. package/esm/cli/saml/saml-metadata.js +1 -1
  341. package/esm/cli/saml/saml-metadata.js.map +1 -1
  342. package/esm/cli/saml/saml.js +2 -2
  343. package/esm/cli/saml/saml.js.map +1 -1
  344. package/esm/cli/script/script-delete.js +7 -4
  345. package/esm/cli/script/script-delete.js.map +1 -1
  346. package/esm/cli/script/script-describe.js +7 -4
  347. package/esm/cli/script/script-describe.js.map +1 -1
  348. package/esm/cli/script/script-export.js +8 -5
  349. package/esm/cli/script/script-export.js.map +1 -1
  350. package/esm/cli/script/script-import.js +9 -6
  351. package/esm/cli/script/script-import.js.map +1 -1
  352. package/esm/cli/script/script-list.js +8 -5
  353. package/esm/cli/script/script-list.js.map +1 -1
  354. package/esm/cli/script/script.js +2 -2
  355. package/esm/cli/script/script.js.map +1 -1
  356. package/esm/cli/service/service-delete.js +8 -5
  357. package/esm/cli/service/service-delete.js.map +1 -1
  358. package/esm/cli/service/service-export.js +9 -6
  359. package/esm/cli/service/service-export.js.map +1 -1
  360. package/esm/cli/service/service-import.js +10 -7
  361. package/esm/cli/service/service-import.js.map +1 -1
  362. package/esm/cli/service/service-list.js +7 -4
  363. package/esm/cli/service/service-list.js.map +1 -1
  364. package/esm/cli/service/service.js +2 -2
  365. package/esm/cli/service/service.js.map +1 -1
  366. package/esm/cli/shell/shell.js +57 -0
  367. package/esm/cli/shell/shell.js.map +1 -0
  368. package/esm/cli/theme/theme-delete.js +10 -7
  369. package/esm/cli/theme/theme-delete.js.map +1 -1
  370. package/esm/cli/theme/theme-export.js +11 -8
  371. package/esm/cli/theme/theme-export.js.map +1 -1
  372. package/esm/cli/theme/theme-import.js +12 -9
  373. package/esm/cli/theme/theme-import.js.map +1 -1
  374. package/esm/cli/theme/theme-list.js +7 -4
  375. package/esm/cli/theme/theme-list.js.map +1 -1
  376. package/esm/cli/theme/theme.js +2 -2
  377. package/esm/cli/theme/theme.js.map +1 -1
  378. package/esm/help/SampleData.js +7 -0
  379. package/esm/help/SampleData.js.map +1 -0
  380. package/esm/launch.js +1 -1
  381. package/esm/launch.js.map +1 -1
  382. package/esm/loader.js +2 -2
  383. package/esm/loader.js.map +1 -1
  384. package/esm/ops/AdminFederationOps.js +216 -0
  385. package/esm/ops/AdminFederationOps.js.map +1 -0
  386. package/esm/ops/AgentOps.js +88 -54
  387. package/esm/ops/AgentOps.js.map +1 -1
  388. package/esm/ops/ApplicationOps.js +309 -0
  389. package/esm/ops/ApplicationOps.js.map +1 -0
  390. package/esm/ops/CirclesOfTrustOps.js +25 -13
  391. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  392. package/esm/ops/ConnectionProfileOps.js +13 -6
  393. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  394. package/esm/ops/EmailTemplateOps.js +53 -47
  395. package/esm/ops/EmailTemplateOps.js.map +1 -1
  396. package/esm/ops/IdmOps.js +58 -64
  397. package/esm/ops/IdmOps.js.map +1 -1
  398. package/esm/ops/IdpOps.js +48 -25
  399. package/esm/ops/IdpOps.js.map +1 -1
  400. package/esm/ops/JourneyOps.js +108 -43
  401. package/esm/ops/JourneyOps.js.map +1 -1
  402. package/esm/ops/LogOps.js +92 -30
  403. package/esm/ops/LogOps.js.map +1 -1
  404. package/esm/ops/NodeOps.js +6 -3
  405. package/esm/ops/NodeOps.js.map +1 -1
  406. package/esm/ops/OAuth2ClientOps.js +29 -16
  407. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  408. package/esm/ops/OrganizationOps.js +14 -22
  409. package/esm/ops/OrganizationOps.js.map +1 -1
  410. package/esm/ops/PolicyOps.js +60 -28
  411. package/esm/ops/PolicyOps.js.map +1 -1
  412. package/esm/ops/PolicySetOps.js +39 -22
  413. package/esm/ops/PolicySetOps.js.map +1 -1
  414. package/esm/ops/RealmOps.js +15 -8
  415. package/esm/ops/RealmOps.js.map +1 -1
  416. package/esm/ops/ResourceTypeOps.js +43 -27
  417. package/esm/ops/ResourceTypeOps.js.map +1 -1
  418. package/esm/ops/Saml2Ops.js +56 -42
  419. package/esm/ops/Saml2Ops.js.map +1 -1
  420. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  421. package/esm/ops/ScriptOps.js +72 -18
  422. package/esm/ops/ScriptOps.js.map +1 -1
  423. package/esm/ops/SecretsOps.js +33 -18
  424. package/esm/ops/SecretsOps.js.map +1 -1
  425. package/esm/ops/ServiceOps.js +49 -28
  426. package/esm/ops/ServiceOps.js.map +1 -1
  427. package/esm/ops/ThemeOps.js +42 -22
  428. package/esm/ops/ThemeOps.js.map +1 -1
  429. package/esm/ops/VariablesOps.js +37 -28
  430. package/esm/ops/VariablesOps.js.map +1 -1
  431. package/esm/ops/utils/OpsUtils.js +1 -1
  432. package/esm/ops/utils/OpsUtils.js.map +1 -1
  433. package/esm/ops/utils/Wordwrap.js +1 -1
  434. package/esm/ops/utils/Wordwrap.js.map +1 -1
  435. package/esm/storage/StaticStorage.js +1 -1
  436. package/esm/storage/StaticStorage.js.map +1 -1
  437. package/esm/utils/Config.js +7 -4
  438. package/esm/utils/Config.js.map +1 -1
  439. package/esm/utils/Console.js +9 -5
  440. package/esm/utils/Console.js.map +1 -1
  441. package/esm/utils/ExportImportUtils.js +32 -66
  442. package/esm/utils/ExportImportUtils.js.map +1 -1
  443. package/esm/utils/Version.js +19 -16
  444. package/esm/utils/Version.js.map +1 -1
  445. package/package.json +45 -35
  446. package/esm/cli/logging/logs-fetch.js.map +0 -1
  447. package/esm/cli/logging/logs-list.js +0 -49
  448. package/esm/cli/logging/logs-list.js.map +0 -1
  449. package/esm/cli/logging/logs-tail.js +0 -46
  450. package/esm/cli/logging/logs-tail.js.map +0 -1
  451. package/esm/cli/logging/logs.js.map +0 -1
  452. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  453. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"authz-type.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["cli/authz/authz-type.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo authz type');\n\nprogram.description('Manage authorization resource types.');\n\nprogram.command('delete', 'Delete authorization resource types.');\n\nprogram.command('describe', 'Describe authorization resource types.');\n\nprogram.command('export', 'Export authorization resource types.');\n\nprogram.command('import', 'Import authorization resource types.');\n\nprogram.command('list', 'List authorization resource types.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,kBAAkB,CAAC;AAExDC,OAAO,CAACC,WAAW,CAAC,sCAAsC,CAAC;AAE3DD,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,sCAAsC,CAAC;AAEjEF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,wCAAwC,CAAC;AAErEF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,sCAAsC,CAAC;AAEjEF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,sCAAsC,CAAC;AAEjEF,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,oCAAoC,CAAC;AAE7DF,OAAO,CAACG,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"authz-type.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["../../../src/cli/authz/authz-type.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo authz type');\n\nprogram.description('Manage authorization resource types.');\n\nprogram.command('delete', 'Delete authorization resource types.');\n\nprogram.command('describe', 'Describe authorization resource types.');\n\nprogram.command('export', 'Export authorization resource types.');\n\nprogram.command('import', 'Import authorization resource types.');\n\nprogram.command('list', 'List authorization resource types.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,kBAAkB,CAAC;AAExDC,OAAO,CAACC,WAAW,CAAC,sCAAsC,CAAC;AAE3DD,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,sCAAsC,CAAC;AAEjEF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,wCAAwC,CAAC;AAErEF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,sCAAsC,CAAC;AAEjEF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,sCAAsC,CAAC;AAEjEF,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,oCAAoC,CAAC;AAE7DF,OAAO,CAACG,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { FrodoStubCommand } from '../FrodoCommand';
2
1
  import path from 'path';
3
2
  import { fileURLToPath } from 'url';
3
+ import { FrodoStubCommand } from '../FrodoCommand';
4
4
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  export default function setup() {
6
6
  const program = new FrodoStubCommand('authz').description('Manage authotiztion policies, policy sets, and resource types.').executableDir(__dirname);
@@ -9,4 +9,4 @@ export default function setup() {
9
9
  program.command('type', 'Manage resource types.');
10
10
  return program;
11
11
  }
12
- //# sourceMappingURL=authz.js.map
12
+ //# sourceMappingURL=authz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/authz/authz.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('authz')\n .description(\n 'Manage authotiztion policies, policy sets, and resource types.'\n )\n .executableDir(__dirname);\n\n program.command('set', 'Manage policy sets.');\n\n program.command('policy', 'Manages policies.');\n\n program.command('type', 'Manage resource types.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,OAAO,CAAC,CAC1CU,WAAW,CACV,gEACF,CAAC,CACAC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC;EAE7CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;EAE9CH,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;EAEjD,OAAOH,OAAO;AAChB"}
1
+ {"version":3,"file":"authz.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["../../../src/cli/authz/authz.ts"],"sourcesContent":["import path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FrodoStubCommand } from '../FrodoCommand';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('authz')\n .description(\n 'Manage authotiztion policies, policy sets, and resource types.'\n )\n .executableDir(__dirname);\n\n program.command('set', 'Manage policy sets.');\n\n program.command('policy', 'Manages policies.');\n\n program.command('type', 'Manage resource types.');\n\n return program;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,OAAO,CAAC,CAC1CQ,WAAW,CACV,gEACF,CAAC,CACAC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC;EAE7CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;EAE9CH,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;EAEjD,OAAOH,OAAO;AAChB"}
@@ -1,5 +1,5 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
1
  import { frodo } from '@rockcarver/frodo-lib';
2
+ import { FrodoCommand } from '../FrodoCommand';
3
3
  const program = new FrodoCommand('frodo conn delete', ['realm', 'username', 'password', 'type', 'insecure', 'curlirize']);
4
4
  program.description('Delete connection profiles.').action(
5
5
  // implement command logic inside action handler
@@ -11,4 +11,4 @@ async (host, options, command) => {
11
11
  );
12
12
 
13
13
  program.parse();
14
- //# sourceMappingURL=conn-delete.js.map
14
+ //# sourceMappingURL=conn-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conn-delete.js","names":["FrodoCommand","frodo","program","description","action","host","options","command","handleDefaultArgsAndOpts","conn","deleteConnectionProfile","parse"],"sources":["cli/conn/conn-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { frodo } from '@rockcarver/frodo-lib';\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 frodo.conn.deleteConnectionProfile(host);\n }\n // end command logic inside action handler\n);\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,KAAK,QAAQ,uBAAuB;AAE7C,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,mBAAmB,EAAE,CACpD,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFE,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,KAAK,CAACQ,IAAI,CAACC,uBAAuB,CAACL,IAAI,CAAC;AAC1C;AACA;AACF,CAAC;;AAEDH,OAAO,CAACS,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"conn-delete.js","names":["frodo","FrodoCommand","program","description","action","host","options","command","handleDefaultArgsAndOpts","conn","deleteConnectionProfile","parse"],"sources":["../../../src/cli/conn/conn-delete.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\n\nimport { FrodoCommand } from '../FrodoCommand';\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 frodo.conn.deleteConnectionProfile(host);\n }\n // end command logic inside action handler\n);\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAE7C,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,mBAAmB,EAAE,CACpD,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFC,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;EACxDP,KAAK,CAACS,IAAI,CAACC,uBAAuB,CAACL,IAAI,CAAC;AAC1C;AACA;AACF,CAAC;;AAEDH,OAAO,CAACS,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
+ import { Option } from 'commander';
1
2
  import { describeConnectionProfile } from '../../ops/ConnectionProfileOps';
2
3
  import { FrodoCommand } from '../FrodoCommand';
3
- import { Option } from 'commander';
4
4
  const program = new FrodoCommand('frodo conn describe', ['realm', 'username', 'password', 'type', 'insecure', 'curlirize']);
5
5
  program.description('Describe connection profile.').addOption(new Option('--show-secrets', 'Show passwords and secrets.')).action(
6
6
  // implement command logic inside action handler
@@ -12,4 +12,4 @@ async (host, options, command) => {
12
12
  );
13
13
 
14
14
  program.parse();
15
- //# sourceMappingURL=conn-describe.js.map
15
+ //# sourceMappingURL=conn-describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conn-describe.js","names":["describeConnectionProfile","FrodoCommand","Option","program","description","addOption","action","host","options","command","handleDefaultArgsAndOpts","showSecrets","parse"],"sources":["cli/conn/conn-describe.ts"],"sourcesContent":["import { describeConnectionProfile } from '../../ops/ConnectionProfileOps';\nimport { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\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,yBAAyB,QAAQ,gCAAgC;AAC1E,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAElC,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,qBAAqB,EAAE,CACtD,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFE,OAAO,CACJC,WAAW,CAAC,8BAA8B,CAAC,CAC3CC,SAAS,CAAC,IAAIH,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC,CACtEI,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,OAAO,EAAEC,OAAO,KAAK;EAChCA,OAAO,CAACC,wBAAwB,CAACH,IAAI,EAAEC,OAAO,EAAEC,OAAO,CAAC;EACxDT,yBAAyB,CAACO,IAAI,EAAEC,OAAO,CAACG,WAAW,CAAC;AACtD;AACA;AACF,CAAC;;AAEHR,OAAO,CAACS,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"conn-describe.js","names":["Option","describeConnectionProfile","FrodoCommand","program","description","addOption","action","host","options","command","handleDefaultArgsAndOpts","showSecrets","parse"],"sources":["../../../src/cli/conn/conn-describe.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { describeConnectionProfile } from '../../ops/ConnectionProfileOps';\nimport { FrodoCommand } from '../FrodoCommand';\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,MAAM,QAAQ,WAAW;AAElC,SAASC,yBAAyB,QAAQ,gCAAgC;AAC1E,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,qBAAqB,EAAE,CACtD,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFC,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;EACxDR,yBAAyB,CAACM,IAAI,EAAEC,OAAO,CAACG,WAAW,CAAC;AACtD;AACA;AACF,CAAC;;AAEHR,OAAO,CAACS,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
+ import { Option } from 'commander';
1
2
  import { listConnectionProfiles } from '../../ops/ConnectionProfileOps';
2
3
  import { FrodoCommand } from '../FrodoCommand';
3
- import { Option } from 'commander';
4
4
  const program = new FrodoCommand('frodo conn list', ['host', 'realm', 'username', 'password', 'type', 'insecure', 'curlirize']);
5
5
  program.description('List connection profiles.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
6
6
  // implement command logic inside action handler
@@ -12,4 +12,4 @@ async (options, command) => {
12
12
  );
13
13
 
14
14
  program.parse();
15
- //# sourceMappingURL=conn-list.js.map
15
+ //# sourceMappingURL=conn-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conn-list.js","names":["listConnectionProfiles","FrodoCommand","Option","program","description","addOption","default","action","options","command","handleDefaultArgsAndOpts","long","parse"],"sources":["cli/conn/conn-list.ts"],"sourcesContent":["import { listConnectionProfiles } from '../../ops/ConnectionProfileOps';\nimport { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\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,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAElC,MAAMC,OAAO,GAAG,IAAIF,YAAY,CAAC,iBAAiB,EAAE,CAClD,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFE,OAAO,CACJC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,SAAS,CACR,IAAIH,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACI,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,OAAO,EAAEC,OAAO,KAAK;EAC1BA,OAAO,CAACC,wBAAwB,CAACF,OAAO,EAAEC,OAAO,CAAC;EAClDT,sBAAsB,CAACQ,OAAO,CAACG,IAAI,CAAC;AACtC;AACA;AACF,CAAC;;AAEHR,OAAO,CAACS,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"conn-list.js","names":["Option","listConnectionProfiles","FrodoCommand","program","description","addOption","default","action","options","command","handleDefaultArgsAndOpts","long","parse"],"sources":["../../../src/cli/conn/conn-list.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { listConnectionProfiles } from '../../ops/ConnectionProfileOps';\nimport { FrodoCommand } from '../FrodoCommand';\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,MAAM,QAAQ,WAAW;AAElC,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,iBAAiB,EAAE,CAClD,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,CACZ,CAAC;AAEFC,OAAO,CACJC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,OAAO,EAAEC,OAAO,KAAK;EAC1BA,OAAO,CAACC,wBAAwB,CAACF,OAAO,EAAEC,OAAO,CAAC;EAClDR,sBAAsB,CAACO,OAAO,CAACG,IAAI,CAAC;AACtC;AACA;AACF,CAAC;;AAEHR,OAAO,CAACS,KAAK,CAAC,CAAC"}
@@ -1,11 +1,25 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo, state } from '@rockcarver/frodo-lib';
4
- import { verboseMessage, printMessage } from '../../utils/Console';
2
+ import { Option } from 'commander';
3
+ import * as s from '../../help/SampleData';
5
4
  import { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';
6
5
  import { provisionCreds } from '../../ops/LogOps';
6
+ import { printMessage, verboseMessage } from '../../utils/Console';
7
+ import { FrodoCommand } from '../FrodoCommand';
8
+ const {
9
+ getTokens
10
+ } = frodo.login;
11
+ const {
12
+ CLOUD_DEPLOYMENT_TYPE_KEY
13
+ } = frodo.utils.constants;
14
+ const {
15
+ isServiceAccountsFeatureAvailable
16
+ } = frodo.cloud.serviceAccount;
17
+ const {
18
+ addNewServiceAccount,
19
+ saveConnectionProfile
20
+ } = frodo.conn;
7
21
  const program = new FrodoCommand('frodo conn save', ['realm']);
8
- program.alias('add').description('Save connection profiles.').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 create and add service account.')).addOption(new Option('--log-api-key [key]', 'Log API key. If specified, must also include --log-api-secret. Ignored with --no-log-api.')).addOption(new Option('--log-api-secret [secret]', 'Log API secret. If specified, must also include --log-api-key. Ignored with --no-log-api.')).addOption(new Option('--no-log-api', 'Do not create and add log API key and secret.')).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(
22
+ program.alias('add').description('Save connection profiles.').addOption(new Option('--no-sa', 'Do not create and add service account.')).addOption(new Option('--log-api-key [key]', 'Log API key. If specified, must also include --log-api-secret. Ignored with --no-log-api.')).addOption(new Option('--log-api-secret [secret]', 'Log API secret. If specified, must also include --log-api-key. Ignored with --no-log-api.')).addOption(new Option('--no-log-api', 'Do not create and add log API key and secret.')).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"}.')).addHelpText('after', `Usage Examples:\n` + ` Create a connection profile with a new log API key and secret and a new service account:\n` + ` $ frodo conn save ${s.amBaseUrl} ${s.username} '${s.password}'\n`['brightCyan'] + ` Save an existing service account to an existing or new connection profile:\n` + ` $ frodo conn save --sa-id ${s.saId} --sa-jwk-file ${s.saJwkFile} ${s.amBaseUrl}'\n`['brightCyan'] + ` Save an existing service account to an existing connection profile (partial host URL only updates an existing profile):\n` + ` $ frodo conn save --sa-id ${s.saId} --sa-jwk-file ${s.saJwkFile} ${s.connId}'\n`['brightCyan']).action(
9
23
  // implement command logic inside action handler
10
24
  async (host, user, password, options, command) => {
11
25
  command.handleDefaultArgsAndOpts(host, user, password, options, command);
@@ -17,11 +31,13 @@ async (host, user, password, options, command) => {
17
31
  if (options.authenticationHeaderOverrides) {
18
32
  state.setAuthenticationHeaderOverrides(JSON.parse(options.authenticationHeaderOverrides));
19
33
  }
20
- const forceLoginAsUser = !options.sa || (state.getLogApiKey() && state.getLogApiSecret() ? false : true);
21
- if (options.validate && (await frodo.login.getTokens(forceLoginAsUser)) || !options.validate) {
34
+ const needSa = options.sa && !state.getServiceAccountId() && !state.getServiceAccountJwk();
35
+ const needLogApiKey = options.logApi && !state.getLogApiKey() && !state.getLogApiSecret() && needSa;
36
+ const forceLoginAsUser = needSa || needLogApiKey;
37
+ if (options.validate && (await getTokens(forceLoginAsUser)) || !options.validate) {
22
38
  verboseMessage(`Saving connection profile for tenant ${state.getHost()}...`);
23
39
  // if cloud deployment add service account
24
- if (options.validate && state.getDeploymentType() === frodo.helper.constants.CLOUD_DEPLOYMENT_TYPE_KEY && options.sa && (await frodo.cloud.serviceAccount.isServiceAccountsFeatureAvailable())) {
40
+ if (options.validate && state.getDeploymentType() === CLOUD_DEPLOYMENT_TYPE_KEY && options.sa && (await isServiceAccountsFeatureAvailable())) {
25
41
  // validate and add existing service account
26
42
  if (options.saId && options.saJwkFile) {
27
43
  verboseMessage(`Validating and adding service account...`);
@@ -33,12 +49,12 @@ async (host, user, password, options, command) => {
33
49
  else if (!state.getServiceAccountId()) {
34
50
  try {
35
51
  verboseMessage(`Creating service account...`);
36
- const sa = await frodo.conn.addNewServiceAccount();
52
+ const sa = await addNewServiceAccount();
37
53
  printMessage(`Created and added service account ${sa.name} with id ${sa._id} to profile.`);
38
54
  } catch (error) {
39
- var _error$response, _error$response2, _error$response2$data;
55
+ var _error$response, _error$response2;
40
56
  printMessage((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data, 'error');
41
- 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');
57
+ printMessage(`Error creating service account: ${(_error$response2 = error.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message}`, 'error');
42
58
  process.exitCode = 1;
43
59
  }
44
60
  }
@@ -50,7 +66,7 @@ async (host, user, password, options, command) => {
50
66
  // if cloud deployment add log api key and secret
51
67
  verboseMessage(options);
52
68
  verboseMessage(state);
53
- if (options.validate && state.getDeploymentType() === frodo.helper.constants.CLOUD_DEPLOYMENT_TYPE_KEY && options.logApi) {
69
+ if (options.validate && state.getDeploymentType() === CLOUD_DEPLOYMENT_TYPE_KEY && needLogApiKey) {
54
70
  // validate and add existing log api key and secret
55
71
  if (options.logApiKey && options.logApiSecret) {
56
72
  verboseMessage(`Validating and adding log api key and secret...`);
@@ -66,16 +82,16 @@ async (host, user, password, options, command) => {
66
82
  state.setLogApiSecret(creds.api_key_secret);
67
83
  printMessage(`Created log API key ${creds.api_key_id} and secret.`);
68
84
  } catch (error) {
69
- var _error$response3, _error$response4, _error$response4$data;
85
+ var _error$response3, _error$response4;
70
86
  printMessage((_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.data, 'error');
71
- printMessage(`Error creating log API key and secret: ${(_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : (_error$response4$data = _error$response4.data) === null || _error$response4$data === void 0 ? void 0 : _error$response4$data.message}`, 'error');
87
+ printMessage(`Error creating log API key and secret: ${(_error$response4 = error.response) === null || _error$response4 === void 0 || (_error$response4 = _error$response4.data) === null || _error$response4 === void 0 ? void 0 : _error$response4.message}`, 'error');
72
88
  process.exitCode = 1;
73
89
  }
74
90
  }
75
91
  }
76
92
  // add existing log api key and secret without validation
77
93
  // storing log API key and secret in the connection profile is happening default, therefore no code required here
78
- if (await frodo.conn.saveConnectionProfile(host)) {
94
+ if (await saveConnectionProfile(host)) {
79
95
  printMessage(`Saved connection profile ${state.getHost()}`);
80
96
  } else {
81
97
  process.exitCode = 1;
@@ -88,4 +104,4 @@ async (host, user, password, options, command) => {
88
104
  );
89
105
 
90
106
  program.parse();
91
- //# sourceMappingURL=conn-save.js.map
107
+ //# sourceMappingURL=conn-save.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conn-save.js","names":["FrodoCommand","Option","frodo","state","verboseMessage","printMessage","addExistingServiceAccount","provisionCreds","program","alias","description","addOption","action","host","user","password","options","command","handleDefaultArgsAndOpts","setLogApiKey","logApiKey","setLogApiSecret","logApiSecret","authenticationService","setAuthenticationService","authenticationHeaderOverrides","setAuthenticationHeaderOverrides","JSON","parse","forceLoginAsUser","sa","getLogApiKey","getLogApiSecret","validate","login","getTokens","getHost","getDeploymentType","helper","constants","CLOUD_DEPLOYMENT_TYPE_KEY","cloud","serviceAccount","isServiceAccountsFeatureAvailable","saId","saJwkFile","getServiceAccountId","conn","addNewServiceAccount","name","_id","error","_error$response","_error$response2","_error$response2$data","response","data","message","process","exitCode","logApi","creds","api_key_id","api_key_secret","_error$response3","_error$response4","_error$response4$data","saveConnectionProfile"],"sources":["cli/conn/conn-save.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { verboseMessage, printMessage } from '../../utils/Console';\nimport { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';\nimport { provisionCreds } from '../../ops/LogOps';\n\nconst program = new FrodoCommand('frodo conn save', ['realm']);\n\nprogram\n .alias('add')\n .description('Save connection profiles.')\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 create and add service account.'))\n .addOption(\n new Option(\n '--log-api-key [key]',\n 'Log API key. If specified, must also include --log-api-secret. Ignored with --no-log-api.'\n )\n )\n .addOption(\n new Option(\n '--log-api-secret [secret]',\n 'Log API secret. If specified, must also include --log-api-key. Ignored with --no-log-api.'\n )\n )\n .addOption(\n new Option('--no-log-api', 'Do not create and add log API key and secret.')\n )\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, options, command) => {\n command.handleDefaultArgsAndOpts(host, user, password, options, command);\n state.setLogApiKey(options.logApiKey);\n state.setLogApiSecret(options.logApiSecret);\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 const forceLoginAsUser =\n !options.sa ||\n (state.getLogApiKey() && state.getLogApiSecret() ? false : true);\n if (\n (options.validate && (await frodo.login.getTokens(forceLoginAsUser))) ||\n !options.validate\n ) {\n verboseMessage(\n `Saving connection profile for tenant ${state.getHost()}...`\n );\n // if cloud deployment add service account\n if (\n options.validate &&\n state.getDeploymentType() ===\n frodo.helper.constants.CLOUD_DEPLOYMENT_TYPE_KEY &&\n options.sa &&\n (await frodo.cloud.serviceAccount.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 frodo.conn.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 cloud deployment add log api key and secret\n verboseMessage(options);\n verboseMessage(state);\n if (\n options.validate &&\n state.getDeploymentType() ===\n frodo.helper.constants.CLOUD_DEPLOYMENT_TYPE_KEY &&\n options.logApi\n ) {\n // validate and add existing log api key and secret\n if (options.logApiKey && options.logApiSecret) {\n verboseMessage(`Validating and adding log api key and secret...`);\n if (\n await addExistingServiceAccount(\n options.logApiKey,\n options.logApiSecret,\n options.validate\n )\n ) {\n printMessage(\n `Added log API key ${options.logApiKey} to profile.`\n );\n }\n }\n // add new log api key and secret if none already exists in the profile\n else if (!state.getLogApiKey()) {\n try {\n const creds = await provisionCreds();\n state.setLogApiKey(creds.api_key_id as string);\n state.setLogApiSecret(creds.api_key_secret as string);\n printMessage(\n `Created log API key ${creds.api_key_id} and secret.`\n );\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(\n `Error creating log API key and secret: ${error.response?.data?.message}`,\n 'error'\n );\n process.exitCode = 1;\n }\n }\n }\n // add existing log api key and secret without validation\n // storing log API key and secret in the connection profile is happening default, therefore no code required here\n if (await frodo.conn.saveConnectionProfile(host)) {\n printMessage(`Saved connection profile ${state.getHost()}`);\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
+ {"version":3,"file":"conn-save.js","names":["frodo","state","Option","s","addExistingServiceAccount","provisionCreds","printMessage","verboseMessage","FrodoCommand","getTokens","login","CLOUD_DEPLOYMENT_TYPE_KEY","utils","constants","isServiceAccountsFeatureAvailable","cloud","serviceAccount","addNewServiceAccount","saveConnectionProfile","conn","program","alias","description","addOption","addHelpText","amBaseUrl","username","password","saId","saJwkFile","connId","action","host","user","options","command","handleDefaultArgsAndOpts","setLogApiKey","logApiKey","setLogApiSecret","logApiSecret","authenticationService","setAuthenticationService","authenticationHeaderOverrides","setAuthenticationHeaderOverrides","JSON","parse","needSa","sa","getServiceAccountId","getServiceAccountJwk","needLogApiKey","logApi","getLogApiKey","getLogApiSecret","forceLoginAsUser","validate","getHost","getDeploymentType","name","_id","error","_error$response","_error$response2","response","data","message","process","exitCode","creds","api_key_id","api_key_secret","_error$response3","_error$response4"],"sources":["../../../src/cli/conn/conn-save.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport * as s from '../../help/SampleData';\nimport { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';\nimport { provisionCreds } from '../../ops/LogOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { CLOUD_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants;\nconst { isServiceAccountsFeatureAvailable } = frodo.cloud.serviceAccount;\nconst { addNewServiceAccount, saveConnectionProfile } = frodo.conn;\n\nconst program = new FrodoCommand('frodo conn save', ['realm']);\n\nprogram\n .alias('add')\n .description('Save connection profiles.')\n .addOption(new Option('--no-sa', 'Do not create and add service account.'))\n .addOption(\n new Option(\n '--log-api-key [key]',\n 'Log API key. If specified, must also include --log-api-secret. Ignored with --no-log-api.'\n )\n )\n .addOption(\n new Option(\n '--log-api-secret [secret]',\n 'Log API secret. If specified, must also include --log-api-key. Ignored with --no-log-api.'\n )\n )\n .addOption(\n new Option('--no-log-api', 'Do not create and add log API key and secret.')\n )\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 .addHelpText(\n 'after',\n `Usage Examples:\\n` +\n ` Create a connection profile with a new log API key and secret and a new service account:\\n` +\n ` $ frodo conn save ${s.amBaseUrl} ${s.username} '${s.password}'\\n`[\n 'brightCyan'\n ] +\n ` Save an existing service account to an existing or new connection profile:\\n` +\n ` $ frodo conn save --sa-id ${s.saId} --sa-jwk-file ${s.saJwkFile} ${s.amBaseUrl}'\\n`[\n 'brightCyan'\n ] +\n ` Save an existing service account to an existing connection profile (partial host URL only updates an existing profile):\\n` +\n ` $ frodo conn save --sa-id ${s.saId} --sa-jwk-file ${s.saJwkFile} ${s.connId}'\\n`[\n 'brightCyan'\n ]\n )\n .action(\n // implement command logic inside action handler\n async (host, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(host, user, password, options, command);\n state.setLogApiKey(options.logApiKey);\n state.setLogApiSecret(options.logApiSecret);\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 const needSa =\n options.sa &&\n !state.getServiceAccountId() &&\n !state.getServiceAccountJwk();\n const needLogApiKey =\n options.logApi &&\n !state.getLogApiKey() &&\n !state.getLogApiSecret() &&\n needSa;\n const forceLoginAsUser = needSa || needLogApiKey;\n if (\n (options.validate && (await getTokens(forceLoginAsUser))) ||\n !options.validate\n ) {\n verboseMessage(\n `Saving connection profile for tenant ${state.getHost()}...`\n );\n // if cloud deployment add service account\n if (\n options.validate &&\n state.getDeploymentType() === 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 cloud deployment add log api key and secret\n verboseMessage(options);\n verboseMessage(state);\n if (\n options.validate &&\n state.getDeploymentType() === CLOUD_DEPLOYMENT_TYPE_KEY &&\n needLogApiKey\n ) {\n // validate and add existing log api key and secret\n if (options.logApiKey && options.logApiSecret) {\n verboseMessage(`Validating and adding log api key and secret...`);\n if (\n await addExistingServiceAccount(\n options.logApiKey,\n options.logApiSecret,\n options.validate\n )\n ) {\n printMessage(\n `Added log API key ${options.logApiKey} to profile.`\n );\n }\n }\n // add new log api key and secret if none already exists in the profile\n else if (!state.getLogApiKey()) {\n try {\n const creds = await provisionCreds();\n state.setLogApiKey(creds.api_key_id as string);\n state.setLogApiSecret(creds.api_key_secret as string);\n printMessage(\n `Created log API key ${creds.api_key_id} and secret.`\n );\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(\n `Error creating log API key and secret: ${error.response?.data?.message}`,\n 'error'\n );\n process.exitCode = 1;\n }\n }\n }\n // add existing log api key and secret without validation\n // storing log API key and secret in the connection profile is happening default, therefore no code required here\n if (await saveConnectionProfile(host)) {\n printMessage(`Saved connection profile ${state.getHost()}`);\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":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,OAAO,KAAKC,CAAC,MAAM,uBAAuB;AAC1C,SAASC,yBAAyB,QAAQ,mCAAmC;AAC7E,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGT,KAAK,CAACU,KAAK;AACjC,MAAM;EAAEC;AAA0B,CAAC,GAAGX,KAAK,CAACY,KAAK,CAACC,SAAS;AAC3D,MAAM;EAAEC;AAAkC,CAAC,GAAGd,KAAK,CAACe,KAAK,CAACC,cAAc;AACxE,MAAM;EAAEC,oBAAoB;EAAEC;AAAsB,CAAC,GAAGlB,KAAK,CAACmB,IAAI;AAElE,MAAMC,OAAO,GAAG,IAAIZ,YAAY,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;AAE9DY,OAAO,CACJC,KAAK,CAAC,KAAK,CAAC,CACZC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,SAAS,CAAC,IAAIrB,MAAM,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAC,CAC1EqB,SAAS,CACR,IAAIrB,MAAM,CACR,qBAAqB,EACrB,2FACF,CACF,CAAC,CACAqB,SAAS,CACR,IAAIrB,MAAM,CACR,2BAA2B,EAC3B,2FACF,CACF,CAAC,CACAqB,SAAS,CACR,IAAIrB,MAAM,CAAC,cAAc,EAAE,+CAA+C,CAC5E,CAAC,CACAqB,SAAS,CAAC,IAAIrB,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC,CACrEqB,SAAS,CACR,IAAIrB,MAAM,CACR,oCAAoC,EACpC,iDACF,CACF,CAAC,CACAqB,SAAS,CACR,IAAIrB,MAAM,CACR,6CAA6C,EAC7C,iDACF,CACF,CAAC,CACAsB,WAAW,CACV,OAAO,EACN,mBAAkB,GAChB,8FAA6F,GAC7F,uBAAsBrB,CAAC,CAACsB,SAAU,IAAGtB,CAAC,CAACuB,QAAS,KAAIvB,CAAC,CAACwB,QAAS,KAAI,CAClE,YAAY,CACb,GACA,gFAA+E,GAC/E,+BAA8BxB,CAAC,CAACyB,IAAK,kBAAiBzB,CAAC,CAAC0B,SAAU,IAAG1B,CAAC,CAACsB,SAAU,KAAI,CACpF,YAAY,CACb,GACA,6HAA4H,GAC5H,+BAA8BtB,CAAC,CAACyB,IAAK,kBAAiBzB,CAAC,CAAC0B,SAAU,IAAG1B,CAAC,CAAC2B,MAAO,KAAI,CACjF,YAAY,CAElB,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,IAAI,EAAEN,QAAQ,EAAEO,OAAO,EAAEC,OAAO,KAAK;EAChDA,OAAO,CAACC,wBAAwB,CAACJ,IAAI,EAAEC,IAAI,EAAEN,QAAQ,EAAEO,OAAO,EAAEC,OAAO,CAAC;EACxElC,KAAK,CAACoC,YAAY,CAACH,OAAO,CAACI,SAAS,CAAC;EACrCrC,KAAK,CAACsC,eAAe,CAACL,OAAO,CAACM,YAAY,CAAC;EAC3C,IAAIN,OAAO,CAACO,qBAAqB,EAAE;IACjCxC,KAAK,CAACyC,wBAAwB,CAACR,OAAO,CAACO,qBAAqB,CAAC;EAC/D;EACA,IAAIP,OAAO,CAACS,6BAA6B,EAAE;IACzC1C,KAAK,CAAC2C,gCAAgC,CACpCC,IAAI,CAACC,KAAK,CAACZ,OAAO,CAACS,6BAA6B,CAClD,CAAC;EACH;EACA,MAAMI,MAAM,GACVb,OAAO,CAACc,EAAE,IACV,CAAC/C,KAAK,CAACgD,mBAAmB,CAAC,CAAC,IAC5B,CAAChD,KAAK,CAACiD,oBAAoB,CAAC,CAAC;EAC/B,MAAMC,aAAa,GACjBjB,OAAO,CAACkB,MAAM,IACd,CAACnD,KAAK,CAACoD,YAAY,CAAC,CAAC,IACrB,CAACpD,KAAK,CAACqD,eAAe,CAAC,CAAC,IACxBP,MAAM;EACR,MAAMQ,gBAAgB,GAAGR,MAAM,IAAII,aAAa;EAChD,IACGjB,OAAO,CAACsB,QAAQ,KAAK,MAAM/C,SAAS,CAAC8C,gBAAgB,CAAC,CAAC,IACxD,CAACrB,OAAO,CAACsB,QAAQ,EACjB;IACAjD,cAAc,CACX,wCAAuCN,KAAK,CAACwD,OAAO,CAAC,CAAE,KAC1D,CAAC;IACD;IACA,IACEvB,OAAO,CAACsB,QAAQ,IAChBvD,KAAK,CAACyD,iBAAiB,CAAC,CAAC,KAAK/C,yBAAyB,IACvDuB,OAAO,CAACc,EAAE,KACT,MAAMlC,iCAAiC,CAAC,CAAC,CAAC,EAC3C;MACA;MACA,IAAIoB,OAAO,CAACN,IAAI,IAAIM,OAAO,CAACL,SAAS,EAAE;QACrCtB,cAAc,CAAE,0CAAyC,CAAC;QAC1D,IACE,MAAMH,yBAAyB,CAC7B8B,OAAO,CAACN,IAAI,EACZM,OAAO,CAACL,SAAS,EACjBK,OAAO,CAACsB,QACV,CAAC,EACD;UACAlD,YAAY,CACT,+CAA8C4B,OAAO,CAACN,IAAK,cAC9D,CAAC;QACH;MACF;MACA;MAAA,KACK,IAAI,CAAC3B,KAAK,CAACgD,mBAAmB,CAAC,CAAC,EAAE;QACrC,IAAI;UACF1C,cAAc,CAAE,6BAA4B,CAAC;UAC7C,MAAMyC,EAAE,GAAG,MAAM/B,oBAAoB,CAAC,CAAC;UACvCX,YAAY,CACT,qCAAoC0C,EAAE,CAACW,IAAK,YAAWX,EAAE,CAACY,GAAI,cACjE,CAAC;QACH,CAAC,CAAC,OAAOC,KAAK,EAAE;UAAA,IAAAC,eAAA,EAAAC,gBAAA;UACdzD,YAAY,EAAAwD,eAAA,GAACD,KAAK,CAACG,QAAQ,cAAAF,eAAA,uBAAdA,eAAA,CAAgBG,IAAI,EAAE,OAAO,CAAC;UAC3C3D,YAAY,CACT,mCAAgC,CAAAyD,gBAAA,GAAEF,KAAK,CAACG,QAAQ,cAAAD,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBE,IAAI,cAAAF,gBAAA,uBAApBA,gBAAA,CAAsBG,OAAQ,EAAC,EAClE,OACF,CAAC;UACDC,OAAO,CAACC,QAAQ,GAAG,CAAC;QACtB;MACF;IACF;IACA;IAAA,KACK,IACH,CAAClC,OAAO,CAACsB,QAAQ,IACjBtB,OAAO,CAACN,IAAI,IACZM,OAAO,CAACL,SAAS,IACjBK,OAAO,CAACc,EAAE,EACV;MACA5C,yBAAyB,CACvB8B,OAAO,CAACN,IAAI,EACZM,OAAO,CAACL,SAAS,EACjBK,OAAO,CAACsB,QACV,CAAC;IACH;IACA;IACAjD,cAAc,CAAC2B,OAAO,CAAC;IACvB3B,cAAc,CAACN,KAAK,CAAC;IACrB,IACEiC,OAAO,CAACsB,QAAQ,IAChBvD,KAAK,CAACyD,iBAAiB,CAAC,CAAC,KAAK/C,yBAAyB,IACvDwC,aAAa,EACb;MACA;MACA,IAAIjB,OAAO,CAACI,SAAS,IAAIJ,OAAO,CAACM,YAAY,EAAE;QAC7CjC,cAAc,CAAE,iDAAgD,CAAC;QACjE,IACE,MAAMH,yBAAyB,CAC7B8B,OAAO,CAACI,SAAS,EACjBJ,OAAO,CAACM,YAAY,EACpBN,OAAO,CAACsB,QACV,CAAC,EACD;UACAlD,YAAY,CACT,qBAAoB4B,OAAO,CAACI,SAAU,cACzC,CAAC;QACH;MACF;MACA;MAAA,KACK,IAAI,CAACrC,KAAK,CAACoD,YAAY,CAAC,CAAC,EAAE;QAC9B,IAAI;UACF,MAAMgB,KAAK,GAAG,MAAMhE,cAAc,CAAC,CAAC;UACpCJ,KAAK,CAACoC,YAAY,CAACgC,KAAK,CAACC,UAAoB,CAAC;UAC9CrE,KAAK,CAACsC,eAAe,CAAC8B,KAAK,CAACE,cAAwB,CAAC;UACrDjE,YAAY,CACT,uBAAsB+D,KAAK,CAACC,UAAW,cAC1C,CAAC;QACH,CAAC,CAAC,OAAOT,KAAK,EAAE;UAAA,IAAAW,gBAAA,EAAAC,gBAAA;UACdnE,YAAY,EAAAkE,gBAAA,GAACX,KAAK,CAACG,QAAQ,cAAAQ,gBAAA,uBAAdA,gBAAA,CAAgBP,IAAI,EAAE,OAAO,CAAC;UAC3C3D,YAAY,CACT,0CAAuC,CAAAmE,gBAAA,GAAEZ,KAAK,CAACG,QAAQ,cAAAS,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBR,IAAI,cAAAQ,gBAAA,uBAApBA,gBAAA,CAAsBP,OAAQ,EAAC,EACzE,OACF,CAAC;UACDC,OAAO,CAACC,QAAQ,GAAG,CAAC;QACtB;MACF;IACF;IACA;IACA;IACA,IAAI,MAAMlD,qBAAqB,CAACc,IAAI,CAAC,EAAE;MACrC1B,YAAY,CAAE,4BAA2BL,KAAK,CAACwD,OAAO,CAAC,CAAE,EAAC,CAAC;IAC7D,CAAC,MAAM;MACLU,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhD,OAAO,CAAC0B,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { FrodoStubCommand } from '../FrodoCommand';
2
1
  import path from 'path';
3
2
  import { fileURLToPath } from 'url';
3
+ import { FrodoStubCommand } from '../FrodoCommand';
4
4
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  export default function setup() {
6
6
  const program = new FrodoStubCommand('conn').alias('connection')
@@ -12,4 +12,4 @@ export default function setup() {
12
12
  program.command('list', 'List connection profiles.');
13
13
  return program;
14
14
  }
15
- //# sourceMappingURL=conn.js.map
15
+ //# sourceMappingURL=conn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conn.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","alias","description","executableDir","command"],"sources":["cli/conn/conn.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('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,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,MAAM,CAAC,CACzCU,KAAK,CAAC,YAAY;EACnB;EAAA,CACCA,KAAK,CAAC,aAAa,CAAC,CACpBC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,aAAa,CAACT,SAAS,CAAC;EAE3BM,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
+ {"version":3,"file":"conn.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","alias","description","executableDir","command"],"sources":["../../../src/cli/conn/conn.ts"],"sourcesContent":["import path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FrodoStubCommand } from '../FrodoCommand';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('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,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,MAAM,CAAC,CACzCQ,KAAK,CAAC,YAAY;EACnB;EAAA,CACCA,KAAK,CAAC,aAAa,CAAC,CACpBC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,aAAa,CAACT,SAAS,CAAC;EAE3BM,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,25 +1,28 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo, state } from '@rockcarver/frodo-lib';
2
+ import { Option } from 'commander';
3
+ import { exportEmailTemplatesToFile, exportEmailTemplatesToFiles, exportEmailTemplateToFile } from '../../ops/EmailTemplateOps';
4
4
  import { printMessage, verboseMessage } from '../../utils/Console.js';
5
- import { exportEmailTemplateToFile, exportEmailTemplatesToFile, exportEmailTemplatesToFiles } from '../../ops/EmailTemplateOps';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo email template export');
7
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(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
14
  // export by id/name
12
- if (options.templateId && (await frodo.login.getTokens())) {
15
+ if (options.templateId && (await getTokens())) {
13
16
  verboseMessage(`Exporting email template "${options.templateId}" from realm "${state.getRealm()}"...`);
14
17
  exportEmailTemplateToFile(options.templateId, options.file);
15
18
  }
16
19
  // --all -a
17
- else if (options.all && (await frodo.login.getTokens())) {
20
+ else if (options.all && (await getTokens())) {
18
21
  verboseMessage('Exporting all email templates to a single file...');
19
22
  exportEmailTemplatesToFile(options.file);
20
23
  }
21
24
  // --all-separate -A
22
- else if (options.allSeparate && (await frodo.login.getTokens())) {
25
+ else if (options.allSeparate && (await getTokens())) {
23
26
  verboseMessage('Exporting all email templates to separate files...');
24
27
  exportEmailTemplatesToFiles();
25
28
  }
@@ -34,4 +37,4 @@ async (host, realm, user, password, options, command) => {
34
37
  );
35
38
 
36
39
  program.parse();
37
- //# sourceMappingURL=email-template-export.js.map
40
+ //# sourceMappingURL=email-template-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-template-export.js","names":["FrodoCommand","Option","frodo","state","printMessage","verboseMessage","exportEmailTemplateToFile","exportEmailTemplatesToFile","exportEmailTemplatesToFiles","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","templateId","login","getTokens","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 { frodo, 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 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 frodo.login.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 frodo.login.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 frodo.login.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,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SACEC,yBAAyB,EACzBC,0BAA0B,EAC1BC,2BAA2B,QACtB,4BAA4B;AAEnC,MAAMC,OAAO,GAAG,IAAIT,YAAY,CAAC,6BAA6B,CAAC;AAE/DS,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIV,MAAM,CACR,iCAAiC,EACjC,8DACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,0FACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,+DACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,0GACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,UAAU,KAAK,MAAMlB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACzDjB,cAAc,CACX,6BACCY,OAAO,CAACG,UACT,iBAAgBjB,KAAK,CAACoB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDjB,yBAAyB,CAACW,OAAO,CAACG,UAAU,EAAEH,OAAO,CAACO,IAAI,CAAC;EAC7D;EACA;EAAA,KACK,IAAIP,OAAO,CAACQ,GAAG,KAAK,MAAMvB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACvDjB,cAAc,CAAC,mDAAmD,CAAC;IACnEE,0BAA0B,CAACU,OAAO,CAACO,IAAI,CAAC;EAC1C;EACA;EAAA,KACK,IAAIP,OAAO,CAACS,WAAW,KAAK,MAAMxB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IAC/DjB,cAAc,CAAC,oDAAoD,CAAC;IACpEG,2BAA2B,CAAC,CAAC;EAC/B;EACA;EAAA,KACK;IACHJ,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACkB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHpB,OAAO,CAACqB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"email-template-export.js","names":["frodo","state","Option","exportEmailTemplatesToFile","exportEmailTemplatesToFiles","exportEmailTemplateToFile","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","templateId","getRealm","file","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/email/email-template-export.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n exportEmailTemplatesToFile,\n exportEmailTemplatesToFiles,\n exportEmailTemplateToFile,\n} from '../../ops/EmailTemplateOps';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\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,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,yBAAyB,QACpB,4BAA4B;AACnC,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGT,KAAK,CAACU,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,6BAA6B,CAAC;AAE/DG,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIX,MAAM,CACR,iCAAiC,EACjC,8DACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,0FACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,+DACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,0GACF,CACF,CAAC,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,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,UAAU,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IAC7CF,cAAc,CACX,6BACCY,OAAO,CAACG,UACT,iBAAgBrB,KAAK,CAACsB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDlB,yBAAyB,CAACc,OAAO,CAACG,UAAU,EAAEH,OAAO,CAACK,IAAI,CAAC;EAC7D;EACA;EAAA,KACK,IAAIL,OAAO,CAACM,GAAG,KAAK,MAAMhB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CF,cAAc,CAAC,mDAAmD,CAAC;IACnEJ,0BAA0B,CAACgB,OAAO,CAACK,IAAI,CAAC;EAC1C;EACA;EAAA,KACK,IAAIL,OAAO,CAACO,WAAW,KAAK,MAAMjB,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDF,cAAc,CAAC,oDAAoD,CAAC;IACpEH,2BAA2B,CAAC,CAAC;EAC/B;EACA;EAAA,KACK;IACHE,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACgB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHlB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
@@ -1,30 +1,33 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { printMessage, verboseMessage } from '../../utils/Console.js';
2
+ import { Option } from 'commander';
5
3
  import { importEmailTemplateFromFile, importEmailTemplatesFromFile, importEmailTemplatesFromFiles, importFirstEmailTemplateFromFile } from '../../ops/EmailTemplateOps';
4
+ import { printMessage, verboseMessage } from '../../utils/Console.js';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo email template import');
7
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.')).addOption(new Option('--raw', "Import raw email template files. Raw templates do not contain the id/name, therefore when using -A or -f without -i, the email template id/name is parsed from the file name; Make sure your template files are named 'emailTemplate-<id/name>.json' or use -f with -i. Ignored with -a.")).action(
8
11
  // implement program logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
14
  // import by id
12
- if (options.file && options.templateId && (await frodo.login.getTokens())) {
15
+ if (options.file && options.templateId && (await getTokens())) {
13
16
  verboseMessage(`Importing email template "${options.templateId}"...`);
14
17
  importEmailTemplateFromFile(options.templateId, options.file, options.raw);
15
18
  }
16
19
  // --all -a
17
- else if (options.all && options.file && (await frodo.login.getTokens())) {
20
+ else if (options.all && options.file && (await getTokens())) {
18
21
  verboseMessage(`Importing all email templates from a single file (${options.file})...`);
19
22
  importEmailTemplatesFromFile(options.file);
20
23
  }
21
24
  // --all-separate -A
22
- else if (options.allSeparate && !options.file && (await frodo.login.getTokens())) {
25
+ else if (options.allSeparate && !options.file && (await getTokens())) {
23
26
  verboseMessage('Importing all email templates from separate files (*.template.email.json) in current directory...');
24
27
  importEmailTemplatesFromFiles(options.raw);
25
28
  }
26
29
  // import first template from file
27
- else if (options.file && (await frodo.login.getTokens())) {
30
+ else if (options.file && (await getTokens())) {
28
31
  verboseMessage(`Importing first email template from file "${options.file}"...`);
29
32
  importFirstEmailTemplateFromFile(options.file, options.raw);
30
33
  }
@@ -39,4 +42,4 @@ async (host, realm, user, password, options, command) => {
39
42
  );
40
43
 
41
44
  program.parse();
42
- //# sourceMappingURL=email-template-import.js.map
45
+ //# sourceMappingURL=email-template-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-template-import.js","names":["FrodoCommand","Option","frodo","printMessage","verboseMessage","importEmailTemplateFromFile","importEmailTemplatesFromFile","importEmailTemplatesFromFiles","importFirstEmailTemplateFromFile","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","templateId","login","getTokens","raw","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/email/email-template-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } 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 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 .addOption(\n new Option(\n '--raw',\n \"Import raw email template files. Raw templates do not contain the id/name, therefore when using -A or -f without -i, the email template id/name is parsed from the file name; Make sure your template files are named 'emailTemplate-<id/name>.json' or use -f with -i. Ignored with -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 (\n options.file &&\n options.templateId &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(`Importing email template \"${options.templateId}\"...`);\n importEmailTemplateFromFile(\n options.templateId,\n options.file,\n options.raw\n );\n }\n // --all -a\n else if (options.all && options.file && (await frodo.login.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 (\n options.allSeparate &&\n !options.file &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n 'Importing all email templates from separate files (*.template.email.json) in current directory...'\n );\n importEmailTemplatesFromFiles(options.raw);\n }\n // import first template from file\n else if (options.file && (await frodo.login.getTokens())) {\n verboseMessage(\n `Importing first email template from file \"${options.file}\"...`\n );\n importFirstEmailTemplateFromFile(options.file, options.raw);\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,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SACEC,2BAA2B,EAC3BC,4BAA4B,EAC5BC,6BAA6B,EAC7BC,gCAAgC,QAC3B,4BAA4B;AAEnC,MAAMC,OAAO,GAAG,IAAIT,YAAY,CAAC,6BAA6B,CAAC;AAE/DS,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIV,MAAM,CACR,iCAAiC,EACjC,8DACF,CACF,CAAC,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,+DACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,yHACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,OAAO,EACP,0RACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IACED,OAAO,CAACG,IAAI,IACZH,OAAO,CAACI,UAAU,KACjB,MAAMnB,KAAK,CAACoB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAnB,cAAc,CAAE,6BAA4Ba,OAAO,CAACI,UAAW,MAAK,CAAC;IACrEhB,2BAA2B,CACzBY,OAAO,CAACI,UAAU,EAClBJ,OAAO,CAACG,IAAI,EACZH,OAAO,CAACO,GACV,CAAC;EACH;EACA;EAAA,KACK,IAAIP,OAAO,CAACQ,GAAG,IAAIR,OAAO,CAACG,IAAI,KAAK,MAAMlB,KAAK,CAACoB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACvEnB,cAAc,CACX,qDAAoDa,OAAO,CAACG,IAAK,MACpE,CAAC;IACDd,4BAA4B,CAACW,OAAO,CAACG,IAAI,CAAC;EAC5C;EACA;EAAA,KACK,IACHH,OAAO,CAACS,WAAW,IACnB,CAACT,OAAO,CAACG,IAAI,KACZ,MAAMlB,KAAK,CAACoB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAnB,cAAc,CACZ,mGACF,CAAC;IACDG,6BAA6B,CAACU,OAAO,CAACO,GAAG,CAAC;EAC5C;EACA;EAAA,KACK,IAAIP,OAAO,CAACG,IAAI,KAAK,MAAMlB,KAAK,CAACoB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACxDnB,cAAc,CACX,6CAA4Ca,OAAO,CAACG,IAAK,MAC5D,CAAC;IACDZ,gCAAgC,CAACS,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACO,GAAG,CAAC;EAC7D;EACA;EAAA,KACK;IACHrB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDM,OAAO,CAACkB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHpB,OAAO,CAACqB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"email-template-import.js","names":["frodo","Option","importEmailTemplateFromFile","importEmailTemplatesFromFile","importEmailTemplatesFromFiles","importFirstEmailTemplateFromFile","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","templateId","raw","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/email/email-template-import.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n importEmailTemplateFromFile,\n importEmailTemplatesFromFile,\n importEmailTemplatesFromFiles,\n importFirstEmailTemplateFromFile,\n} from '../../ops/EmailTemplateOps';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\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 .addOption(\n new Option(\n '--raw',\n \"Import raw email template files. Raw templates do not contain the id/name, therefore when using -A or -f without -i, the email template id/name is parsed from the file name; Make sure your template files are named 'emailTemplate-<id/name>.json' or use -f with -i. Ignored with -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(\n options.templateId,\n options.file,\n options.raw\n );\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(options.raw);\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, options.raw);\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,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,2BAA2B,EAC3BC,4BAA4B,EAC5BC,6BAA6B,EAC7BC,gCAAgC,QAC3B,4BAA4B;AACnC,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGT,KAAK,CAACU,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,6BAA6B,CAAC;AAE/DG,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIZ,MAAM,CACR,iCAAiC,EACjC,8DACF,CACF,CAAC,CACAY,SAAS,CAAC,IAAIZ,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEY,SAAS,CACR,IAAIZ,MAAM,CACR,WAAW,EACX,+DACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,oBAAoB,EACpB,yHACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,OAAO,EACP,0RACF,CACF,CAAC,CACAa,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,IAAIH,OAAO,CAACI,UAAU,KAAK,MAAMd,SAAS,CAAC,CAAC,CAAC,EAAE;IAC7DF,cAAc,CAAE,6BAA4BY,OAAO,CAACI,UAAW,MAAK,CAAC;IACrErB,2BAA2B,CACzBiB,OAAO,CAACI,UAAU,EAClBJ,OAAO,CAACG,IAAI,EACZH,OAAO,CAACK,GACV,CAAC;EACH;EACA;EAAA,KACK,IAAIL,OAAO,CAACM,GAAG,IAAIN,OAAO,CAACG,IAAI,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3DF,cAAc,CACX,qDAAoDY,OAAO,CAACG,IAAK,MACpE,CAAC;IACDnB,4BAA4B,CAACgB,OAAO,CAACG,IAAI,CAAC;EAC5C;EACA;EAAA,KACK,IAAIH,OAAO,CAACO,WAAW,IAAI,CAACP,OAAO,CAACG,IAAI,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IACpEF,cAAc,CACZ,mGACF,CAAC;IACDH,6BAA6B,CAACe,OAAO,CAACK,GAAG,CAAC;EAC5C;EACA;EAAA,KACK,IAAIL,OAAO,CAACG,IAAI,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CF,cAAc,CACX,6CAA4CY,OAAO,CAACG,IAAK,MAC5D,CAAC;IACDjB,gCAAgC,CAACc,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACK,GAAG,CAAC;EAC7D;EACA;EAAA,KACK;IACHlB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACgB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHlB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
@@ -1,14 +1,17 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { verboseMessage } from '../../utils/Console.js';
2
+ import { Option } from 'commander';
5
3
  import { listEmailTemplates } from '../../ops/EmailTemplateOps';
4
+ import { verboseMessage } from '../../utils/Console.js';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo email template list');
7
10
  program.description('List email templates.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
- if (await frodo.login.getTokens()) {
14
+ if (await getTokens()) {
12
15
  verboseMessage(`Listing email templates ...`);
13
16
  listEmailTemplates(options.long);
14
17
  } else {
@@ -19,4 +22,4 @@ async (host, realm, user, password, options, command) => {
19
22
  );
20
23
 
21
24
  program.parse();
22
- //# sourceMappingURL=email-template-list.js.map
25
+ //# sourceMappingURL=email-template-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-template-list.js","names":["FrodoCommand","Option","frodo","verboseMessage","listEmailTemplates","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","long","process","exitCode","parse"],"sources":["cli/email/email-template-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { listEmailTemplates } from '../../ops/EmailTemplateOps';\n\nconst program = new FrodoCommand('frodo email template list');\n\nprogram\n .description('List email templates.')\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 frodo.login.getTokens()) {\n verboseMessage(`Listing email templates ...`);\n listEmailTemplates(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,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,kBAAkB,QAAQ,4BAA4B;AAE/D,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,2BAA2B,CAAC;AAE7DK,OAAO,CACJC,WAAW,CAAC,uBAAuB,CAAC,CACpCC,SAAS,CACR,IAAIN,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACO,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,KAAK,CAACe,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCf,cAAc,CAAE,6BAA4B,CAAC;IAC7CC,kBAAkB,CAACU,OAAO,CAACK,IAAI,CAAC;EAClC,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACiB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"email-template-list.js","names":["frodo","Option","listEmailTemplates","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","long","process","exitCode","parse"],"sources":["../../../src/cli/email/email-template-list.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { listEmailTemplates } from '../../ops/EmailTemplateOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo email template list');\n\nprogram\n .description('List email templates.')\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 email templates ...`);\n listEmailTemplates(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,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,kBAAkB,QAAQ,4BAA4B;AAC/D,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,2BAA2B,CAAC;AAE7DG,OAAO,CACJC,WAAW,CAAC,uBAAuB,CAAC,CACpCC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,cAAc,CAAE,6BAA4B,CAAC;IAC7CD,kBAAkB,CAACc,OAAO,CAACG,IAAI,CAAC;EAClC,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
@@ -5,4 +5,4 @@ program.command('list', 'List email templates.');
5
5
  program.command('export', 'Export email templates.');
6
6
  program.command('import', 'Import email templates.');
7
7
  program.parse();
8
- //# sourceMappingURL=email-template.js.map
8
+ //# sourceMappingURL=email-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-template.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["cli/email/email-template.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo email template');\n\nprogram.description('Manage email templates.');\n\nprogram.command('list', 'List email templates.');\n\nprogram.command('export', 'Export email templates.');\n\nprogram.command('import', 'Import email templates.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,sBAAsB,CAAC;AAE5DC,OAAO,CAACC,WAAW,CAAC,yBAAyB,CAAC;AAE9CD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC;AAEhDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC;AAEpDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC;AAEpDF,OAAO,CAACG,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"email-template.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["../../../src/cli/email/email-template.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo email template');\n\nprogram.description('Manage email templates.');\n\nprogram.command('list', 'List email templates.');\n\nprogram.command('export', 'Export email templates.');\n\nprogram.command('import', 'Import email templates.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,sBAAsB,CAAC;AAE5DC,OAAO,CAACC,WAAW,CAAC,yBAAyB,CAAC;AAE9CD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC;AAEhDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC;AAEpDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC;AAEpDF,OAAO,CAACG,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { FrodoStubCommand } from '../FrodoCommand';
2
1
  import path from 'path';
3
2
  import { fileURLToPath } from 'url';
3
+ import { FrodoStubCommand } from '../FrodoCommand';
4
4
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  export default function setup() {
6
6
  const program = new FrodoStubCommand('email').description('Manage email templates and configuration.').executableDir(__dirname);
@@ -8,4 +8,4 @@ export default function setup() {
8
8
  program.showHelpAfterError();
9
9
  return program;
10
10
  }
11
- //# sourceMappingURL=email.js.map
11
+ //# sourceMappingURL=email.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command","showHelpAfterError"],"sources":["cli/email/email.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('email')\n .description('Manage email templates and configuration.')\n .executableDir(__dirname);\n\n program.command('template', 'Manage email templates.').showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,OAAO,CAAC,CAC1CU,WAAW,CAAC,2CAA2C,CAAC,CACxDC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAACC,kBAAkB,CAAC,CAAC;EAE3EJ,OAAO,CAACI,kBAAkB,CAAC,CAAC;EAC5B,OAAOJ,OAAO;AAChB"}
1
+ {"version":3,"file":"email.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command","showHelpAfterError"],"sources":["../../../src/cli/email/email.ts"],"sourcesContent":["import path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FrodoStubCommand } from '../FrodoCommand';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('email')\n .description('Manage email templates and configuration.')\n .executableDir(__dirname);\n\n program.command('template', 'Manage email templates.').showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,OAAO,CAAC,CAC1CQ,WAAW,CAAC,2CAA2C,CAAC,CACxDC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAACC,kBAAkB,CAAC,CAAC;EAE3EJ,OAAO,CAACI,kBAAkB,CAAC,CAAC;EAC5B,OAAOJ,OAAO;AAChB"}