@rockcarver/frodo-cli 0.18.2-9 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/CHANGELOG.md +112 -1
  2. package/esm/app.js +4 -1
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +133 -0
  5. package/esm/cli/FrodoCommand.js.map +1 -0
  6. package/esm/cli/_template/something-delete.js +9 -15
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +9 -15
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +9 -15
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +9 -15
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +9 -15
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +9 -15
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +9 -15
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +8 -8
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +9 -15
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +9 -15
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +9 -15
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +9 -15
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +9 -15
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +9 -15
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +9 -15
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +9 -15
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +8 -8
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +9 -10
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +8 -15
  43. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  44. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +9 -15
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-get-access-token.js +9 -15
  47. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  48. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +9 -15
  49. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  50. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +9 -15
  51. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  52. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +8 -15
  53. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  54. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +8 -15
  55. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  56. package/esm/cli/admin/admin-list-static-user-mappings.js +9 -15
  57. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  58. package/esm/cli/admin/admin-remove-static-user-mapping.js +8 -15
  59. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  60. package/esm/cli/admin/admin-repair-org-model.js +9 -15
  61. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  62. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +9 -15
  63. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-show-generic-extension-attributes.js +9 -15
  65. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  66. package/esm/cli/admin/admin.js +14 -15
  67. package/esm/cli/admin/admin.js.map +1 -1
  68. package/esm/cli/agent/agent-delete.js +8 -15
  69. package/esm/cli/agent/agent-delete.js.map +1 -1
  70. package/esm/cli/agent/agent-describe.js +9 -15
  71. package/esm/cli/agent/agent-describe.js.map +1 -1
  72. package/esm/cli/agent/agent-export.js +8 -15
  73. package/esm/cli/agent/agent-export.js.map +1 -1
  74. package/esm/cli/agent/agent-gateway-delete.js +8 -15
  75. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-describe.js +9 -15
  77. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-export.js +8 -15
  79. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  80. package/esm/cli/agent/agent-gateway-import.js +8 -15
  81. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-list.js +9 -15
  83. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway.js +8 -8
  85. package/esm/cli/agent/agent-gateway.js.map +1 -1
  86. package/esm/cli/agent/agent-import.js +8 -15
  87. package/esm/cli/agent/agent-import.js.map +1 -1
  88. package/esm/cli/agent/agent-java-delete.js +8 -15
  89. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-java-describe.js +9 -15
  91. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-java-export.js +8 -15
  93. package/esm/cli/agent/agent-java-export.js.map +1 -1
  94. package/esm/cli/agent/agent-java-import.js +8 -15
  95. package/esm/cli/agent/agent-java-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-list.js +9 -15
  97. package/esm/cli/agent/agent-java-list.js.map +1 -1
  98. package/esm/cli/agent/agent-java.js +8 -8
  99. package/esm/cli/agent/agent-java.js.map +1 -1
  100. package/esm/cli/agent/agent-list.js +9 -15
  101. package/esm/cli/agent/agent-list.js.map +1 -1
  102. package/esm/cli/agent/agent-web-delete.js +8 -15
  103. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  104. package/esm/cli/agent/agent-web-describe.js +9 -15
  105. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  106. package/esm/cli/agent/agent-web-export.js +8 -15
  107. package/esm/cli/agent/agent-web-export.js.map +1 -1
  108. package/esm/cli/agent/agent-web-import.js +8 -15
  109. package/esm/cli/agent/agent-web-import.js.map +1 -1
  110. package/esm/cli/agent/agent-web-list.js +9 -15
  111. package/esm/cli/agent/agent-web-list.js.map +1 -1
  112. package/esm/cli/agent/agent-web.js +8 -8
  113. package/esm/cli/agent/agent-web.js.map +1 -1
  114. package/esm/cli/agent/agent.js +10 -11
  115. package/esm/cli/agent/agent.js.map +1 -1
  116. package/esm/cli/app/app-delete.js +9 -12
  117. package/esm/cli/app/app-delete.js.map +1 -1
  118. package/esm/cli/app/app-describe.js +9 -12
  119. package/esm/cli/app/app-describe.js.map +1 -1
  120. package/esm/cli/app/app-export.js +28 -34
  121. package/esm/cli/app/app-export.js.map +1 -1
  122. package/esm/cli/app/app-import.js +11 -14
  123. package/esm/cli/app/app-import.js.map +1 -1
  124. package/esm/cli/app/app-list.js +11 -14
  125. package/esm/cli/app/app-list.js.map +1 -1
  126. package/esm/cli/app/app.js +8 -10
  127. package/esm/cli/app/app.js.map +1 -1
  128. package/esm/cli/conn/conn-delete.js +5 -5
  129. package/esm/cli/conn/conn-delete.js.map +1 -1
  130. package/esm/cli/conn/conn-describe.js +6 -5
  131. package/esm/cli/conn/conn-describe.js.map +1 -1
  132. package/esm/cli/conn/conn-list.js +6 -8
  133. package/esm/cli/conn/conn-list.js.map +1 -1
  134. package/esm/cli/conn/conn-save.js +72 -0
  135. package/esm/cli/conn/conn-save.js.map +1 -0
  136. package/esm/cli/conn/conn.js +10 -8
  137. package/esm/cli/conn/conn.js.map +1 -1
  138. package/esm/cli/email/email-template-export.js +27 -33
  139. package/esm/cli/email/email-template-export.js.map +1 -1
  140. package/esm/cli/email/email-template-import.js +33 -39
  141. package/esm/cli/email/email-template-import.js.map +1 -1
  142. package/esm/cli/email/email-template-list.js +11 -14
  143. package/esm/cli/email/email-template-list.js.map +1 -1
  144. package/esm/cli/email/email-template.js +6 -6
  145. package/esm/cli/email/email-template.js.map +1 -1
  146. package/esm/cli/email/email.js +2 -2
  147. package/esm/cli/email/email.js.map +1 -1
  148. package/esm/cli/esv/esv-apply.js +9 -12
  149. package/esm/cli/esv/esv-apply.js.map +1 -1
  150. package/esm/cli/esv/esv-secret-create.js +11 -14
  151. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  152. package/esm/cli/esv/esv-secret-delete.js +23 -29
  153. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  154. package/esm/cli/esv/esv-secret-describe.js +11 -14
  155. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  156. package/esm/cli/esv/esv-secret-export.js +9 -12
  157. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  158. package/esm/cli/esv/esv-secret-import.js +9 -12
  159. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  160. package/esm/cli/esv/esv-secret-list.js +11 -14
  161. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  162. package/esm/cli/esv/esv-secret-set.js +11 -14
  163. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  164. package/esm/cli/esv/esv-secret-version-activate.js +18 -24
  165. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  166. package/esm/cli/esv/esv-secret-version-create.js +11 -14
  167. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  168. package/esm/cli/esv/esv-secret-version-deactivate.js +18 -24
  169. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  170. package/esm/cli/esv/esv-secret-version-delete.js +23 -29
  171. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  172. package/esm/cli/esv/esv-secret-version-list.js +11 -14
  173. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  174. package/esm/cli/esv/esv-secret-version.js +8 -8
  175. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  176. package/esm/cli/esv/esv-secret.js +11 -11
  177. package/esm/cli/esv/esv-secret.js.map +1 -1
  178. package/esm/cli/esv/esv-variable-create.js +10 -14
  179. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  180. package/esm/cli/esv/esv-variable-delete.js +23 -29
  181. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  182. package/esm/cli/esv/esv-variable-describe.js +11 -14
  183. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  184. package/esm/cli/esv/esv-variable-export.js +9 -12
  185. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  186. package/esm/cli/esv/esv-variable-import.js +9 -12
  187. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  188. package/esm/cli/esv/esv-variable-list.js +11 -14
  189. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  190. package/esm/cli/esv/esv-variable-set.js +19 -26
  191. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  192. package/esm/cli/esv/esv-variable.js +10 -10
  193. package/esm/cli/esv/esv-variable.js.map +1 -1
  194. package/esm/cli/esv/esv.js +5 -6
  195. package/esm/cli/esv/esv.js.map +1 -1
  196. package/esm/cli/idm/idm-count.js +12 -17
  197. package/esm/cli/idm/idm-count.js.map +1 -1
  198. package/esm/cli/idm/idm-export.js +29 -39
  199. package/esm/cli/idm/idm-export.js.map +1 -1
  200. package/esm/cli/idm/idm-import.js +29 -39
  201. package/esm/cli/idm/idm-import.js.map +1 -1
  202. package/esm/cli/idm/idm-list.js +11 -17
  203. package/esm/cli/idm/idm-list.js.map +1 -1
  204. package/esm/cli/idm/idm.js +6 -9
  205. package/esm/cli/idm/idm.js.map +1 -1
  206. package/esm/cli/idp/idp-export.js +11 -15
  207. package/esm/cli/idp/idp-export.js.map +1 -1
  208. package/esm/cli/idp/idp-import.js +32 -38
  209. package/esm/cli/idp/idp-import.js.map +1 -1
  210. package/esm/cli/idp/idp-list.js +9 -13
  211. package/esm/cli/idp/idp-list.js.map +1 -1
  212. package/esm/cli/idp/idp.js +5 -6
  213. package/esm/cli/idp/idp.js.map +1 -1
  214. package/esm/cli/info/info.js +19 -20
  215. package/esm/cli/info/info.js.map +1 -1
  216. package/esm/cli/journey/journey-delete.js +22 -28
  217. package/esm/cli/journey/journey-delete.js.map +1 -1
  218. package/esm/cli/journey/journey-describe.js +12 -19
  219. package/esm/cli/journey/journey-describe.js.map +1 -1
  220. package/esm/cli/journey/journey-disable.js +20 -26
  221. package/esm/cli/journey/journey-disable.js.map +1 -1
  222. package/esm/cli/journey/journey-enable.js +20 -26
  223. package/esm/cli/journey/journey-enable.js.map +1 -1
  224. package/esm/cli/journey/journey-export.js +37 -45
  225. package/esm/cli/journey/journey-export.js.map +1 -1
  226. package/esm/cli/journey/journey-import.js +44 -52
  227. package/esm/cli/journey/journey-import.js.map +1 -1
  228. package/esm/cli/journey/journey-list.js +10 -13
  229. package/esm/cli/journey/journey-list.js.map +1 -1
  230. package/esm/cli/journey/journey-prune.js +9 -13
  231. package/esm/cli/journey/journey-prune.js.map +1 -1
  232. package/esm/cli/journey/journey.js +10 -11
  233. package/esm/cli/journey/journey.js.map +1 -1
  234. package/esm/cli/logging/logs-fetch.js +17 -19
  235. package/esm/cli/logging/logs-fetch.js.map +1 -1
  236. package/esm/cli/logging/logs-list.js +19 -25
  237. package/esm/cli/logging/logs-list.js.map +1 -1
  238. package/esm/cli/logging/logs-tail.js +17 -19
  239. package/esm/cli/logging/logs-tail.js.map +1 -1
  240. package/esm/cli/logging/logs.js +7 -6
  241. package/esm/cli/logging/logs.js.map +1 -1
  242. package/esm/cli/realm/realm-add-custom-domain.js +11 -14
  243. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  244. package/esm/cli/realm/realm-describe.js +10 -14
  245. package/esm/cli/realm/realm-describe.js.map +1 -1
  246. package/esm/cli/realm/realm-list.js +11 -14
  247. package/esm/cli/realm/realm-list.js.map +1 -1
  248. package/esm/cli/realm/realm-remove-custom-domain.js +11 -14
  249. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  250. package/esm/cli/realm/realm.js +7 -8
  251. package/esm/cli/realm/realm.js.map +1 -1
  252. package/esm/cli/saml/saml-cot-export.js +27 -36
  253. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  254. package/esm/cli/saml/saml-cot-import.js +32 -41
  255. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  256. package/esm/cli/saml/saml-cot-list.js +10 -16
  257. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  258. package/esm/cli/saml/saml-cot.js +6 -6
  259. package/esm/cli/saml/saml-cot.js.map +1 -1
  260. package/esm/cli/saml/saml-delete.js +8 -15
  261. package/esm/cli/saml/saml-delete.js.map +1 -1
  262. package/esm/cli/saml/saml-describe.js +10 -16
  263. package/esm/cli/saml/saml-describe.js.map +1 -1
  264. package/esm/cli/saml/saml-export.js +9 -16
  265. package/esm/cli/saml/saml-export.js.map +1 -1
  266. package/esm/cli/saml/saml-import.js +45 -54
  267. package/esm/cli/saml/saml-import.js.map +1 -1
  268. package/esm/cli/saml/saml-list.js +11 -17
  269. package/esm/cli/saml/saml-list.js.map +1 -1
  270. package/esm/cli/saml/saml-metadata-export.js +21 -30
  271. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  272. package/esm/cli/saml/saml-metadata.js +4 -4
  273. package/esm/cli/saml/saml-metadata.js.map +1 -1
  274. package/esm/cli/saml/saml.js +9 -10
  275. package/esm/cli/saml/saml.js.map +1 -1
  276. package/esm/cli/script/script-delete.js +9 -12
  277. package/esm/cli/script/script-delete.js.map +1 -1
  278. package/esm/cli/script/script-describe.js +9 -12
  279. package/esm/cli/script/script-describe.js.map +1 -1
  280. package/esm/cli/script/script-export.js +28 -34
  281. package/esm/cli/script/script-export.js.map +1 -1
  282. package/esm/cli/script/script-import.js +10 -13
  283. package/esm/cli/script/script-import.js.map +1 -1
  284. package/esm/cli/script/script-list.js +10 -13
  285. package/esm/cli/script/script-list.js.map +1 -1
  286. package/esm/cli/script/script.js +7 -8
  287. package/esm/cli/script/script.js.map +1 -1
  288. package/esm/cli/service/service-delete.js +10 -16
  289. package/esm/cli/service/service-delete.js.map +1 -1
  290. package/esm/cli/service/service-export.js +12 -17
  291. package/esm/cli/service/service-export.js.map +1 -1
  292. package/esm/cli/service/service-import.js +12 -18
  293. package/esm/cli/service/service-import.js.map +1 -1
  294. package/esm/cli/service/service-list.js +9 -15
  295. package/esm/cli/service/service-list.js.map +1 -1
  296. package/esm/cli/service/service.js +6 -7
  297. package/esm/cli/service/service.js.map +1 -1
  298. package/esm/cli/theme/theme-delete.js +12 -19
  299. package/esm/cli/theme/theme-delete.js.map +1 -1
  300. package/esm/cli/theme/theme-export.js +12 -19
  301. package/esm/cli/theme/theme-export.js.map +1 -1
  302. package/esm/cli/theme/theme-import.js +14 -21
  303. package/esm/cli/theme/theme-import.js.map +1 -1
  304. package/esm/cli/theme/theme-list.js +10 -16
  305. package/esm/cli/theme/theme-list.js.map +1 -1
  306. package/esm/cli/theme/theme.js +6 -7
  307. package/esm/cli/theme/theme.js.map +1 -1
  308. package/esm/ops/ConnectionProfileOps.js +30 -0
  309. package/esm/ops/ConnectionProfileOps.js.map +1 -0
  310. package/esm/ops/IdmOps.js +317 -0
  311. package/esm/ops/IdmOps.js.map +1 -0
  312. package/esm/ops/JourneyOps.js +2 -1
  313. package/esm/ops/JourneyOps.js.map +1 -1
  314. package/esm/ops/ServiceOps.js +20 -20
  315. package/esm/ops/ServiceOps.js.map +1 -1
  316. package/esm/utils/Console.js +15 -25
  317. package/esm/utils/Console.js.map +1 -1
  318. package/package.json +6 -6
  319. package/esm/cli/cmd_common.js +0 -79
  320. package/esm/cli/cmd_common.js.map +0 -1
  321. package/esm/cli/conn/conn-add.js +0 -37
  322. package/esm/cli/conn/conn-add.js.map +0 -1
  323. package/esm/cli/journey/journey-delete.e2e.test_.js.map +0 -1
  324. package/esm/cli/journey/journey-list.e2e.test_.js.map +0 -1
@@ -1,24 +1,21 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
- import { printMessage } from '../../utils/Console.js';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate } from '@rockcarver/frodo-lib';
4
+ import { verboseMessage } from '../../utils/Console.js';
5
5
  import { listEmailTemplates } from '../../ops/EmailTemplateOps';
6
6
  const {
7
7
  getTokens
8
8
  } = Authenticate;
9
- const program = new Command('frodo email template list');
10
- program.description('List email templates.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
9
+ const program = new FrodoCommand('frodo email template list');
10
+ program.description('List email templates.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
11
11
  // implement command logic inside action handler
12
- async (host, realm, user, password, options) => {
13
- state.default.session.setTenant(host);
14
- state.default.session.setRealm(realm);
15
- state.default.session.setUsername(user);
16
- state.default.session.setPassword(password);
17
- state.default.session.setDeploymentType(options.type);
18
- state.default.session.setAllowInsecureConnection(options.insecure);
12
+ async (host, realm, user, password, options, command) => {
13
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
19
14
  if (await getTokens()) {
20
- printMessage(`Listing email templates ...`);
15
+ verboseMessage(`Listing email templates ...`);
21
16
  listEmailTemplates(options.long);
17
+ } else {
18
+ process.exitCode = 1;
22
19
  }
23
20
  }
24
21
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"email-template-list.js","names":["Command","Option","Authenticate","state","common","printMessage","listEmailTemplates","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","long","parse"],"sources":["cli/email/email-template-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\nimport { listEmailTemplates } from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo email template list');\n\nprogram\n .description('List email templates.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(`Listing email templates ...`);\n listEmailTemplates(options.long);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,kBAAkB,QAAQ,4BAA4B;AAE/D,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAElC,MAAMM,OAAO,GAAG,IAAIR,OAAO,CAAC,2BAA2B,CAAC;AAExDQ,OAAO,CACJC,WAAW,CAAC,uBAAuB,CAAC,CACpCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACR,MAAM,CAACS,aAAa,CAAC,CACjCD,WAAW,CAACR,MAAM,CAACU,aAAa,CAAC,CACjCF,WAAW,CAACR,MAAM,CAACW,YAAY,CAAC,CAChCH,WAAW,CAACR,MAAM,CAACY,gBAAgB,CAAC,CACpCC,SAAS,CAACb,MAAM,CAACc,gBAAgB,CAAC,CAClCD,SAAS,CAACb,MAAM,CAACe,cAAc,CAAC,CAChCF,SAAS,CACR,IAAIhB,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACmB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CvB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACC,SAAS,CAACN,IAAI,CAAC;EACrCnB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACE,QAAQ,CAACN,KAAK,CAAC;EACrCpB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACG,WAAW,CAACN,IAAI,CAAC;EACvCrB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACI,WAAW,CAACN,QAAQ,CAAC;EAC3CtB,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACK,iBAAiB,CAACN,OAAO,CAACO,IAAI,CAAC;EACrD9B,KAAK,CAACiB,OAAO,CAACO,OAAO,CAACO,0BAA0B,CAACR,OAAO,CAACS,QAAQ,CAAC;EAClE,IAAI,MAAM5B,SAAS,EAAE,EAAE;IACrBF,YAAY,CAAE,6BAA4B,CAAC;IAC3CC,kBAAkB,CAACoB,OAAO,CAACU,IAAI,CAAC;EAClC;AACF;AACA;AAAA,CACD;;AAEH5B,OAAO,CAAC6B,KAAK,EAAE"}
1
+ {"version":3,"file":"email-template-list.js","names":["FrodoCommand","Option","Authenticate","verboseMessage","listEmailTemplates","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","long","process","exitCode","parse"],"sources":["cli/email/email-template-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { listEmailTemplates } from '../../ops/EmailTemplateOps';\n\nconst { getTokens } = Authenticate;\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,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,kBAAkB,QAAQ,4BAA4B;AAE/D,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAElC,MAAMI,OAAO,GAAG,IAAIN,YAAY,CAAC,2BAA2B,CAAC;AAE7DM,OAAO,CACJC,WAAW,CAAC,uBAAuB,CAAC,CACpCC,SAAS,CACR,IAAIP,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACQ,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMX,SAAS,EAAE,EAAE;IACrBF,cAAc,CAAE,6BAA4B,CAAC;IAC7CC,kBAAkB,CAACW,OAAO,CAACG,IAAI,CAAC;EAClC,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHd,OAAO,CAACe,KAAK,EAAE"}
@@ -1,8 +1,8 @@
1
- import { Command } from 'commander';
2
- const program = new Command('frodo email template');
3
- program.description('Manage email templates.').helpOption('-h, --help', 'Help').showHelpAfterError();
4
- program.command('list', 'List email templates.').showHelpAfterError();
5
- program.command('export', 'Export email templates.').showHelpAfterError();
6
- program.command('import', 'Import email templates.').showHelpAfterError();
1
+ import { FrodoStubCommand } from '../FrodoCommand';
2
+ const program = new FrodoStubCommand('frodo email template');
3
+ program.description('Manage email templates.');
4
+ program.command('list', 'List email templates.');
5
+ program.command('export', 'Export email templates.');
6
+ program.command('import', 'Import email templates.');
7
7
  program.parse();
8
8
  //# sourceMappingURL=email-template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-template.js","names":["Command","program","description","helpOption","showHelpAfterError","command","parse"],"sources":["cli/email/email-template.ts"],"sourcesContent":["import { Command } from 'commander';\n\nconst program = new Command('frodo email template');\n\nprogram\n .description('Manage email templates.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError();\n\nprogram.command('list', 'List email templates.').showHelpAfterError();\n\nprogram.command('export', 'Export email templates.').showHelpAfterError();\n\nprogram.command('import', 'Import email templates.').showHelpAfterError();\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,WAAW;AAEnC,MAAMC,OAAO,GAAG,IAAID,OAAO,CAAC,sBAAsB,CAAC;AAEnDC,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE;AAEvBH,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAACD,kBAAkB,EAAE;AAErEH,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAACD,kBAAkB,EAAE;AAEzEH,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAACD,kBAAkB,EAAE;AAEzEH,OAAO,CAACK,KAAK,EAAE"}
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,EAAE"}
@@ -1,9 +1,9 @@
1
- import { Command } from 'commander';
1
+ import { FrodoStubCommand } from '../FrodoCommand';
2
2
  import path from 'path';
3
3
  import { fileURLToPath } from 'url';
4
4
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  export default function setup() {
6
- const program = new Command('email').helpOption('-h, --help', 'Help').description('Manage email templates and configuration.').executableDir(__dirname);
6
+ const program = new FrodoStubCommand('email').description('Manage email templates and configuration.').executableDir(__dirname);
7
7
  program.command('template', 'Manage email templates.').showHelpAfterError();
8
8
  program.showHelpAfterError();
9
9
  return program;
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/email/email.ts"],"sourcesContent":["import { Command } from 'commander';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new Command('email')\n .helpOption('-h, --help', 'Help')\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,OAAO,QAAQ,WAAW;AACnC,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAK,GAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,OAAO,CAAC,OAAO,CAAC,CACjCU,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,WAAW,CAAC,2CAA2C,CAAC,CACxDC,aAAa,CAACT,SAAS,CAAC;EAE3BM,OAAO,CAACI,OAAO,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAACC,kBAAkB,EAAE;EAE3EL,OAAO,CAACK,kBAAkB,EAAE;EAC5B,OAAOL,OAAO;AAChB"}
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,KAAK,GAAG;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,EAAE;EAE3EJ,OAAO,CAACI,kBAAkB,EAAE;EAC5B,OAAOJ,OAAO;AAChB"}
@@ -1,7 +1,7 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, Startup, ManagedObject, state } from '@rockcarver/frodo-lib';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate, Startup, ManagedObject } from '@rockcarver/frodo-lib';
3
4
  import yesno from 'yesno';
4
- import * as common from '../cmd_common.js';
5
5
  import { createTable, printMessage } from '../../utils/Console.js';
6
6
  const {
7
7
  getTokens
@@ -13,16 +13,11 @@ const {
13
13
  const {
14
14
  resolveUserName
15
15
  } = ManagedObject;
16
- const program = new Command('frodo esv apply');
17
- program.description('Apply pending changes to secrets and variables. Applying pending changes requires a restart of the AM and IDM pods and can take up to 10 minutes to complete.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('--check-only', "Check if updated need to be apply but don't apply them.").default(false, 'false')).addOption(new Option('--force', 'Force restart of services if no updates are found.')).addOption(new Option('--no-wait', "Don't wait for the updates to finish applying.")).addOption(new Option('--verbose', 'Verbose output during command execution. If specified, may or may not produce additional output.').default(false, 'off')).addOption(new Option('--timeout <seconds>', 'Specify a timeout in seconds how long the tool should wait for the apply command to finish. Only effective without --no-wait.').default(600, '600 secs (10 mins)')).addOption(new Option('-y, --yes', 'Answer y/yes to all prompts.')).action(
16
+ const program = new FrodoCommand('frodo esv apply');
17
+ program.description('Apply pending changes to secrets and variables. Applying pending changes requires a restart of the AM and IDM pods and can take up to 10 minutes to complete.').addOption(new Option('--check-only', "Check if updated need to be apply but don't apply them.").default(false, 'false')).addOption(new Option('--force', 'Force restart of services if no updates are found.')).addOption(new Option('--no-wait', "Don't wait for the updates to finish applying.")).addOption(new Option('--timeout <seconds>', 'Specify a timeout in seconds how long the tool should wait for the apply command to finish. Only effective without --no-wait.').default(600, '600 secs (10 mins)')).addOption(new Option('-y, --yes', 'Answer y/yes to all prompts.')).action(
18
18
  // implement command logic inside action handler
19
- async (host, realm, user, password, options) => {
20
- state.default.session.setTenant(host);
21
- state.default.session.setRealm(realm);
22
- state.default.session.setUsername(user);
23
- state.default.session.setPassword(password);
24
- state.default.session.setDeploymentType(options.type);
25
- state.default.session.setAllowInsecureConnection(options.insecure);
19
+ async (host, realm, user, password, options, command) => {
20
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
26
21
  if (await getTokens()) {
27
22
  const updates = await checkForUpdates();
28
23
  const updatesTable = createTable(['Type', 'Name', 'Modified', 'Modifier']);
@@ -56,6 +51,8 @@ async (host, realm, user, password, options) => {
56
51
  }
57
52
  }
58
53
  }
54
+ } else {
55
+ process.exitCode = 1;
59
56
  }
60
57
  }
61
58
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"esv-apply.js","names":["Command","Option","Authenticate","Startup","ManagedObject","state","yesno","common","createTable","printMessage","getTokens","applyUpdates","checkForUpdates","resolveUserName","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","updates","updatesTable","secret","secrets","push","Date","toLocaleString","variable","variables","length","toString","checkOnly","force","ok","yes","question","wait","timeout","process","exitCode","parse"],"sources":["cli/esv/esv-apply.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport {\n Authenticate,\n Startup,\n ManagedObject,\n state,\n} from '@rockcarver/frodo-lib';\nimport yesno from 'yesno';\nimport * as common from '../cmd_common.js';\nimport { createTable, printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { applyUpdates, checkForUpdates } = Startup;\nconst { resolveUserName } = ManagedObject;\n\nconst program = new Command('frodo esv apply');\n\nprogram\n .description(\n 'Apply pending changes to secrets and variables. Applying pending changes requires a restart of the AM and IDM pods and can take up to 10 minutes to complete.'\n )\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '--check-only',\n \"Check if updated need to be apply but don't apply them.\"\n ).default(false, 'false')\n )\n .addOption(\n new Option('--force', 'Force restart of services if no updates are found.')\n )\n .addOption(\n new Option('--no-wait', \"Don't wait for the updates to finish applying.\")\n )\n .addOption(\n new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n ).default(false, 'off')\n )\n .addOption(\n new Option(\n '--timeout <seconds>',\n 'Specify a timeout in seconds how long the tool should wait for the apply command to finish. Only effective without --no-wait.'\n ).default(600, '600 secs (10 mins)')\n )\n .addOption(new Option('-y, --yes', 'Answer y/yes to all prompts.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n const updates = await checkForUpdates();\n const updatesTable = createTable([\n 'Type',\n 'Name',\n 'Modified',\n 'Modifier',\n ]);\n for (const secret of updates.secrets) {\n if (!secret['loaded']) {\n updatesTable.push([\n 'secret',\n secret['_id'],\n new Date(secret['lastChangeDate']).toLocaleString(),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', secret['lastChangedBy']),\n ]);\n }\n }\n for (const variable of updates.variables) {\n if (!variable['loaded']) {\n updatesTable.push([\n 'variable',\n variable['_id'],\n new Date(variable['lastChangeDate']).toLocaleString(),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', variable['lastChangedBy']),\n ]);\n }\n }\n if (updatesTable.length > 0) {\n printMessage(updatesTable.toString(), 'data');\n }\n if (!options.checkOnly) {\n if (\n updates.secrets?.length ||\n updates.variables?.length ||\n options.force\n ) {\n const ok =\n options.yes ||\n (await yesno({\n question: `\\nChanges may take up to 10 minutes to propagate, during which time you will not be able to make further updates.\\n\\nApply updates? (y|n):`,\n }));\n if (ok) {\n if (!(await applyUpdates(options.wait, options.timeout * 1000))) {\n process.exitCode = 1;\n }\n }\n }\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SACEC,YAAY,EACZC,OAAO,EACPC,aAAa,EACbC,KAAK,QACA,uBAAuB;AAC9B,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,SAASC,WAAW,EAAEC,YAAY,QAAQ,wBAAwB;AAElE,MAAM;EAAEC;AAAU,CAAC,GAAGR,YAAY;AAClC,MAAM;EAAES,YAAY;EAAEC;AAAgB,CAAC,GAAGT,OAAO;AACjD,MAAM;EAAEU;AAAgB,CAAC,GAAGT,aAAa;AAEzC,MAAMU,OAAO,GAAG,IAAId,OAAO,CAAC,iBAAiB,CAAC;AAE9Cc,OAAO,CACJC,WAAW,CACV,+JAA+J,CAChK,CACAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACX,MAAM,CAACY,aAAa,CAAC,CACjCD,WAAW,CAACX,MAAM,CAACa,aAAa,CAAC,CACjCF,WAAW,CAACX,MAAM,CAACc,YAAY,CAAC,CAChCH,WAAW,CAACX,MAAM,CAACe,gBAAgB,CAAC,CACpCC,SAAS,CAAChB,MAAM,CAACiB,gBAAgB,CAAC,CAClCD,SAAS,CAAChB,MAAM,CAACkB,cAAc,CAAC,CAChCF,SAAS,CACR,IAAItB,MAAM,CACR,cAAc,EACd,yDAAyD,CAC1D,CAACyB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1B,CACAH,SAAS,CACR,IAAItB,MAAM,CAAC,SAAS,EAAE,oDAAoD,CAAC,CAC5E,CACAsB,SAAS,CACR,IAAItB,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC,CAC1E,CACAsB,SAAS,CACR,IAAItB,MAAM,CACR,WAAW,EACX,kGAAkG,CACnG,CAACyB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACxB,CACAH,SAAS,CACR,IAAItB,MAAM,CACR,qBAAqB,EACrB,+HAA+H,CAChI,CAACyB,OAAO,CAAC,GAAG,EAAE,oBAAoB,CAAC,CACrC,CACAH,SAAS,CAAC,IAAItB,MAAM,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAClE0B,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9C3B,KAAK,CAACqB,OAAO,CAACO,OAAO,CAACC,SAAS,CAACN,IAAI,CAAC;EACrCvB,KAAK,CAACqB,OAAO,CAACO,OAAO,CAACE,QAAQ,CAACN,KAAK,CAAC;EACrCxB,KAAK,CAACqB,OAAO,CAACO,OAAO,CAACG,WAAW,CAACN,IAAI,CAAC;EACvCzB,KAAK,CAACqB,OAAO,CAACO,OAAO,CAACI,WAAW,CAACN,QAAQ,CAAC;EAC3C1B,KAAK,CAACqB,OAAO,CAACO,OAAO,CAACK,iBAAiB,CAACN,OAAO,CAACO,IAAI,CAAC;EACrDlC,KAAK,CAACqB,OAAO,CAACO,OAAO,CAACO,0BAA0B,CAACR,OAAO,CAACS,QAAQ,CAAC;EAClE,IAAI,MAAM/B,SAAS,EAAE,EAAE;IACrB,MAAMgC,OAAO,GAAG,MAAM9B,eAAe,EAAE;IACvC,MAAM+B,YAAY,GAAGnC,WAAW,CAAC,CAC/B,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,CACX,CAAC;IACF,KAAK,MAAMoC,MAAM,IAAIF,OAAO,CAACG,OAAO,EAAE;MACpC,IAAI,CAACD,MAAM,CAAC,QAAQ,CAAC,EAAE;QACrBD,YAAY,CAACG,IAAI,CAAC,CAChB,QAAQ,EACRF,MAAM,CAAC,KAAK,CAAC,EACb,IAAIG,IAAI,CAACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAACI,cAAc,EAAE;QACnD;QACA,MAAMnC,eAAe,CAAC,YAAY,EAAE+B,MAAM,CAAC,eAAe,CAAC,CAAC,CAC7D,CAAC;MACJ;IACF;IACA,KAAK,MAAMK,QAAQ,IAAIP,OAAO,CAACQ,SAAS,EAAE;MACxC,IAAI,CAACD,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACvBN,YAAY,CAACG,IAAI,CAAC,CAChB,UAAU,EACVG,QAAQ,CAAC,KAAK,CAAC,EACf,IAAIF,IAAI,CAACE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAACD,cAAc,EAAE;QACrD;QACA,MAAMnC,eAAe,CAAC,YAAY,EAAEoC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAC/D,CAAC;MACJ;IACF;IACA,IAAIN,YAAY,CAACQ,MAAM,GAAG,CAAC,EAAE;MAC3B1C,YAAY,CAACkC,YAAY,CAACS,QAAQ,EAAE,EAAE,MAAM,CAAC;IAC/C;IACA,IAAI,CAACpB,OAAO,CAACqB,SAAS,EAAE;MAAA;MACtB,IACE,oBAAAX,OAAO,CAACG,OAAO,6CAAf,iBAAiBM,MAAM,0BACvBT,OAAO,CAACQ,SAAS,+CAAjB,mBAAmBC,MAAM,IACzBnB,OAAO,CAACsB,KAAK,EACb;QACA,MAAMC,EAAE,GACNvB,OAAO,CAACwB,GAAG,KACV,MAAMlD,KAAK,CAAC;UACXmD,QAAQ,EAAG;QACb,CAAC,CAAC,CAAC;QACL,IAAIF,EAAE,EAAE;UACN,IAAI,EAAE,MAAM5C,YAAY,CAACqB,OAAO,CAAC0B,IAAI,EAAE1B,OAAO,CAAC2B,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE;YAC/DC,OAAO,CAACC,QAAQ,GAAG,CAAC;UACtB;QACF;MACF;IACF;EACF;AACF;AACA;AAAA,CACD;;AAEH/C,OAAO,CAACgD,KAAK,EAAE"}
1
+ {"version":3,"file":"esv-apply.js","names":["FrodoCommand","Option","Authenticate","Startup","ManagedObject","yesno","createTable","printMessage","getTokens","applyUpdates","checkForUpdates","resolveUserName","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","updates","updatesTable","secret","secrets","push","Date","toLocaleString","variable","variables","length","toString","checkOnly","force","ok","yes","question","wait","timeout","process","exitCode","parse"],"sources":["cli/esv/esv-apply.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, Startup, ManagedObject } from '@rockcarver/frodo-lib';\nimport yesno from 'yesno';\nimport { createTable, printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { applyUpdates, checkForUpdates } = Startup;\nconst { resolveUserName } = ManagedObject;\n\nconst program = new FrodoCommand('frodo esv apply');\n\nprogram\n .description(\n 'Apply pending changes to secrets and variables. Applying pending changes requires a restart of the AM and IDM pods and can take up to 10 minutes to complete.'\n )\n .addOption(\n new Option(\n '--check-only',\n \"Check if updated need to be apply but don't apply them.\"\n ).default(false, 'false')\n )\n .addOption(\n new Option('--force', 'Force restart of services if no updates are found.')\n )\n .addOption(\n new Option('--no-wait', \"Don't wait for the updates to finish applying.\")\n )\n .addOption(\n new Option(\n '--timeout <seconds>',\n 'Specify a timeout in seconds how long the tool should wait for the apply command to finish. Only effective without --no-wait.'\n ).default(600, '600 secs (10 mins)')\n )\n .addOption(new Option('-y, --yes', 'Answer y/yes to all prompts.'))\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 const updates = await checkForUpdates();\n const updatesTable = createTable([\n 'Type',\n 'Name',\n 'Modified',\n 'Modifier',\n ]);\n for (const secret of updates.secrets) {\n if (!secret['loaded']) {\n updatesTable.push([\n 'secret',\n secret['_id'],\n new Date(secret['lastChangeDate']).toLocaleString(),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', secret['lastChangedBy']),\n ]);\n }\n }\n for (const variable of updates.variables) {\n if (!variable['loaded']) {\n updatesTable.push([\n 'variable',\n variable['_id'],\n new Date(variable['lastChangeDate']).toLocaleString(),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', variable['lastChangedBy']),\n ]);\n }\n }\n if (updatesTable.length > 0) {\n printMessage(updatesTable.toString(), 'data');\n }\n if (!options.checkOnly) {\n if (\n updates.secrets?.length ||\n updates.variables?.length ||\n options.force\n ) {\n const ok =\n options.yes ||\n (await yesno({\n question: `\\nChanges may take up to 10 minutes to propagate, during which time you will not be able to make further updates.\\n\\nApply updates? (y|n):`,\n }));\n if (ok) {\n if (!(await applyUpdates(options.wait, options.timeout * 1000))) {\n process.exitCode = 1;\n }\n }\n }\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,26 +1,23 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, Secrets, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
- import { printMessage } from '../../utils/Console.js';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate, Secrets } from '@rockcarver/frodo-lib';
4
+ import { verboseMessage } from '../../utils/Console.js';
5
5
  const {
6
6
  getTokens
7
7
  } = Authenticate;
8
8
  const {
9
9
  createSecret
10
10
  } = Secrets;
11
- const program = new Command('frodo esv secret create');
12
- program.description('Create secrets.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).requiredOption('-i, --secret-id <secret-id>', 'Secret id.').requiredOption('--value <value>', 'Secret value.').option('--description [description]', 'Secret description.').addOption(new Option('--encoding [encoding]', 'Secret encoding. Must be one of "generic", "pem", "base64hmac"').default('generic', 'generic')).addOption(new Option('--no-use-in-placeholders', 'Secret cannot be used in placeholders.')).addOption(new Option('--verbose', 'Verbose output during command execution. If specified, may or may not produce additional output.').default(false, 'off')).action(
11
+ const program = new FrodoCommand('frodo esv secret create');
12
+ program.description('Create secrets.').requiredOption('-i, --secret-id <secret-id>', 'Secret id.').requiredOption('--value <value>', 'Secret value.').option('--description [description]', 'Secret description.').addOption(new Option('--encoding [encoding]', 'Secret encoding. Must be one of "generic", "pem", "base64hmac"').default('generic', 'generic')).addOption(new Option('--no-use-in-placeholders', 'Secret cannot be used in placeholders.')).action(
13
13
  // implement command logic inside action handler
14
- async (host, realm, user, password, options) => {
15
- state.default.session.setTenant(host);
16
- state.default.session.setRealm(realm);
17
- state.default.session.setUsername(user);
18
- state.default.session.setPassword(password);
19
- state.default.session.setDeploymentType(options.type);
20
- state.default.session.setAllowInsecureConnection(options.insecure);
14
+ async (host, realm, user, password, options, command) => {
15
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
21
16
  if (await getTokens()) {
22
- printMessage('Creating secret...');
17
+ verboseMessage('Creating secret...');
23
18
  createSecret(options.secretId, options.value, options.description, options.encoding, options.useInPlaceholders);
19
+ } else {
20
+ process.exitCode = 1;
24
21
  }
25
22
  }
26
23
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"esv-secret-create.js","names":["Command","Option","Authenticate","Secrets","state","common","printMessage","getTokens","createSecret","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","requiredOption","option","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","secretId","value","encoding","useInPlaceholders","parse"],"sources":["cli/esv/esv-secret-create.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Secrets, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { createSecret } = Secrets;\n\nconst program = new Command('frodo esv secret create');\n\nprogram\n .description('Create secrets.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .requiredOption('-i, --secret-id <secret-id>', 'Secret id.')\n .requiredOption('--value <value>', 'Secret value.')\n .option('--description [description]', 'Secret description.')\n .addOption(\n new Option(\n '--encoding [encoding]',\n 'Secret encoding. Must be one of \"generic\", \"pem\", \"base64hmac\"'\n ).default('generic', 'generic')\n )\n .addOption(\n new Option(\n '--no-use-in-placeholders',\n 'Secret cannot be used in placeholders.'\n )\n )\n .addOption(\n new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n ).default(false, 'off')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage('Creating secret...');\n createSecret(\n options.secretId,\n options.value,\n options.description,\n options.encoding,\n options.useInPlaceholders\n );\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,uBAAuB;AACpE,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EAAEM;AAAa,CAAC,GAAGL,OAAO;AAEhC,MAAMM,OAAO,GAAG,IAAIT,OAAO,CAAC,yBAAyB,CAAC;AAEtDS,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACR,MAAM,CAACS,aAAa,CAAC,CACjCD,WAAW,CAACR,MAAM,CAACU,aAAa,CAAC,CACjCF,WAAW,CAACR,MAAM,CAACW,YAAY,CAAC,CAChCH,WAAW,CAACR,MAAM,CAACY,gBAAgB,CAAC,CACpCC,SAAS,CAACb,MAAM,CAACc,gBAAgB,CAAC,CAClCD,SAAS,CAACb,MAAM,CAACe,cAAc,CAAC,CAChCC,cAAc,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAC3DA,cAAc,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAClDC,MAAM,CAAC,6BAA6B,EAAE,qBAAqB,CAAC,CAC5DJ,SAAS,CACR,IAAIjB,MAAM,CACR,uBAAuB,EACvB,gEAAgE,CACjE,CAACsB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAChC,CACAL,SAAS,CACR,IAAIjB,MAAM,CACR,0BAA0B,EAC1B,wCAAwC,CACzC,CACF,CACAiB,SAAS,CACR,IAAIjB,MAAM,CACR,WAAW,EACX,kGAAkG,CACnG,CAACsB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACxB,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CzB,KAAK,CAACmB,OAAO,CAACO,OAAO,CAACC,SAAS,CAACN,IAAI,CAAC;EACrCrB,KAAK,CAACmB,OAAO,CAACO,OAAO,CAACE,QAAQ,CAACN,KAAK,CAAC;EACrCtB,KAAK,CAACmB,OAAO,CAACO,OAAO,CAACG,WAAW,CAACN,IAAI,CAAC;EACvCvB,KAAK,CAACmB,OAAO,CAACO,OAAO,CAACI,WAAW,CAACN,QAAQ,CAAC;EAC3CxB,KAAK,CAACmB,OAAO,CAACO,OAAO,CAACK,iBAAiB,CAACN,OAAO,CAACO,IAAI,CAAC;EACrDhC,KAAK,CAACmB,OAAO,CAACO,OAAO,CAACO,0BAA0B,CAACR,OAAO,CAACS,QAAQ,CAAC;EAClE,IAAI,MAAM/B,SAAS,EAAE,EAAE;IACrBD,YAAY,CAAC,oBAAoB,CAAC;IAClCE,YAAY,CACVqB,OAAO,CAACU,QAAQ,EAChBV,OAAO,CAACW,KAAK,EACbX,OAAO,CAACnB,WAAW,EACnBmB,OAAO,CAACY,QAAQ,EAChBZ,OAAO,CAACa,iBAAiB,CAC1B;EACH;AACF;AACA;AAAA,CACD;;AAEHjC,OAAO,CAACkC,KAAK,EAAE"}
1
+ {"version":3,"file":"esv-secret-create.js","names":["FrodoCommand","Option","Authenticate","Secrets","verboseMessage","getTokens","createSecret","program","description","requiredOption","option","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","secretId","value","encoding","useInPlaceholders","process","exitCode","parse"],"sources":["cli/esv/esv-secret-create.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, Secrets } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { createSecret } = Secrets;\n\nconst program = new FrodoCommand('frodo esv secret create');\n\nprogram\n .description('Create secrets.')\n .requiredOption('-i, --secret-id <secret-id>', 'Secret id.')\n .requiredOption('--value <value>', 'Secret value.')\n .option('--description [description]', 'Secret description.')\n .addOption(\n new Option(\n '--encoding [encoding]',\n 'Secret encoding. Must be one of \"generic\", \"pem\", \"base64hmac\"'\n ).default('generic', 'generic')\n )\n .addOption(\n new Option(\n '--no-use-in-placeholders',\n 'Secret cannot be used in placeholders.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage('Creating secret...');\n createSecret(\n options.secretId,\n options.value,\n options.description,\n options.encoding,\n options.useInPlaceholders\n );\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,OAAO,QAAQ,uBAAuB;AAC7D,SAASC,cAAc,QAAQ,wBAAwB;AAEvD,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAClC,MAAM;EAAEI;AAAa,CAAC,GAAGH,OAAO;AAEhC,MAAMI,OAAO,GAAG,IAAIP,YAAY,CAAC,yBAAyB,CAAC;AAE3DO,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,cAAc,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAC3DA,cAAc,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAClDC,MAAM,CAAC,6BAA6B,EAAE,qBAAqB,CAAC,CAC5DC,SAAS,CACR,IAAIV,MAAM,CACR,uBAAuB,EACvB,gEAAgE,CACjE,CAACW,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAChC,CACAD,SAAS,CACR,IAAIV,MAAM,CACR,0BAA0B,EAC1B,wCAAwC,CACzC,CACF,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMd,SAAS,EAAE,EAAE;IACrBD,cAAc,CAAC,oBAAoB,CAAC;IACpCE,YAAY,CACVY,OAAO,CAACG,QAAQ,EAChBH,OAAO,CAACI,KAAK,EACbJ,OAAO,CAACV,WAAW,EACnBU,OAAO,CAACK,QAAQ,EAChBL,OAAO,CAACM,iBAAiB,CAC1B;EACH,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHnB,OAAO,CAACoB,KAAK,EAAE"}
@@ -1,7 +1,7 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, Secrets, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
- import { printMessage } from '../../utils/Console.js';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate, Secrets } from '@rockcarver/frodo-lib';
4
+ import { printMessage, verboseMessage } from '../../utils/Console.js';
5
5
  const {
6
6
  getTokens
7
7
  } = Authenticate;
@@ -9,32 +9,26 @@ const {
9
9
  deleteSecretCmd,
10
10
  deleteSecretsCmd
11
11
  } = Secrets;
12
- const program = new Command('frodo esv secret delete');
13
- program.description('Delete secrets.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --secret-id <secret-id>', 'Secret id. If specified, -a is ignored.')).addOption(new Option('-a, --all', 'Delete all secrets in a realm. Ignored with -i.')).addOption(new Option('--verbose', 'Verbose output during command execution. If specified, may or may not produce additional output.').default(false, 'off')).action(
12
+ const program = new FrodoCommand('frodo esv secret delete');
13
+ program.description('Delete secrets.').addOption(new Option('-i, --secret-id <secret-id>', 'Secret id. If specified, -a is ignored.')).addOption(new Option('-a, --all', 'Delete all secrets in a realm. Ignored with -i.')).action(
14
14
  // implement command logic inside action handler
15
- async (host, realm, user, password, options) => {
16
- state.default.session.setTenant(host);
17
- state.default.session.setRealm(realm);
18
- state.default.session.setUsername(user);
19
- state.default.session.setPassword(password);
20
- state.default.session.setDeploymentType(options.type);
21
- state.default.session.setAllowInsecureConnection(options.insecure);
22
- if (await getTokens()) {
23
- // delete by id
24
- if (options.secretId) {
25
- printMessage('Deleting secret...');
26
- deleteSecretCmd(options.secretId);
27
- }
28
- // --all -a
29
- else if (options.all) {
30
- printMessage('Deleting all secrets...');
31
- deleteSecretsCmd();
32
- }
33
- // unrecognized combination of options or no options
34
- else {
35
- printMessage('Unrecognized combination of options or no options...');
36
- program.help();
37
- }
15
+ async (host, realm, user, password, options, command) => {
16
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
17
+ // delete by id
18
+ if (options.secretId && (await getTokens())) {
19
+ verboseMessage('Deleting secret...');
20
+ deleteSecretCmd(options.secretId);
21
+ }
22
+ // --all -a
23
+ else if (options.all && (await getTokens())) {
24
+ verboseMessage('Deleting all secrets...');
25
+ deleteSecretsCmd();
26
+ }
27
+ // unrecognized combination of options or no options
28
+ else {
29
+ printMessage('Unrecognized combination of options or no options...');
30
+ program.help();
31
+ process.exitCode = 1;
38
32
  }
39
33
  }
40
34
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"esv-secret-delete.js","names":["Command","Option","Authenticate","Secrets","state","common","printMessage","getTokens","deleteSecretCmd","deleteSecretsCmd","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","secretId","all","help","parse"],"sources":["cli/esv/esv-secret-delete.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Secrets, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { deleteSecretCmd, deleteSecretsCmd } = Secrets;\n\nconst program = new Command('frodo esv secret delete');\n\nprogram\n .description('Delete secrets.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --secret-id <secret-id>',\n 'Secret id. If specified, -a is ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all secrets in a realm. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n ).default(false, 'off')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // delete by id\n if (options.secretId) {\n printMessage('Deleting secret...');\n deleteSecretCmd(options.secretId);\n }\n // --all -a\n else if (options.all) {\n printMessage('Deleting all secrets...');\n deleteSecretsCmd();\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,uBAAuB;AACpE,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EAAEM,eAAe;EAAEC;AAAiB,CAAC,GAAGN,OAAO;AAErD,MAAMO,OAAO,GAAG,IAAIV,OAAO,CAAC,yBAAyB,CAAC;AAEtDU,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACT,MAAM,CAACU,aAAa,CAAC,CACjCD,WAAW,CAACT,MAAM,CAACW,aAAa,CAAC,CACjCF,WAAW,CAACT,MAAM,CAACY,YAAY,CAAC,CAChCH,WAAW,CAACT,MAAM,CAACa,gBAAgB,CAAC,CACpCC,SAAS,CAACd,MAAM,CAACe,gBAAgB,CAAC,CAClCD,SAAS,CAACd,MAAM,CAACgB,cAAc,CAAC,CAChCF,SAAS,CACR,IAAIlB,MAAM,CACR,6BAA6B,EAC7B,yCAAyC,CAC1C,CACF,CACAkB,SAAS,CACR,IAAIlB,MAAM,CAAC,WAAW,EAAE,iDAAiD,CAAC,CAC3E,CACAkB,SAAS,CACR,IAAIlB,MAAM,CACR,WAAW,EACX,kGAAkG,CACnG,CAACqB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACxB,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CxB,KAAK,CAACkB,OAAO,CAACO,OAAO,CAACC,SAAS,CAACN,IAAI,CAAC;EACrCpB,KAAK,CAACkB,OAAO,CAACO,OAAO,CAACE,QAAQ,CAACN,KAAK,CAAC;EACrCrB,KAAK,CAACkB,OAAO,CAACO,OAAO,CAACG,WAAW,CAACN,IAAI,CAAC;EACvCtB,KAAK,CAACkB,OAAO,CAACO,OAAO,CAACI,WAAW,CAACN,QAAQ,CAAC;EAC3CvB,KAAK,CAACkB,OAAO,CAACO,OAAO,CAACK,iBAAiB,CAACN,OAAO,CAACO,IAAI,CAAC;EACrD/B,KAAK,CAACkB,OAAO,CAACO,OAAO,CAACO,0BAA0B,CAACR,OAAO,CAACS,QAAQ,CAAC;EAClE,IAAI,MAAM9B,SAAS,EAAE,EAAE;IACrB;IACA,IAAIqB,OAAO,CAACU,QAAQ,EAAE;MACpBhC,YAAY,CAAC,oBAAoB,CAAC;MAClCE,eAAe,CAACoB,OAAO,CAACU,QAAQ,CAAC;IACnC;IACA;IAAA,KACK,IAAIV,OAAO,CAACW,GAAG,EAAE;MACpBjC,YAAY,CAAC,yBAAyB,CAAC;MACvCG,gBAAgB,EAAE;IACpB;IACA;IAAA,KACK;MACHH,YAAY,CAAC,sDAAsD,CAAC;MACpEI,OAAO,CAAC8B,IAAI,EAAE;IAChB;EACF;AACF;AACA;AAAA,CACD;;AAEH9B,OAAO,CAAC+B,KAAK,EAAE"}
1
+ {"version":3,"file":"esv-secret-delete.js","names":["FrodoCommand","Option","Authenticate","Secrets","printMessage","verboseMessage","getTokens","deleteSecretCmd","deleteSecretsCmd","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","secretId","all","help","process","exitCode","parse"],"sources":["cli/esv/esv-secret-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, Secrets } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { deleteSecretCmd, deleteSecretsCmd } = Secrets;\n\nconst program = new FrodoCommand('frodo esv secret delete');\n\nprogram\n .description('Delete secrets.')\n .addOption(\n new Option(\n '-i, --secret-id <secret-id>',\n 'Secret id. If specified, -a is ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all secrets in a realm. Ignored with -i.')\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 // delete by id\n if (options.secretId && (await getTokens())) {\n verboseMessage('Deleting secret...');\n deleteSecretCmd(options.secretId);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Deleting all secrets...');\n deleteSecretsCmd();\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,OAAO,QAAQ,uBAAuB;AAC7D,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AAErE,MAAM;EAAEC;AAAU,CAAC,GAAGJ,YAAY;AAClC,MAAM;EAAEK,eAAe;EAAEC;AAAiB,CAAC,GAAGL,OAAO;AAErD,MAAMM,OAAO,GAAG,IAAIT,YAAY,CAAC,yBAAyB,CAAC;AAE3DS,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CACR,IAAIV,MAAM,CACR,6BAA6B,EAC7B,yCAAyC,CAC1C,CACF,CACAU,SAAS,CACR,IAAIV,MAAM,CAAC,WAAW,EAAE,iDAAiD,CAAC,CAC3E,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,OAAO,CACR;EACD;EACA,IAAID,OAAO,CAACG,QAAQ,KAAK,MAAMd,SAAS,EAAE,CAAC,EAAE;IAC3CD,cAAc,CAAC,oBAAoB,CAAC;IACpCE,eAAe,CAACU,OAAO,CAACG,QAAQ,CAAC;EACnC;EACA;EAAA,KACK,IAAIH,OAAO,CAACI,GAAG,KAAK,MAAMf,SAAS,EAAE,CAAC,EAAE;IAC3CD,cAAc,CAAC,yBAAyB,CAAC;IACzCG,gBAAgB,EAAE;EACpB;EACA;EAAA,KACK;IACHJ,YAAY,CAAC,sDAAsD,CAAC;IACpEK,OAAO,CAACa,IAAI,EAAE;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHf,OAAO,CAACgB,KAAK,EAAE"}
@@ -1,26 +1,23 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, Secrets, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
- import { printMessage } from '../../utils/Console.js';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate, Secrets } from '@rockcarver/frodo-lib';
4
+ import { verboseMessage } from '../../utils/Console.js';
5
5
  const {
6
6
  getTokens
7
7
  } = Authenticate;
8
8
  const {
9
9
  describeSecret
10
10
  } = Secrets;
11
- const program = new Command('frodo esv secret describe');
12
- program.description('Describe secrets.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --secret-id <secret-id>', 'Secret id.').makeOptionMandatory()).action(
11
+ const program = new FrodoCommand('frodo esv secret describe');
12
+ program.description('Describe secrets.').addOption(new Option('-i, --secret-id <secret-id>', 'Secret id.').makeOptionMandatory()).action(
13
13
  // implement command logic inside action handler
14
- async (host, realm, user, password, options) => {
15
- state.default.session.setTenant(host);
16
- state.default.session.setRealm(realm);
17
- state.default.session.setUsername(user);
18
- state.default.session.setPassword(password);
19
- state.default.session.setDeploymentType(options.type);
20
- state.default.session.setAllowInsecureConnection(options.insecure);
14
+ async (host, realm, user, password, options, command) => {
15
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
21
16
  if (await getTokens()) {
22
- printMessage(`Describing secret ${options.secretId}...`);
17
+ verboseMessage(`Describing secret ${options.secretId}...`);
23
18
  describeSecret(options.secretId);
19
+ } else {
20
+ process.exitCode = 1;
24
21
  }
25
22
  }
26
23
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"esv-secret-describe.js","names":["Command","Option","Authenticate","Secrets","state","common","printMessage","getTokens","describeSecret","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","makeOptionMandatory","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","secretId","parse"],"sources":["cli/esv/esv-secret-describe.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Secrets, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { describeSecret } = Secrets;\n\nconst program = new Command('frodo esv secret describe');\n\nprogram\n .description('Describe secrets.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --secret-id <secret-id>',\n 'Secret id.'\n ).makeOptionMandatory()\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(`Describing secret ${options.secretId}...`);\n describeSecret(options.secretId);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,uBAAuB;AACpE,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EAAEM;AAAe,CAAC,GAAGL,OAAO;AAElC,MAAMM,OAAO,GAAG,IAAIT,OAAO,CAAC,2BAA2B,CAAC;AAExDS,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACR,MAAM,CAACS,aAAa,CAAC,CACjCD,WAAW,CAACR,MAAM,CAACU,aAAa,CAAC,CACjCF,WAAW,CAACR,MAAM,CAACW,YAAY,CAAC,CAChCH,WAAW,CAACR,MAAM,CAACY,gBAAgB,CAAC,CACpCC,SAAS,CAACb,MAAM,CAACc,gBAAgB,CAAC,CAClCD,SAAS,CAACb,MAAM,CAACe,cAAc,CAAC,CAChCF,SAAS,CACR,IAAIjB,MAAM,CACR,6BAA6B,EAC7B,YAAY,CACb,CAACoB,mBAAmB,EAAE,CACxB,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CvB,KAAK,CAACwB,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrCnB,KAAK,CAACwB,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCpB,KAAK,CAACwB,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvCrB,KAAK,CAACwB,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CtB,KAAK,CAACwB,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrD/B,KAAK,CAACwB,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClE,IAAI,MAAM9B,SAAS,EAAE,EAAE;IACrBD,YAAY,CAAE,qBAAoBqB,OAAO,CAACW,QAAS,KAAI,CAAC;IACxD9B,cAAc,CAACmB,OAAO,CAACW,QAAQ,CAAC;EAClC;AACF;AACA;AAAA,CACD;;AAEH7B,OAAO,CAAC8B,KAAK,EAAE"}
1
+ {"version":3,"file":"esv-secret-describe.js","names":["FrodoCommand","Option","Authenticate","Secrets","verboseMessage","getTokens","describeSecret","program","description","addOption","makeOptionMandatory","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","secretId","process","exitCode","parse"],"sources":["cli/esv/esv-secret-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, Secrets } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { describeSecret } = Secrets;\n\nconst program = new FrodoCommand('frodo esv secret describe');\n\nprogram\n .description('Describe secrets.')\n .addOption(\n new Option(\n '-i, --secret-id <secret-id>',\n 'Secret id.'\n ).makeOptionMandatory()\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(`Describing secret ${options.secretId}...`);\n describeSecret(options.secretId);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,OAAO,QAAQ,uBAAuB;AAC7D,SAASC,cAAc,QAAQ,wBAAwB;AAEvD,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAClC,MAAM;EAAEI;AAAe,CAAC,GAAGH,OAAO;AAElC,MAAMI,OAAO,GAAG,IAAIP,YAAY,CAAC,2BAA2B,CAAC;AAE7DO,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIR,MAAM,CACR,6BAA6B,EAC7B,YAAY,CACb,CAACS,mBAAmB,EAAE,CACxB,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMZ,SAAS,EAAE,EAAE;IACrBD,cAAc,CAAE,qBAAoBY,OAAO,CAACG,QAAS,KAAI,CAAC;IAC1Db,cAAc,CAACU,OAAO,CAACG,QAAQ,CAAC;EAClC,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHd,OAAO,CAACe,KAAK,EAAE"}
@@ -1,21 +1,18 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate } from '@rockcarver/frodo-lib';
4
4
  const {
5
5
  getTokens
6
6
  } = Authenticate;
7
- const program = new Command('frodo esv secret export');
8
- program.description('Export secrets.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --secret-id <secret-id>', 'Secret id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export all secrets to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all sub1s to separate files (*.secret.json) in the current directory. Ignored with -i or -a.')).action(
7
+ const program = new FrodoCommand('frodo esv secret export');
8
+ program.description('Export secrets.').addOption(new Option('-i, --secret-id <secret-id>', 'Secret id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export all secrets to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all sub1s to separate files (*.secret.json) in the current directory. Ignored with -i or -a.')).action(
9
9
  // implement command logic inside action handler
10
- async (host, realm, user, password, options) => {
11
- state.default.session.setTenant(host);
12
- state.default.session.setRealm(realm);
13
- state.default.session.setUsername(user);
14
- state.default.session.setPassword(password);
15
- state.default.session.setDeploymentType(options.type);
16
- state.default.session.setAllowInsecureConnection(options.insecure);
10
+ async (host, realm, user, password, options, command) => {
11
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
17
12
  if (await getTokens()) {
18
13
  // code goes here
14
+ } else {
15
+ process.exitCode = 1;
19
16
  }
20
17
  }
21
18
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"esv-secret-export.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/esv/esv-secret-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo esv secret export');\n\nprogram\n .description('Export secrets.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --secret-id <secret-id>',\n 'Secret id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export all secrets to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all sub1s to separate files (*.secret.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAE1C,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAElC,MAAMI,OAAO,GAAG,IAAIN,OAAO,CAAC,yBAAyB,CAAC;AAEtDM,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACN,MAAM,CAACO,aAAa,CAAC,CACjCD,WAAW,CAACN,MAAM,CAACQ,aAAa,CAAC,CACjCF,WAAW,CAACN,MAAM,CAACS,YAAY,CAAC,CAChCH,WAAW,CAACN,MAAM,CAACU,gBAAgB,CAAC,CACpCC,SAAS,CAACX,MAAM,CAACY,gBAAgB,CAAC,CAClCD,SAAS,CAACX,MAAM,CAACa,cAAc,CAAC,CAChCF,SAAS,CACR,IAAId,MAAM,CACR,6BAA6B,EAC7B,iDAAiD,CAClD,CACF,CACAc,SAAS,CAAC,IAAId,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEc,SAAS,CACR,IAAId,MAAM,CACR,WAAW,EACX,uDAAuD,CACxD,CACF,CACAc,SAAS,CACR,IAAId,MAAM,CACR,oBAAoB,EACpB,qGAAqG,CACtG,CACF,CACAiB,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CpB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrChB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCjB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvClB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CnB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrD5B,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClE,IAAI,MAAM5B,SAAS,EAAE,EAAE;IACrB;EAAA;AAEJ;AACA;AAAA,CACD;;AAEHC,OAAO,CAAC4B,KAAK,EAAE"}
1
+ {"version":3,"file":"esv-secret-export.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/esv/esv-secret-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo esv secret export');\n\nprogram\n .description('Export secrets.')\n .addOption(\n new Option(\n '-i, --secret-id <secret-id>',\n 'Secret id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export all secrets to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all sub1s to separate files (*.secret.json) in the current directory. Ignored with -i or -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 if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,yBAAyB,CAAC;AAE3DI,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CACR,IAAIL,MAAM,CACR,6BAA6B,EAC7B,iDAAiD,CAClD,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,uDAAuD,CACxD,CACF,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,qGAAqG,CACtG,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
@@ -1,21 +1,18 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate } from '@rockcarver/frodo-lib';
4
4
  const {
5
5
  getTokens
6
6
  } = Authenticate;
7
- const program = new Command('frodo esv secret import');
8
- program.description('Import secrets.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --secret-id <secret-id>', 'Secret id. If specified, only one secret is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import.')).addOption(new Option('-a, --all', 'Import all secrets from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all secrets from separate files (*.secret.json) in the current directory. Ignored with -i or -a.')).action(
7
+ const program = new FrodoCommand('frodo esv secret import');
8
+ program.description('Import secrets.').addOption(new Option('-i, --secret-id <secret-id>', 'Secret id. If specified, only one secret is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import.')).addOption(new Option('-a, --all', 'Import all secrets from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all secrets from separate files (*.secret.json) in the current directory. Ignored with -i or -a.')).action(
9
9
  // implement command logic inside action handler
10
- async (host, realm, user, password, options) => {
11
- state.default.session.setTenant(host);
12
- state.default.session.setRealm(realm);
13
- state.default.session.setUsername(user);
14
- state.default.session.setPassword(password);
15
- state.default.session.setDeploymentType(options.type);
16
- state.default.session.setAllowInsecureConnection(options.insecure);
10
+ async (host, realm, user, password, options, command) => {
11
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
17
12
  if (await getTokens()) {
18
13
  // code goes here
14
+ } else {
15
+ process.exitCode = 1;
19
16
  }
20
17
  }
21
18
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"esv-secret-import.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/esv/esv-secret-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo esv secret import');\n\nprogram\n .description('Import secrets.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --secret-id <secret-id>',\n 'Secret id. If specified, only one secret is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the file to import.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all secrets from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all secrets from separate files (*.secret.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAE1C,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAElC,MAAMI,OAAO,GAAG,IAAIN,OAAO,CAAC,yBAAyB,CAAC;AAEtDM,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACN,MAAM,CAACO,aAAa,CAAC,CACjCD,WAAW,CAACN,MAAM,CAACQ,aAAa,CAAC,CACjCF,WAAW,CAACN,MAAM,CAACS,YAAY,CAAC,CAChCH,WAAW,CAACN,MAAM,CAACU,gBAAgB,CAAC,CACpCC,SAAS,CAACX,MAAM,CAACY,gBAAgB,CAAC,CAClCD,SAAS,CAACX,MAAM,CAACa,cAAc,CAAC,CAChCF,SAAS,CACR,IAAId,MAAM,CACR,6BAA6B,EAC7B,6FAA6F,CAC9F,CACF,CACAc,SAAS,CAAC,IAAId,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEc,SAAS,CACR,IAAId,MAAM,CACR,WAAW,EACX,uDAAuD,CACxD,CACF,CACAc,SAAS,CACR,IAAId,MAAM,CACR,oBAAoB,EACpB,yGAAyG,CAC1G,CACF,CACAiB,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CpB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrChB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCjB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvClB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CnB,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrD5B,KAAK,CAACqB,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClE,IAAI,MAAM5B,SAAS,EAAE,EAAE;IACrB;EAAA;AAEJ;AACA;AAAA,CACD;;AAEHC,OAAO,CAAC4B,KAAK,EAAE"}
1
+ {"version":3,"file":"esv-secret-import.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/esv/esv-secret-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo esv secret import');\n\nprogram\n .description('Import secrets.')\n .addOption(\n new Option(\n '-i, --secret-id <secret-id>',\n 'Secret id. If specified, only one secret is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the file to import.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all secrets from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all secrets from separate files (*.secret.json) in the current directory. Ignored with -i or -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 if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,yBAAyB,CAAC;AAE3DI,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CACR,IAAIL,MAAM,CACR,6BAA6B,EAC7B,6FAA6F,CAC9F,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,uDAAuD,CACxD,CACF,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,yGAAyG,CAC1G,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
@@ -1,26 +1,23 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, Secrets, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common.js';
4
- import { printMessage } from '../../utils/Console.js';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate, Secrets } from '@rockcarver/frodo-lib';
4
+ import { verboseMessage } from '../../utils/Console.js';
5
5
  const {
6
6
  getTokens
7
7
  } = Authenticate;
8
8
  const {
9
9
  listSecrets
10
10
  } = Secrets;
11
- const program = new Command('frodo esv secret list');
12
- program.description('List secrets.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
11
+ const program = new FrodoCommand('frodo esv secret list');
12
+ program.description('List secrets.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
13
13
  // implement command logic inside action handler
14
- async (host, realm, user, password, options) => {
15
- state.default.session.setTenant(host);
16
- state.default.session.setRealm(realm);
17
- state.default.session.setUsername(user);
18
- state.default.session.setPassword(password);
19
- state.default.session.setDeploymentType(options.type);
20
- state.default.session.setAllowInsecureConnection(options.insecure);
14
+ async (host, realm, user, password, options, command) => {
15
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
21
16
  if (await getTokens()) {
22
- printMessage('Listing secrets...');
17
+ verboseMessage('Listing secrets...');
23
18
  listSecrets(options.long);
19
+ } else {
20
+ process.exitCode = 1;
24
21
  }
25
22
  }
26
23
  // end command logic inside action handler