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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/CHANGELOG.md +275 -4
  2. package/esm/app.js +20 -5
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +28 -6
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +7 -4
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -4
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -4
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -4
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +7 -4
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -4
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -4
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +1 -1
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +7 -4
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -4
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -4
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -4
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -4
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +7 -4
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -4
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -4
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +1 -1
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +2 -2
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -4
  43. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  44. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +14 -7
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-export.js +45 -0
  47. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-import.js +49 -0
  49. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-list.js +29 -0
  51. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  52. package/esm/cli/admin/admin-federation.js +13 -0
  53. package/esm/cli/admin/admin-federation.js.map +1 -0
  54. package/esm/cli/admin/admin-get-access-token.js +12 -6
  55. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  56. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -7
  57. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -5
  59. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  60. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +11 -5
  61. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +11 -5
  63. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-list-static-user-mappings.js +12 -6
  65. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  66. package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -5
  67. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  68. package/esm/cli/admin/admin-repair-org-model.js +11 -5
  69. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  70. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -6
  71. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  72. package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -5
  73. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  74. package/esm/cli/admin/admin-train-auto-access-model.js +33 -0
  75. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -0
  76. package/esm/cli/admin/admin.js +6 -2
  77. package/esm/cli/admin/admin.js.map +1 -1
  78. package/esm/cli/agent/agent-delete.js +13 -6
  79. package/esm/cli/agent/agent-delete.js.map +1 -1
  80. package/esm/cli/agent/agent-describe.js +7 -4
  81. package/esm/cli/agent/agent-describe.js.map +1 -1
  82. package/esm/cli/agent/agent-export.js +8 -5
  83. package/esm/cli/agent/agent-export.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-delete.js +13 -6
  85. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  86. package/esm/cli/agent/agent-gateway-describe.js +7 -4
  87. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-export.js +8 -5
  89. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-import.js +8 -5
  91. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway-list.js +7 -4
  93. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  94. package/esm/cli/agent/agent-gateway.js +1 -1
  95. package/esm/cli/agent/agent-gateway.js.map +1 -1
  96. package/esm/cli/agent/agent-import.js +8 -5
  97. package/esm/cli/agent/agent-import.js.map +1 -1
  98. package/esm/cli/agent/agent-java-delete.js +13 -6
  99. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  100. package/esm/cli/agent/agent-java-describe.js +7 -4
  101. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  102. package/esm/cli/agent/agent-java-export.js +8 -5
  103. package/esm/cli/agent/agent-java-export.js.map +1 -1
  104. package/esm/cli/agent/agent-java-import.js +8 -5
  105. package/esm/cli/agent/agent-java-import.js.map +1 -1
  106. package/esm/cli/agent/agent-java-list.js +7 -4
  107. package/esm/cli/agent/agent-java-list.js.map +1 -1
  108. package/esm/cli/agent/agent-java.js +1 -1
  109. package/esm/cli/agent/agent-java.js.map +1 -1
  110. package/esm/cli/agent/agent-list.js +7 -4
  111. package/esm/cli/agent/agent-list.js.map +1 -1
  112. package/esm/cli/agent/agent-web-delete.js +13 -6
  113. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  114. package/esm/cli/agent/agent-web-describe.js +7 -4
  115. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  116. package/esm/cli/agent/agent-web-export.js +8 -5
  117. package/esm/cli/agent/agent-web-export.js.map +1 -1
  118. package/esm/cli/agent/agent-web-import.js +8 -5
  119. package/esm/cli/agent/agent-web-import.js.map +1 -1
  120. package/esm/cli/agent/agent-web-list.js +7 -4
  121. package/esm/cli/agent/agent-web-list.js.map +1 -1
  122. package/esm/cli/agent/agent-web.js +3 -3
  123. package/esm/cli/agent/agent-web.js.map +1 -1
  124. package/esm/cli/agent/agent.js +2 -2
  125. package/esm/cli/agent/agent.js.map +1 -1
  126. package/esm/cli/app/app-delete.js +27 -8
  127. package/esm/cli/app/app-delete.js.map +1 -1
  128. package/esm/cli/app/app-describe.js +9 -5
  129. package/esm/cli/app/app-describe.js.map +1 -1
  130. package/esm/cli/app/app-export.js +17 -13
  131. package/esm/cli/app/app-export.js.map +1 -1
  132. package/esm/cli/app/app-import.js +21 -17
  133. package/esm/cli/app/app-import.js.map +1 -1
  134. package/esm/cli/app/app-list.js +12 -8
  135. package/esm/cli/app/app-list.js.map +1 -1
  136. package/esm/cli/app/app.js +8 -12
  137. package/esm/cli/app/app.js.map +1 -1
  138. package/esm/cli/authn/authn-describe.js +30 -0
  139. package/esm/cli/authn/authn-describe.js.map +1 -0
  140. package/esm/cli/authn/authn-export.js +26 -0
  141. package/esm/cli/authn/authn-export.js.map +1 -0
  142. package/esm/cli/authn/authn-import.js +26 -0
  143. package/esm/cli/authn/authn-import.js.map +1 -0
  144. package/esm/cli/authn/authn.js +12 -0
  145. package/esm/cli/authn/authn.js.map +1 -0
  146. package/esm/cli/authz/authz-policy-delete.js +11 -8
  147. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  148. package/esm/cli/authz/authz-policy-describe.js +8 -5
  149. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  150. package/esm/cli/authz/authz-policy-export.js +12 -9
  151. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  152. package/esm/cli/authz/authz-policy-import.js +10 -7
  153. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  154. package/esm/cli/authz/authz-policy-list.js +9 -6
  155. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  156. package/esm/cli/authz/authz-policy.js +1 -1
  157. package/esm/cli/authz/authz-policy.js.map +1 -1
  158. package/esm/cli/authz/authz-set-delete.js +10 -7
  159. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  160. package/esm/cli/authz/authz-set-describe.js +8 -5
  161. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  162. package/esm/cli/authz/authz-set-export.js +10 -7
  163. package/esm/cli/authz/authz-set-export.js.map +1 -1
  164. package/esm/cli/authz/authz-set-import.js +10 -7
  165. package/esm/cli/authz/authz-set-import.js.map +1 -1
  166. package/esm/cli/authz/authz-set-list.js +7 -4
  167. package/esm/cli/authz/authz-set-list.js.map +1 -1
  168. package/esm/cli/authz/authz-set.js +1 -1
  169. package/esm/cli/authz/authz-set.js.map +1 -1
  170. package/esm/cli/authz/authz-type-delete.js +12 -9
  171. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  172. package/esm/cli/authz/authz-type-describe.js +9 -6
  173. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  174. package/esm/cli/authz/authz-type-export.js +11 -8
  175. package/esm/cli/authz/authz-type-export.js.map +1 -1
  176. package/esm/cli/authz/authz-type-import.js +12 -9
  177. package/esm/cli/authz/authz-type-import.js.map +1 -1
  178. package/esm/cli/authz/authz-type-list.js +8 -5
  179. package/esm/cli/authz/authz-type-list.js.map +1 -1
  180. package/esm/cli/authz/authz-type.js +1 -1
  181. package/esm/cli/authz/authz-type.js.map +1 -1
  182. package/esm/cli/authz/authz.js +2 -2
  183. package/esm/cli/authz/authz.js.map +1 -1
  184. package/esm/cli/conn/conn-delete.js +2 -2
  185. package/esm/cli/conn/conn-delete.js.map +1 -1
  186. package/esm/cli/conn/conn-describe.js +2 -2
  187. package/esm/cli/conn/conn-describe.js.map +1 -1
  188. package/esm/cli/conn/conn-list.js +2 -2
  189. package/esm/cli/conn/conn-list.js.map +1 -1
  190. package/esm/cli/conn/conn-save.js +31 -15
  191. package/esm/cli/conn/conn-save.js.map +1 -1
  192. package/esm/cli/conn/conn.js +2 -2
  193. package/esm/cli/conn/conn.js.map +1 -1
  194. package/esm/cli/email/email-template-export.js +10 -7
  195. package/esm/cli/email/email-template-export.js.map +1 -1
  196. package/esm/cli/email/email-template-import.js +11 -8
  197. package/esm/cli/email/email-template-import.js.map +1 -1
  198. package/esm/cli/email/email-template-list.js +8 -5
  199. package/esm/cli/email/email-template-list.js.map +1 -1
  200. package/esm/cli/email/email-template.js +1 -1
  201. package/esm/cli/email/email-template.js.map +1 -1
  202. package/esm/cli/email/email.js +2 -2
  203. package/esm/cli/email/email.js.map +1 -1
  204. package/esm/cli/esv/esv-apply.js +18 -8
  205. package/esm/cli/esv/esv-apply.js.map +1 -1
  206. package/esm/cli/esv/esv-secret-create.js +8 -5
  207. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  208. package/esm/cli/esv/esv-secret-delete.js +9 -6
  209. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  210. package/esm/cli/esv/esv-secret-describe.js +8 -5
  211. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  212. package/esm/cli/esv/esv-secret-export.js +19 -5
  213. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  214. package/esm/cli/esv/esv-secret-import.js +7 -4
  215. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  216. package/esm/cli/esv/esv-secret-list.js +8 -5
  217. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  218. package/esm/cli/esv/esv-secret-set.js +8 -5
  219. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  220. package/esm/cli/esv/esv-secret-version-activate.js +8 -5
  221. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  222. package/esm/cli/esv/esv-secret-version-create.js +9 -6
  223. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  224. package/esm/cli/esv/esv-secret-version-deactivate.js +8 -5
  225. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  226. package/esm/cli/esv/esv-secret-version-delete.js +9 -6
  227. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  228. package/esm/cli/esv/esv-secret-version-list.js +8 -5
  229. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  230. package/esm/cli/esv/esv-secret-version.js +1 -1
  231. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  232. package/esm/cli/esv/esv-secret.js +2 -3
  233. package/esm/cli/esv/esv-secret.js.map +1 -1
  234. package/esm/cli/esv/esv-variable-create.js +10 -6
  235. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  236. package/esm/cli/esv/esv-variable-delete.js +10 -7
  237. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  238. package/esm/cli/esv/esv-variable-describe.js +10 -7
  239. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  240. package/esm/cli/esv/esv-variable-export.js +20 -6
  241. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  242. package/esm/cli/esv/esv-variable-import.js +7 -4
  243. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  244. package/esm/cli/esv/esv-variable-list.js +8 -5
  245. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  246. package/esm/cli/esv/esv-variable-set.js +8 -5
  247. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  248. package/esm/cli/esv/esv-variable.js +2 -3
  249. package/esm/cli/esv/esv-variable.js.map +1 -1
  250. package/esm/cli/esv/esv.js +2 -2
  251. package/esm/cli/esv/esv.js.map +1 -1
  252. package/esm/cli/idm/idm-count.js +9 -6
  253. package/esm/cli/idm/idm-count.js.map +1 -1
  254. package/esm/cli/idm/idm-export.js +21 -12
  255. package/esm/cli/idm/idm-export.js.map +1 -1
  256. package/esm/cli/idm/idm-import.js +22 -13
  257. package/esm/cli/idm/idm-import.js.map +1 -1
  258. package/esm/cli/idm/idm-list.js +7 -4
  259. package/esm/cli/idm/idm-list.js.map +1 -1
  260. package/esm/cli/idm/idm.js +2 -2
  261. package/esm/cli/idm/idm.js.map +1 -1
  262. package/esm/cli/idp/idp-export.js +11 -8
  263. package/esm/cli/idp/idp-export.js.map +1 -1
  264. package/esm/cli/idp/idp-import.js +15 -12
  265. package/esm/cli/idp/idp-import.js.map +1 -1
  266. package/esm/cli/idp/idp-list.js +7 -4
  267. package/esm/cli/idp/idp-list.js.map +1 -1
  268. package/esm/cli/idp/idp.js +2 -2
  269. package/esm/cli/idp/idp.js.map +1 -1
  270. package/esm/cli/info/info.js +16 -10
  271. package/esm/cli/info/info.js.map +1 -1
  272. package/esm/cli/journey/journey-delete.js +8 -5
  273. package/esm/cli/journey/journey-delete.js.map +1 -1
  274. package/esm/cli/journey/journey-describe.js +19 -10
  275. package/esm/cli/journey/journey-describe.js.map +1 -1
  276. package/esm/cli/journey/journey-disable.js +12 -6
  277. package/esm/cli/journey/journey-disable.js.map +1 -1
  278. package/esm/cli/journey/journey-enable.js +12 -6
  279. package/esm/cli/journey/journey-enable.js.map +1 -1
  280. package/esm/cli/journey/journey-export.js +21 -9
  281. package/esm/cli/journey/journey-export.js.map +1 -1
  282. package/esm/cli/journey/journey-import.js +11 -8
  283. package/esm/cli/journey/journey-import.js.map +1 -1
  284. package/esm/cli/journey/journey-list.js +6 -3
  285. package/esm/cli/journey/journey-list.js.map +1 -1
  286. package/esm/cli/journey/journey-prune.js +23 -12
  287. package/esm/cli/journey/journey-prune.js.map +1 -1
  288. package/esm/cli/journey/journey.js +2 -2
  289. package/esm/cli/journey/journey.js.map +1 -1
  290. package/esm/cli/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
  291. package/esm/cli/log/log-fetch.js.map +1 -0
  292. package/esm/cli/log/log-key-delete.js +35 -0
  293. package/esm/cli/log/log-key-delete.js.map +1 -0
  294. package/esm/cli/log/log-key-describe.js +22 -0
  295. package/esm/cli/log/log-key-describe.js.map +1 -0
  296. package/esm/cli/log/log-key-list.js +26 -0
  297. package/esm/cli/log/log-key-list.js.map +1 -0
  298. package/esm/cli/log/log-key.js +8 -0
  299. package/esm/cli/log/log-key.js.map +1 -0
  300. package/esm/cli/log/log-list.js +80 -0
  301. package/esm/cli/log/log-list.js.map +1 -0
  302. package/esm/cli/log/log-tail.js +77 -0
  303. package/esm/cli/log/log-tail.js.map +1 -0
  304. package/esm/cli/{logging/logs.js → log/log.js} +6 -3
  305. package/esm/cli/log/log.js.map +1 -0
  306. package/esm/cli/oauth/oauth-client-delete.js +22 -0
  307. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  308. package/esm/cli/oauth/oauth-client-describe.js +22 -0
  309. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  310. package/esm/cli/oauth/oauth-client-export.js +52 -0
  311. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  312. package/esm/cli/oauth/oauth-client-import.js +57 -0
  313. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  314. package/esm/cli/oauth/oauth-client-list.js +25 -0
  315. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  316. package/esm/cli/oauth/oauth-client.js +14 -0
  317. package/esm/cli/oauth/oauth-client.js.map +1 -0
  318. package/esm/cli/oauth/oauth.js +13 -0
  319. package/esm/cli/oauth/oauth.js.map +1 -0
  320. package/esm/cli/realm/realm-add-custom-domain.js +8 -5
  321. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  322. package/esm/cli/realm/realm-describe.js +8 -5
  323. package/esm/cli/realm/realm-describe.js.map +1 -1
  324. package/esm/cli/realm/realm-list.js +8 -5
  325. package/esm/cli/realm/realm-list.js.map +1 -1
  326. package/esm/cli/realm/realm-remove-custom-domain.js +11 -5
  327. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  328. package/esm/cli/realm/realm.js +2 -2
  329. package/esm/cli/realm/realm.js.map +1 -1
  330. package/esm/cli/saml/saml-cot-export.js +10 -7
  331. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  332. package/esm/cli/saml/saml-cot-import.js +15 -12
  333. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  334. package/esm/cli/saml/saml-cot-list.js +8 -5
  335. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  336. package/esm/cli/saml/saml-cot.js +1 -1
  337. package/esm/cli/saml/saml-cot.js.map +1 -1
  338. package/esm/cli/saml/saml-delete.js +14 -7
  339. package/esm/cli/saml/saml-delete.js.map +1 -1
  340. package/esm/cli/saml/saml-describe.js +8 -5
  341. package/esm/cli/saml/saml-describe.js.map +1 -1
  342. package/esm/cli/saml/saml-export.js +10 -7
  343. package/esm/cli/saml/saml-export.js.map +1 -1
  344. package/esm/cli/saml/saml-import.js +11 -8
  345. package/esm/cli/saml/saml-import.js.map +1 -1
  346. package/esm/cli/saml/saml-list.js +8 -5
  347. package/esm/cli/saml/saml-list.js.map +1 -1
  348. package/esm/cli/saml/saml-metadata-export.js +9 -6
  349. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  350. package/esm/cli/saml/saml-metadata.js +1 -1
  351. package/esm/cli/saml/saml-metadata.js.map +1 -1
  352. package/esm/cli/saml/saml.js +2 -2
  353. package/esm/cli/saml/saml.js.map +1 -1
  354. package/esm/cli/script/script-delete.js +7 -4
  355. package/esm/cli/script/script-delete.js.map +1 -1
  356. package/esm/cli/script/script-describe.js +7 -4
  357. package/esm/cli/script/script-describe.js.map +1 -1
  358. package/esm/cli/script/script-export.js +8 -5
  359. package/esm/cli/script/script-export.js.map +1 -1
  360. package/esm/cli/script/script-import.js +9 -6
  361. package/esm/cli/script/script-import.js.map +1 -1
  362. package/esm/cli/script/script-list.js +8 -5
  363. package/esm/cli/script/script-list.js.map +1 -1
  364. package/esm/cli/script/script.js +2 -2
  365. package/esm/cli/script/script.js.map +1 -1
  366. package/esm/cli/service/service-delete.js +8 -5
  367. package/esm/cli/service/service-delete.js.map +1 -1
  368. package/esm/cli/service/service-export.js +9 -6
  369. package/esm/cli/service/service-export.js.map +1 -1
  370. package/esm/cli/service/service-import.js +11 -9
  371. package/esm/cli/service/service-import.js.map +1 -1
  372. package/esm/cli/service/service-list.js +7 -4
  373. package/esm/cli/service/service-list.js.map +1 -1
  374. package/esm/cli/service/service.js +2 -2
  375. package/esm/cli/service/service.js.map +1 -1
  376. package/esm/cli/shell/shell.js +57 -0
  377. package/esm/cli/shell/shell.js.map +1 -0
  378. package/esm/cli/theme/theme-delete.js +10 -7
  379. package/esm/cli/theme/theme-delete.js.map +1 -1
  380. package/esm/cli/theme/theme-export.js +11 -8
  381. package/esm/cli/theme/theme-export.js.map +1 -1
  382. package/esm/cli/theme/theme-import.js +12 -9
  383. package/esm/cli/theme/theme-import.js.map +1 -1
  384. package/esm/cli/theme/theme-list.js +7 -4
  385. package/esm/cli/theme/theme-list.js.map +1 -1
  386. package/esm/cli/theme/theme.js +2 -2
  387. package/esm/cli/theme/theme.js.map +1 -1
  388. package/esm/help/SampleData.js +7 -0
  389. package/esm/help/SampleData.js.map +1 -0
  390. package/esm/launch.js +1 -1
  391. package/esm/launch.js.map +1 -1
  392. package/esm/loader.js +2 -2
  393. package/esm/loader.js.map +1 -1
  394. package/esm/ops/AdminFederationOps.js +225 -0
  395. package/esm/ops/AdminFederationOps.js.map +1 -0
  396. package/esm/ops/AgentOps.js +128 -87
  397. package/esm/ops/AgentOps.js.map +1 -1
  398. package/esm/ops/ApplicationOps.js +315 -0
  399. package/esm/ops/ApplicationOps.js.map +1 -0
  400. package/esm/ops/AuthenticationSettingsOps.js +89 -0
  401. package/esm/ops/AuthenticationSettingsOps.js.map +1 -0
  402. package/esm/ops/CirclesOfTrustOps.js +72 -59
  403. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  404. package/esm/ops/ConnectionProfileOps.js +13 -6
  405. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  406. package/esm/ops/EmailTemplateOps.js +76 -64
  407. package/esm/ops/EmailTemplateOps.js.map +1 -1
  408. package/esm/ops/IdmOps.js +70 -84
  409. package/esm/ops/IdmOps.js.map +1 -1
  410. package/esm/ops/IdpOps.js +74 -43
  411. package/esm/ops/IdpOps.js.map +1 -1
  412. package/esm/ops/JourneyOps.js +99 -67
  413. package/esm/ops/JourneyOps.js.map +1 -1
  414. package/esm/ops/LogOps.js +92 -30
  415. package/esm/ops/LogOps.js.map +1 -1
  416. package/esm/ops/NodeOps.js +6 -3
  417. package/esm/ops/NodeOps.js.map +1 -1
  418. package/esm/ops/OAuth2ClientOps.js +51 -32
  419. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  420. package/esm/ops/OrganizationOps.js +14 -22
  421. package/esm/ops/OrganizationOps.js.map +1 -1
  422. package/esm/ops/PolicyOps.js +84 -55
  423. package/esm/ops/PolicyOps.js.map +1 -1
  424. package/esm/ops/PolicySetOps.js +67 -43
  425. package/esm/ops/PolicySetOps.js.map +1 -1
  426. package/esm/ops/RealmOps.js +18 -11
  427. package/esm/ops/RealmOps.js.map +1 -1
  428. package/esm/ops/ResourceTypeOps.js +75 -66
  429. package/esm/ops/ResourceTypeOps.js.map +1 -1
  430. package/esm/ops/Saml2Ops.js +76 -54
  431. package/esm/ops/Saml2Ops.js.map +1 -1
  432. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  433. package/esm/ops/ScriptOps.js +92 -31
  434. package/esm/ops/ScriptOps.js.map +1 -1
  435. package/esm/ops/SecretsOps.js +106 -23
  436. package/esm/ops/SecretsOps.js.map +1 -1
  437. package/esm/ops/ServiceOps.js +67 -41
  438. package/esm/ops/ServiceOps.js.map +1 -1
  439. package/esm/ops/ThemeOps.js +62 -36
  440. package/esm/ops/ThemeOps.js.map +1 -1
  441. package/esm/ops/VariablesOps.js +132 -41
  442. package/esm/ops/VariablesOps.js.map +1 -1
  443. package/esm/ops/utils/OpsUtils.js +1 -1
  444. package/esm/ops/utils/OpsUtils.js.map +1 -1
  445. package/esm/ops/utils/Wordwrap.js +1 -1
  446. package/esm/ops/utils/Wordwrap.js.map +1 -1
  447. package/esm/storage/StaticStorage.js +1 -1
  448. package/esm/storage/StaticStorage.js.map +1 -1
  449. package/esm/utils/Config.js +7 -4
  450. package/esm/utils/Config.js.map +1 -1
  451. package/esm/utils/Console.js +9 -5
  452. package/esm/utils/Console.js.map +1 -1
  453. package/esm/utils/ExportImportUtils.js +32 -66
  454. package/esm/utils/ExportImportUtils.js.map +1 -1
  455. package/esm/utils/Version.js +19 -16
  456. package/esm/utils/Version.js.map +1 -1
  457. package/global-jest-setup.js +4 -0
  458. package/package.json +46 -35
  459. package/esm/cli/logging/logs-fetch.js.map +0 -1
  460. package/esm/cli/logging/logs-list.js +0 -49
  461. package/esm/cli/logging/logs-list.js.map +0 -1
  462. package/esm/cli/logging/logs-tail.js +0 -46
  463. package/esm/cli/logging/logs-tail.js.map +0 -1
  464. package/esm/cli/logging/logs.js.map +0 -1
  465. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  466. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"esv-variable-delete.js","names":["FrodoCommand","Option","frodo","printMessage","verboseMessage","deleteVariable","deleteVariables","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","variableId","login","getTokens","all","help","process","exitCode","parse"],"sources":["cli/esv/esv-variable-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { deleteVariable, deleteVariables } from '../../ops/VariablesOps';\n\nconst program = new FrodoCommand('frodo cmd sub2 delete');\n\nprogram\n .description('Delete variables.')\n .addOption(\n new Option(\n '-i, --variable-id <variable-id>',\n 'Variable id. If specified, -a is ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all variable in a realm. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\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 // delete by id\n if (options.variableId && (await frodo.login.getTokens())) {\n verboseMessage('Deleting variable...');\n deleteVariable(options.variableId);\n }\n // --all -a\n else if (options.all && (await frodo.login.getTokens())) {\n verboseMessage('Deleting all variables...');\n deleteVariables();\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,cAAc,EAAEC,eAAe,QAAQ,wBAAwB;AAExE,MAAMC,OAAO,GAAG,IAAIP,YAAY,CAAC,uBAAuB,CAAC;AAEzDO,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIR,MAAM,CACR,iCAAiC,EACjC,2CACF,CACF,CAAC,CACAQ,SAAS,CACR,IAAIR,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAC5E,CAAC,CACAQ,SAAS,CACR,IAAIR,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAS,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,UAAU,KAAK,MAAMhB,KAAK,CAACiB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACzDhB,cAAc,CAAC,sBAAsB,CAAC;IACtCC,cAAc,CAACU,OAAO,CAACG,UAAU,CAAC;EACpC;EACA;EAAA,KACK,IAAIH,OAAO,CAACM,GAAG,KAAK,MAAMnB,KAAK,CAACiB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACvDhB,cAAc,CAAC,2BAA2B,CAAC;IAC3CE,eAAe,CAAC,CAAC;EACnB;EACA;EAAA,KACK;IACHH,YAAY,CAAC,sDAAsD,CAAC;IACpEI,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHjB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"esv-variable-delete.js","names":["frodo","Option","deleteVariableById","deleteVariables","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","variableId","all","help","process","exitCode","parse"],"sources":["../../../src/cli/esv/esv-variable-delete.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { deleteVariableById, deleteVariables } from '../../ops/VariablesOps';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo cmd sub2 delete');\n\nprogram\n .description('Delete variables.')\n .addOption(\n new Option(\n '-i, --variable-id <variable-id>',\n 'Variable id. If specified, -a is ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all variable in a realm. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\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 // delete by id\n if (options.variableId && (await getTokens())) {\n verboseMessage('Deleting variable...');\n deleteVariableById(options.variableId);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Deleting all variables...');\n deleteVariables();\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,wBAAwB;AAC5E,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGP,KAAK,CAACQ,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,uBAAuB,CAAC;AAEzDG,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIV,MAAM,CACR,iCAAiC,EACjC,2CACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAC5E,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,UAAU,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IAC7CF,cAAc,CAAC,sBAAsB,CAAC;IACtCH,kBAAkB,CAACe,OAAO,CAACG,UAAU,CAAC;EACxC;EACA;EAAA,KACK,IAAIH,OAAO,CAACI,GAAG,KAAK,MAAMd,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CF,cAAc,CAAC,2BAA2B,CAAC;IAC3CF,eAAe,CAAC,CAAC;EACnB;EACA;EAAA,KACK;IACHC,YAAY,CAAC,sDAAsD,CAAC;IACpEK,OAAO,CAACa,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
@@ -1,16 +1,19 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { verboseMessage } from '../../utils/Console.js';
2
+ import { Option } from 'commander';
5
3
  import { describeVariable } from '../../ops/VariablesOps';
4
+ import { verboseMessage } from '../../utils/Console.js';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo esv variable describe');
7
- program.description('Describe variables.').addOption(new Option('-i, --variable-id <variable-id>', 'Variable id.').makeOptionMandatory()).action(
10
+ program.description('Describe variables.').addOption(new Option('-i, --variable-id <variable-id>', 'Variable id.').makeOptionMandatory()).addOption(new Option('--json', 'Output in JSON format.')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
- if (await frodo.login.getTokens()) {
14
+ if (await getTokens()) {
12
15
  verboseMessage(`Describing variable ${options.variableId}...`);
13
- describeVariable(options.variableId);
16
+ describeVariable(options.variableId, options.json);
14
17
  } else {
15
18
  process.exitCode = 1;
16
19
  }
@@ -19,4 +22,4 @@ async (host, realm, user, password, options, command) => {
19
22
  );
20
23
 
21
24
  program.parse();
22
- //# sourceMappingURL=esv-variable-describe.js.map
25
+ //# sourceMappingURL=esv-variable-describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esv-variable-describe.js","names":["FrodoCommand","Option","frodo","verboseMessage","describeVariable","program","description","addOption","makeOptionMandatory","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","variableId","process","exitCode","parse"],"sources":["cli/esv/esv-variable-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { describeVariable } from '../../ops/VariablesOps';\n\nconst program = new FrodoCommand('frodo esv variable describe');\n\nprogram\n .description('Describe variables.')\n .addOption(\n new Option(\n '-i, --variable-id <variable-id>',\n 'Variable 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 frodo.login.getTokens()) {\n verboseMessage(`Describing variable ${options.variableId}...`);\n describeVariable(options.variableId);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,gBAAgB,QAAQ,wBAAwB;AAEzD,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,6BAA6B,CAAC;AAE/DK,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CACR,IAAIN,MAAM,CACR,iCAAiC,EACjC,cACF,CAAC,CAACO,mBAAmB,CAAC,CACxB,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,KAAK,CAACe,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCf,cAAc,CAAE,uBAAsBW,OAAO,CAACK,UAAW,KAAI,CAAC;IAC9Df,gBAAgB,CAACU,OAAO,CAACK,UAAU,CAAC;EACtC,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACiB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"esv-variable-describe.js","names":["frodo","Option","describeVariable","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","makeOptionMandatory","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","variableId","json","process","exitCode","parse"],"sources":["../../../src/cli/esv/esv-variable-describe.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { describeVariable } from '../../ops/VariablesOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo esv variable describe');\n\nprogram\n .description('Describe variables.')\n .addOption(\n new Option(\n '-i, --variable-id <variable-id>',\n 'Variable id.'\n ).makeOptionMandatory()\n )\n .addOption(new Option('--json', 'Output in JSON format.'))\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 variable ${options.variableId}...`);\n describeVariable(options.variableId, options.json);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,6BAA6B,CAAC;AAE/DG,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CACR,IAAIR,MAAM,CACR,iCAAiC,EACjC,cACF,CAAC,CAACS,mBAAmB,CAAC,CACxB,CAAC,CACAD,SAAS,CAAC,IAAIR,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CACzDU,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,cAAc,CAAE,uBAAsBa,OAAO,CAACG,UAAW,KAAI,CAAC;IAC9DjB,gBAAgB,CAACc,OAAO,CAACG,UAAU,EAAEH,OAAO,CAACI,IAAI,CAAC;EACpD,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
@@ -1,14 +1,28 @@
1
- import { FrodoCommand } from '../FrodoCommand';
1
+ import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { frodo } from '@rockcarver/frodo-lib';
3
+ import { exportVariablesToFile, exportVariablesToFiles, exportVariableToFile } from '../../ops/VariablesOps';
4
+ import { printMessage, verboseMessage } from '../../utils/Console';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
4
9
  const program = new FrodoCommand('frodo esv variable export');
5
- program.description('Export variables.').addOption(new Option('-i, --variable-id <variable-id>', 'Variable 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 variables to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all variables to separate files (*.variable.json) in the current directory. Ignored with -i or -a.')).action(
10
+ program.description('Export variables.').addOption(new Option('-i, --variable-id <variable-id>', 'Variable 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 variables to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all variables to separate files (*.variable.json) in the current directory. Ignored with -i or -a.')).addOption(new Option('--no-decode', 'Do not include decoded variable value in export').default(false, 'false')).action(
6
11
  // implement command logic inside action handler
7
12
  async (host, realm, user, password, options, command) => {
8
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await frodo.login.getTokens()) {
10
- // code goes here
14
+ if (options.variableId && (await getTokens())) {
15
+ verboseMessage(`Exporting variable "${options.variableId}" from realm "${state.getRealm()}"...`);
16
+ await exportVariableToFile(options.variableId, options.file, options.decode);
17
+ } else if (options.all && (await getTokens())) {
18
+ verboseMessage('Exporting all variables to a single file...');
19
+ await exportVariablesToFile(options.file, options.decode);
20
+ } else if (options.allSeparate && (await getTokens())) {
21
+ verboseMessage('Exporting all variables to separate files...');
22
+ await exportVariablesToFiles(options.decode);
11
23
  } else {
24
+ printMessage('Unrecognized combination of options or no options...', 'error');
25
+ program.help();
12
26
  process.exitCode = 1;
13
27
  }
14
28
  }
@@ -16,4 +30,4 @@ async (host, realm, user, password, options, command) => {
16
30
  );
17
31
 
18
32
  program.parse();
19
- //# sourceMappingURL=esv-variable-export.js.map
33
+ //# sourceMappingURL=esv-variable-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esv-variable-export.js","names":["FrodoCommand","Option","frodo","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","process","exitCode","parse"],"sources":["cli/esv/esv-variable-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\n\nconst program = new FrodoCommand('frodo esv variable export');\n\nprogram\n .description('Export variables.')\n .addOption(\n new Option(\n '-i, --variable-id <variable-id>',\n 'Variable 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 variables to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all variables to separate files (*.variable.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 frodo.login.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,KAAK,QAAQ,uBAAuB;AAE7C,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,2BAA2B,CAAC;AAE7DG,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIJ,MAAM,CACR,iCAAiC,EACjC,mDACF,CACF,CAAC,CACAI,SAAS,CAAC,IAAIJ,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEI,SAAS,CACR,IAAIJ,MAAM,CACR,WAAW,EACX,yDACF,CACF,CAAC,CACAI,SAAS,CACR,IAAIJ,MAAM,CACR,oBAAoB,EACpB,2GACF,CACF,CAAC,CACAK,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,KAAK,CAACY,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjC;EAAA,CACD,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"esv-variable-export.js","names":["frodo","state","Option","exportVariablesToFile","exportVariablesToFiles","exportVariableToFile","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","variableId","getRealm","file","decode","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/esv/esv-variable-export.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n exportVariablesToFile,\n exportVariablesToFiles,\n exportVariableToFile,\n} from '../../ops/VariablesOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo esv variable export');\n\nprogram\n .description('Export variables.')\n .addOption(\n new Option(\n '-i, --variable-id <variable-id>',\n 'Variable 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 variables to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all variables to separate files (*.variable.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '--no-decode',\n 'Do not include decoded variable value in export'\n ).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 (options.variableId && (await getTokens())) {\n verboseMessage(\n `Exporting variable \"${\n options.variableId\n }\" from realm \"${state.getRealm()}\"...`\n );\n await exportVariableToFile(\n options.variableId,\n options.file,\n options.decode\n );\n } else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all variables to a single file...');\n await exportVariablesToFile(options.file, options.decode);\n } else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all variables to separate files...');\n await exportVariablesToFiles(options.decode);\n } else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,qBAAqB,EACrBC,sBAAsB,EACtBC,oBAAoB,QACf,wBAAwB;AAC/B,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGT,KAAK,CAACU,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,2BAA2B,CAAC;AAE7DG,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIX,MAAM,CACR,iCAAiC,EACjC,mDACF,CACF,CAAC,CACAW,SAAS,CAAC,IAAIX,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,yDACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,2GACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,aAAa,EACb,iDACF,CAAC,CAACY,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1B,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAID,OAAO,CAACG,UAAU,KAAK,MAAMd,SAAS,CAAC,CAAC,CAAC,EAAE;IAC7CF,cAAc,CACX,uBACCa,OAAO,CAACG,UACT,iBAAgBtB,KAAK,CAACuB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACD,MAAMnB,oBAAoB,CACxBe,OAAO,CAACG,UAAU,EAClBH,OAAO,CAACK,IAAI,EACZL,OAAO,CAACM,MACV,CAAC;EACH,CAAC,MAAM,IAAIN,OAAO,CAACO,GAAG,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC7CF,cAAc,CAAC,6CAA6C,CAAC;IAC7D,MAAMJ,qBAAqB,CAACiB,OAAO,CAACK,IAAI,EAAEL,OAAO,CAACM,MAAM,CAAC;EAC3D,CAAC,MAAM,IAAIN,OAAO,CAACQ,WAAW,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IACrDF,cAAc,CAAC,8CAA8C,CAAC;IAC9D,MAAMH,sBAAsB,CAACgB,OAAO,CAACM,MAAM,CAAC;EAC9C,CAAC,MAAM;IACLpB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACkB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHpB,OAAO,CAACqB,KAAK,CAAC,CAAC"}
@@ -1,12 +1,15 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
2
+ import { Option } from 'commander';
3
+ import { FrodoCommand } from '../FrodoCommand';
4
+ const {
5
+ getTokens
6
+ } = frodo.login;
4
7
  const program = new FrodoCommand('frodo esv variable import');
5
8
  program.description('Import variables.').addOption(new Option('-i, --variable-id <variable-id>', 'Variable id. If specified, only one variable 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 variables from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all variables from separate files (*.variable.json) in the current directory. Ignored with -i or -a.')).action(
6
9
  // implement command logic inside action handler
7
10
  async (host, realm, user, password, options, command) => {
8
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
9
- if (await frodo.login.getTokens()) {
12
+ if (await getTokens()) {
10
13
  // code goes here
11
14
  } else {
12
15
  process.exitCode = 1;
@@ -16,4 +19,4 @@ async (host, realm, user, password, options, command) => {
16
19
  );
17
20
 
18
21
  program.parse();
19
- //# sourceMappingURL=esv-variable-import.js.map
22
+ //# sourceMappingURL=esv-variable-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esv-variable-import.js","names":["FrodoCommand","Option","frodo","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","process","exitCode","parse"],"sources":["cli/esv/esv-variable-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\n\nconst program = new FrodoCommand('frodo esv variable import');\n\nprogram\n .description('Import variables.')\n .addOption(\n new Option(\n '-i, --variable-id <variable-id>',\n 'Variable id. If specified, only one variable 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 variables from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all variables from separate files (*.variable.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 frodo.login.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,KAAK,QAAQ,uBAAuB;AAE7C,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,2BAA2B,CAAC;AAE7DG,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIJ,MAAM,CACR,iCAAiC,EACjC,iGACF,CACF,CAAC,CACAI,SAAS,CAAC,IAAIJ,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEI,SAAS,CACR,IAAIJ,MAAM,CACR,WAAW,EACX,yDACF,CACF,CAAC,CACAI,SAAS,CACR,IAAIJ,MAAM,CACR,oBAAoB,EACpB,6GACF,CACF,CAAC,CACAK,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,KAAK,CAACY,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjC;EAAA,CACD,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"esv-variable-import.js","names":["frodo","Option","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/esv/esv-variable-import.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo esv variable import');\n\nprogram\n .description('Import variables.')\n .addOption(\n new Option(\n '-i, --variable-id <variable-id>',\n 'Variable id. If specified, only one variable 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 variables from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all variables from separate files (*.variable.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,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGH,KAAK,CAACI,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,2BAA2B,CAAC;AAE7DG,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIN,MAAM,CACR,iCAAiC,EACjC,iGACF,CACF,CAAC,CACAM,SAAS,CAAC,IAAIN,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEM,SAAS,CACR,IAAIN,MAAM,CACR,WAAW,EACX,yDACF,CACF,CAAC,CACAM,SAAS,CACR,IAAIN,MAAM,CACR,oBAAoB,EACpB,6GACF,CACF,CAAC,CACAO,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1,14 +1,17 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { verboseMessage } from '../../utils/Console.js';
2
+ import { Option } from 'commander';
5
3
  import { listVariables } from '../../ops/VariablesOps';
4
+ import { verboseMessage } from '../../utils/Console.js';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo esv variable list');
7
10
  program.description('List variables.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
- if (await frodo.login.getTokens()) {
14
+ if (await getTokens()) {
12
15
  verboseMessage('Listing variables...');
13
16
  listVariables(options.long);
14
17
  } else {
@@ -19,4 +22,4 @@ async (host, realm, user, password, options, command) => {
19
22
  );
20
23
 
21
24
  program.parse();
22
- //# sourceMappingURL=esv-variable-list.js.map
25
+ //# sourceMappingURL=esv-variable-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esv-variable-list.js","names":["FrodoCommand","Option","frodo","verboseMessage","listVariables","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","long","process","exitCode","parse"],"sources":["cli/esv/esv-variable-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { listVariables } from '../../ops/VariablesOps';\n\nconst program = new FrodoCommand('frodo esv variable list');\n\nprogram\n .description('List variables.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n verboseMessage('Listing variables...');\n listVariables(options.long);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,aAAa,QAAQ,wBAAwB;AAEtD,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,yBAAyB,CAAC;AAE3DK,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CACR,IAAIN,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACO,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,KAAK,CAACe,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCf,cAAc,CAAC,sBAAsB,CAAC;IACtCC,aAAa,CAACU,OAAO,CAACK,IAAI,CAAC;EAC7B,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACiB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"esv-variable-list.js","names":["frodo","Option","listVariables","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","long","process","exitCode","parse"],"sources":["../../../src/cli/esv/esv-variable-list.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { listVariables } from '../../ops/VariablesOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo esv variable list');\n\nprogram\n .description('List variables.')\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 variables...');\n listVariables(options.long);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,yBAAyB,CAAC;AAE3DG,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,cAAc,CAAC,sBAAsB,CAAC;IACtCD,aAAa,CAACc,OAAO,CAACG,IAAI,CAAC;EAC7B,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
@@ -1,16 +1,19 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
1
  import { frodo } from '@rockcarver/frodo-lib';
3
- import { printMessage, verboseMessage } from '../../utils/Console.js';
4
2
  import { setVariableDescription, updateVariable } from '../../ops/VariablesOps';
3
+ import { printMessage, verboseMessage } from '../../utils/Console.js';
4
+ import { FrodoCommand } from '../FrodoCommand';
5
+ const {
6
+ getTokens
7
+ } = frodo.login;
5
8
  const program = new FrodoCommand('frodo esv variable set');
6
9
  program.description('Set variable description.').requiredOption('-i, --variable-id <variable-id>', 'Variable id.').option('--value [value]', 'Variable value.').option('--description [description]', 'Variable description.').action(
7
10
  // implement command logic inside action handler
8
11
  async (host, realm, user, password, options, command) => {
9
12
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
10
- if (options.variableId && options.value && options.description && (await frodo.login.getTokens())) {
13
+ if (options.variableId && options.value && options.description && (await getTokens())) {
11
14
  verboseMessage('Updating variable...');
12
15
  updateVariable(options.variableId, options.value, options.description);
13
- } else if (options.variableId && options.description && (await frodo.login.getTokens())) {
16
+ } else if (options.variableId && options.description && (await getTokens())) {
14
17
  verboseMessage('Updating variable...');
15
18
  setVariableDescription(options.variableId, options.description);
16
19
  }
@@ -25,4 +28,4 @@ async (host, realm, user, password, options, command) => {
25
28
  );
26
29
 
27
30
  program.parse();
28
- //# sourceMappingURL=esv-variable-set.js.map
31
+ //# sourceMappingURL=esv-variable-set.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esv-variable-set.js","names":["FrodoCommand","frodo","printMessage","verboseMessage","setVariableDescription","updateVariable","program","description","requiredOption","option","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","variableId","value","login","getTokens","help","process","exitCode","parse"],"sources":["cli/esv/esv-variable-set.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { setVariableDescription, updateVariable } from '../../ops/VariablesOps';\n\nconst program = new FrodoCommand('frodo esv variable set');\n\nprogram\n .description('Set variable description.')\n .requiredOption('-i, --variable-id <variable-id>', 'Variable id.')\n .option('--value [value]', 'Variable value.')\n .option('--description [description]', 'Variable description.')\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 (\n options.variableId &&\n options.value &&\n options.description &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage('Updating variable...');\n updateVariable(options.variableId, options.value, options.description);\n } else if (\n options.variableId &&\n options.description &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage('Updating variable...');\n setVariableDescription(options.variableId, options.description);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Provide --variable-id and either one or both of --value and --description.'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,sBAAsB,EAAEC,cAAc,QAAQ,wBAAwB;AAE/E,MAAMC,OAAO,GAAG,IAAIN,YAAY,CAAC,wBAAwB,CAAC;AAE1DM,OAAO,CACJC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,cAAc,CAAC,iCAAiC,EAAE,cAAc,CAAC,CACjEC,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAC5CA,MAAM,CAAC,6BAA6B,EAAE,uBAAuB,CAAC,CAC9DC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IACED,OAAO,CAACG,UAAU,IAClBH,OAAO,CAACI,KAAK,IACbJ,OAAO,CAACR,WAAW,KAClB,MAAMN,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CAAC,sBAAsB,CAAC;IACtCE,cAAc,CAACU,OAAO,CAACG,UAAU,EAAEH,OAAO,CAACI,KAAK,EAAEJ,OAAO,CAACR,WAAW,CAAC;EACxE,CAAC,MAAM,IACLQ,OAAO,CAACG,UAAU,IAClBH,OAAO,CAACR,WAAW,KAClB,MAAMN,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CAAC,sBAAsB,CAAC;IACtCC,sBAAsB,CAACW,OAAO,CAACG,UAAU,EAAEH,OAAO,CAACR,WAAW,CAAC;EACjE;EACA;EAAA,KACK;IACHL,YAAY,CACV,4EACF,CAAC;IACDI,OAAO,CAACgB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHlB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"esv-variable-set.js","names":["frodo","setVariableDescription","updateVariable","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","requiredOption","option","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","variableId","value","help","process","exitCode","parse"],"sources":["../../../src/cli/esv/esv-variable-set.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\n\nimport { setVariableDescription, updateVariable } from '../../ops/VariablesOps';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo esv variable set');\n\nprogram\n .description('Set variable description.')\n .requiredOption('-i, --variable-id <variable-id>', 'Variable id.')\n .option('--value [value]', 'Variable value.')\n .option('--description [description]', 'Variable description.')\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 (\n options.variableId &&\n options.value &&\n options.description &&\n (await getTokens())\n ) {\n verboseMessage('Updating variable...');\n updateVariable(options.variableId, options.value, options.description);\n } else if (\n options.variableId &&\n options.description &&\n (await getTokens())\n ) {\n verboseMessage('Updating variable...');\n setVariableDescription(options.variableId, options.description);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Provide --variable-id and either one or both of --value and --description.'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAE7C,SAASC,sBAAsB,EAAEC,cAAc,QAAQ,wBAAwB;AAC/E,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGN,KAAK,CAACO,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,wBAAwB,CAAC;AAE1DG,OAAO,CACJC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,cAAc,CAAC,iCAAiC,EAAE,cAAc,CAAC,CACjEC,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAC5CA,MAAM,CAAC,6BAA6B,EAAE,uBAAuB,CAAC,CAC9DC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IACED,OAAO,CAACG,UAAU,IAClBH,OAAO,CAACI,KAAK,IACbJ,OAAO,CAACR,WAAW,KAClB,MAAMH,SAAS,CAAC,CAAC,CAAC,EACnB;IACAF,cAAc,CAAC,sBAAsB,CAAC;IACtCF,cAAc,CAACe,OAAO,CAACG,UAAU,EAAEH,OAAO,CAACI,KAAK,EAAEJ,OAAO,CAACR,WAAW,CAAC;EACxE,CAAC,MAAM,IACLQ,OAAO,CAACG,UAAU,IAClBH,OAAO,CAACR,WAAW,KAClB,MAAMH,SAAS,CAAC,CAAC,CAAC,EACnB;IACAF,cAAc,CAAC,sBAAsB,CAAC;IACtCH,sBAAsB,CAACgB,OAAO,CAACG,UAAU,EAAEH,OAAO,CAACR,WAAW,CAAC;EACjE;EACA;EAAA,KACK;IACHN,YAAY,CACV,4EACF,CAAC;IACDK,OAAO,CAACc,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACiB,KAAK,CAAC,CAAC"}
@@ -4,12 +4,11 @@ program.description('Manage variables.');
4
4
  program.command('create', 'Create variables.');
5
5
  program.command('delete', 'Delete variables.');
6
6
  program.command('describe', 'Describe variables.');
7
-
8
- // program.command('export', 'Export variables.');
7
+ program.command('export', 'Export variables.');
9
8
 
10
9
  // program.command('import', 'Import variables.');
11
10
 
12
11
  program.command('list', 'List variables.');
13
12
  program.command('set', 'Set variable descriptions.');
14
13
  program.parse();
15
- //# sourceMappingURL=esv-variable.js.map
14
+ //# sourceMappingURL=esv-variable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esv-variable.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["cli/esv/esv-variable.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo esv variable');\n\nprogram.description('Manage variables.');\n\nprogram.command('create', 'Create variables.');\n\nprogram.command('delete', 'Delete variables.');\n\nprogram.command('describe', 'Describe variables.');\n\n// program.command('export', 'Export variables.');\n\n// program.command('import', 'Import variables.');\n\nprogram.command('list', 'List variables.');\n\nprogram.command('set', 'Set variable descriptions.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,oBAAoB,CAAC;AAE1DC,OAAO,CAACC,WAAW,CAAC,mBAAmB,CAAC;AAExCD,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AAE9CF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AAE9CF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC;;AAElD;;AAEA;;AAEAF,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;AAE1CF,OAAO,CAACE,OAAO,CAAC,KAAK,EAAE,4BAA4B,CAAC;AAEpDF,OAAO,CAACG,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"esv-variable.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["../../../src/cli/esv/esv-variable.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo esv variable');\n\nprogram.description('Manage variables.');\n\nprogram.command('create', 'Create variables.');\n\nprogram.command('delete', 'Delete variables.');\n\nprogram.command('describe', 'Describe variables.');\n\nprogram.command('export', 'Export variables.');\n\n// program.command('import', 'Import variables.');\n\nprogram.command('list', 'List variables.');\n\nprogram.command('set', 'Set variable descriptions.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,oBAAoB,CAAC;AAE1DC,OAAO,CAACC,WAAW,CAAC,mBAAmB,CAAC;AAExCD,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AAE9CF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AAE9CF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC;AAElDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;;AAE9C;;AAEAF,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;AAE1CF,OAAO,CAACE,OAAO,CAAC,KAAK,EAAE,4BAA4B,CAAC;AAEpDF,OAAO,CAACG,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { FrodoStubCommand } from '../FrodoCommand';
2
1
  import path from 'path';
3
2
  import { fileURLToPath } from 'url';
3
+ import { FrodoStubCommand } from '../FrodoCommand';
4
4
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  export default function setup() {
6
6
  const program = new FrodoStubCommand('esv').description('Manage environment secrets and variables (ESVs).').executableDir(__dirname);
@@ -9,4 +9,4 @@ export default function setup() {
9
9
  program.command('variable', 'Manage variables.');
10
10
  return program;
11
11
  }
12
- //# sourceMappingURL=esv.js.map
12
+ //# sourceMappingURL=esv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esv.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/esv/esv.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('esv')\n .description('Manage environment secrets and variables (ESVs).')\n .executableDir(__dirname);\n\n program.command('apply', 'Apply pending changes.');\n\n program.command('secret', 'Manage secrets.');\n\n program.command('variable', 'Manage variables.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,KAAK,CAAC,CACxCU,WAAW,CAAC,kDAAkD,CAAC,CAC/DC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC;EAElDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC;EAE5CH,OAAO,CAACG,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC;EAEhD,OAAOH,OAAO;AAChB"}
1
+ {"version":3,"file":"esv.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["../../../src/cli/esv/esv.ts"],"sourcesContent":["import path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FrodoStubCommand } from '../FrodoCommand';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('esv')\n .description('Manage environment secrets and variables (ESVs).')\n .executableDir(__dirname);\n\n program.command('apply', 'Apply pending changes.');\n\n program.command('secret', 'Manage secrets.');\n\n program.command('variable', 'Manage variables.');\n\n return program;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,KAAK,CAAC,CACxCQ,WAAW,CAAC,kDAAkD,CAAC,CAC/DC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC;EAElDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC;EAE5CH,OAAO,CAACG,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC;EAEhD,OAAOH,OAAO;AAChB"}
@@ -1,14 +1,17 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { verboseMessage } from '../../utils/Console';
2
+ import { Option } from 'commander';
5
3
  import { countManagedObjects } from '../../ops/IdmOps';
4
+ import { verboseMessage } from '../../utils/Console';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo idm count');
7
- program.description('Count managed objects.').addOption(new Option('-m, --managed-object <type>', 'Type of managed object to count. E.g. "alpha_user", "alpha_role", "user", "role".')).action(
10
+ program.description('Count managed objects.').addOption(new Option('-o, --managed-object <type>', 'Type of managed object to count. E.g. "alpha_user", "alpha_role", "user", "role".')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
- if (await frodo.login.getTokens()) {
14
+ if (await getTokens()) {
12
15
  verboseMessage(`Counting managed ${options.managedObject} objects...`);
13
16
  countManagedObjects(options.managedObject);
14
17
  } else {
@@ -19,4 +22,4 @@ async (host, realm, user, password, options, command) => {
19
22
  );
20
23
 
21
24
  program.parse();
22
- //# sourceMappingURL=idm-count.js.map
25
+ //# sourceMappingURL=idm-count.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idm-count.js","names":["FrodoCommand","Option","frodo","verboseMessage","countManagedObjects","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","managedObject","process","exitCode","parse"],"sources":["cli/idm/idm-count.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console';\nimport { countManagedObjects } from '../../ops/IdmOps';\n\nconst program = new FrodoCommand('frodo idm count');\n\nprogram\n .description('Count managed objects.')\n .addOption(\n new Option(\n '-m, --managed-object <type>',\n 'Type of managed object to count. E.g. \"alpha_user\", \"alpha_role\", \"user\", \"role\".'\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 frodo.login.getTokens()) {\n verboseMessage(`Counting managed ${options.managedObject} objects...`);\n countManagedObjects(options.managedObject);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,mBAAmB,QAAQ,kBAAkB;AAEtD,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,iBAAiB,CAAC;AAEnDK,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIN,MAAM,CACR,6BAA6B,EAC7B,mFACF,CACF,CAAC,CACAO,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,KAAK,CAACc,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCd,cAAc,CAAE,oBAAmBU,OAAO,CAACK,aAAc,aAAY,CAAC;IACtEd,mBAAmB,CAACS,OAAO,CAACK,aAAa,CAAC;EAC5C,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"idm-count.js","names":["frodo","Option","countManagedObjects","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","managedObject","process","exitCode","parse"],"sources":["../../../src/cli/idm/idm-count.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { countManagedObjects } from '../../ops/IdmOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo idm count');\n\nprogram\n .description('Count managed objects.')\n .addOption(\n new Option(\n '-o, --managed-object <type>',\n 'Type of managed object to count. E.g. \"alpha_user\", \"alpha_role\", \"user\", \"role\".'\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(`Counting managed ${options.managedObject} objects...`);\n countManagedObjects(options.managedObject);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,mBAAmB,QAAQ,kBAAkB;AACtD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,iBAAiB,CAAC;AAEnDG,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIR,MAAM,CACR,6BAA6B,EAC7B,mFACF,CACF,CAAC,CACAS,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrBF,cAAc,CAAE,oBAAmBY,OAAO,CAACG,aAAc,aAAY,CAAC;IACtEhB,mBAAmB,CAACa,OAAO,CAACG,aAAa,CAAC;EAC5C,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHb,OAAO,CAACc,KAAK,CAAC,CAAC"}
@@ -1,28 +1,37 @@
1
- import { FrodoCommand } from '../FrodoCommand';
1
+ import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { frodo } from '@rockcarver/frodo-lib';
4
- import { printMessage, verboseMessage } from '../../utils/Console';
5
3
  import { exportAllConfigEntities, exportAllRawConfigEntities, exportConfigEntity, warnAboutOfflineConnectorServers } from '../../ops/IdmOps';
4
+ import { printMessage, verboseMessage } from '../../utils/Console';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo idm export');
7
- program.description('Export IDM configuration objects.').addOption(new Option('-N, --name <name>', 'Config entity name. E.g. "managed", "sync", "provisioner-<connector-name>", etc.')).addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.')).addOption(new Option('-E, --entities-file [entities-file]', 'Name of the entity file. Ignored with -A.')).addOption(new Option('-e, --env-file [envfile]', 'Name of the env file. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.')).addOption(new Option('-A, --all-separate', 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.')).addOption(new Option('-D, --directory <directory>', 'Export directory. Required with and ignored without -a/-A.')).action(
10
+ program.description('Export IDM configuration objects.').addOption(new Option('-N, --name <name>', 'Config entity name. E.g. "managed", "sync", "provisioner-<connector-name>", etc.')).addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.')).addOption(new Option('-E, --entities-file [entities-file]', 'Name of the entity file. Ignored with -A.')).addOption(new Option('-e, --env-file [envfile]', 'Name of the env file. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.')).addOption(new Option('-A, --all-separate', 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
14
  // export by id/name
12
- if (options.name && (await frodo.login.getTokens())) {
15
+ if (options.name && (await getTokens())) {
13
16
  verboseMessage(`Exporting object "${options.name}"...`);
14
17
  exportConfigEntity(options.name, options.file);
15
18
  }
19
+ // require --directory -D for all-separate functions
20
+ else if (options.allSeparate && !state.getDirectory()) {
21
+ printMessage('-D or --directory required when using -A or --all-separate', 'error');
22
+ program.help();
23
+ process.exitCode = 1;
24
+ }
16
25
  // --all-separate -A
17
- else if (options.allSeparate && options.directory && options.entitiesFile && options.envFile && (await frodo.login.getTokens())) {
18
- verboseMessage(`Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`);
19
- exportAllConfigEntities(options.directory, options.entitiesFile, options.envFile);
26
+ else if (options.allSeparate && options.entitiesFile && options.envFile && (await getTokens())) {
27
+ verboseMessage(`Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${state.getDirectory()} using ${options.envFile} for variable replacement...`);
28
+ exportAllConfigEntities(options.entitiesFile, options.envFile);
20
29
  warnAboutOfflineConnectorServers();
21
30
  }
22
31
  // --all-separate -A without variable replacement
23
- else if (options.allSeparate && options.directory && (await frodo.login.getTokens())) {
24
- verboseMessage(`Exporting all IDM configuration objects into separate files in ${options.directory}...`);
25
- exportAllRawConfigEntities(options.directory);
32
+ else if (options.allSeparate && (await getTokens())) {
33
+ verboseMessage(`Exporting all IDM configuration objects into separate files in ${state.getDirectory()}...`);
34
+ exportAllRawConfigEntities();
26
35
  warnAboutOfflineConnectorServers();
27
36
  }
28
37
  // unrecognized combination of options or no options
@@ -36,4 +45,4 @@ async (host, realm, user, password, options, command) => {
36
45
  );
37
46
 
38
47
  program.parse();
39
- //# sourceMappingURL=idm-export.js.map
48
+ //# sourceMappingURL=idm-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idm-export.js","names":["FrodoCommand","Option","frodo","printMessage","verboseMessage","exportAllConfigEntities","exportAllRawConfigEntities","exportConfigEntity","warnAboutOfflineConnectorServers","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","login","getTokens","file","allSeparate","directory","entitiesFile","envFile","help","process","exitCode","parse"],"sources":["cli/idm/idm-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n exportAllConfigEntities,\n exportAllRawConfigEntities,\n exportConfigEntity,\n warnAboutOfflineConnectorServers,\n} from '../../ops/IdmOps';\n\nconst program = new FrodoCommand('frodo idm export');\n\nprogram\n .description('Export IDM configuration objects.')\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.'\n )\n )\n .addOption(\n new Option(\n '-D, --directory <directory>',\n 'Export directory. Required with and ignored without -a/-A.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // export by id/name\n if (options.name && (await frodo.login.getTokens())) {\n verboseMessage(`Exporting object \"${options.name}\"...`);\n exportConfigEntity(options.name, options.file);\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.directory &&\n options.entitiesFile &&\n options.envFile &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`\n );\n exportAllConfigEntities(\n options.directory,\n options.entitiesFile,\n options.envFile\n );\n warnAboutOfflineConnectorServers();\n }\n // --all-separate -A without variable replacement\n else if (\n options.allSeparate &&\n options.directory &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Exporting all IDM configuration objects into separate files in ${options.directory}...`\n );\n exportAllRawConfigEntities(options.directory);\n warnAboutOfflineConnectorServers();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,kBAAkB,EAClBC,gCAAgC,QAC3B,kBAAkB;AAEzB,MAAMC,OAAO,GAAG,IAAIT,YAAY,CAAC,kBAAkB,CAAC;AAEpDS,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,kFACF,CACF,CAAC,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EU,SAAS,CACR,IAAIV,MAAM,CACR,qCAAqC,EACrC,2CACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,0BAA0B,EAC1B,wCACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,2FACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,yGACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,6BAA6B,EAC7B,4DACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMlB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDlB,cAAc,CAAE,qBAAoBa,OAAO,CAACG,IAAK,MAAK,CAAC;IACvDb,kBAAkB,CAACU,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACM,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IACHN,OAAO,CAACO,WAAW,IACnBP,OAAO,CAACQ,SAAS,IACjBR,OAAO,CAACS,YAAY,IACpBT,OAAO,CAACU,OAAO,KACd,MAAMzB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CACX,oDAAmDa,OAAO,CAACS,YAAa,2BAA0BT,OAAO,CAACQ,SAAU,UAASR,OAAO,CAACU,OAAQ,8BAChJ,CAAC;IACDtB,uBAAuB,CACrBY,OAAO,CAACQ,SAAS,EACjBR,OAAO,CAACS,YAAY,EACpBT,OAAO,CAACU,OACV,CAAC;IACDnB,gCAAgC,CAAC,CAAC;EACpC;EACA;EAAA,KACK,IACHS,OAAO,CAACO,WAAW,IACnBP,OAAO,CAACQ,SAAS,KAChB,MAAMvB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CACX,kEAAiEa,OAAO,CAACQ,SAAU,KACtF,CAAC;IACDnB,0BAA0B,CAACW,OAAO,CAACQ,SAAS,CAAC;IAC7CjB,gCAAgC,CAAC,CAAC;EACpC;EACA;EAAA,KACK;IACHL,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDM,OAAO,CAACmB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHrB,OAAO,CAACsB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"idm-export.js","names":["frodo","state","Option","exportAllConfigEntities","exportAllRawConfigEntities","exportConfigEntity","warnAboutOfflineConnectorServers","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","file","allSeparate","getDirectory","help","process","exitCode","entitiesFile","envFile","parse"],"sources":["../../../src/cli/idm/idm-export.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n exportAllConfigEntities,\n exportAllRawConfigEntities,\n exportConfigEntity,\n warnAboutOfflineConnectorServers,\n} from '../../ops/IdmOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo idm export');\n\nprogram\n .description('Export IDM configuration objects.')\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // export by id/name\n if (options.name && (await getTokens())) {\n verboseMessage(`Exporting object \"${options.name}\"...`);\n exportConfigEntity(options.name, options.file);\n }\n // require --directory -D for all-separate functions\n else if (options.allSeparate && !state.getDirectory()) {\n printMessage(\n '-D or --directory required when using -A or --all-separate',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.entitiesFile &&\n options.envFile &&\n (await getTokens())\n ) {\n verboseMessage(\n `Exporting IDM configuration objects specified in ${\n options.entitiesFile\n } into separate files in ${state.getDirectory()} using ${\n options.envFile\n } for variable replacement...`\n );\n exportAllConfigEntities(options.entitiesFile, options.envFile);\n warnAboutOfflineConnectorServers();\n }\n // --all-separate -A without variable replacement\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage(\n `Exporting all IDM configuration objects into separate files in ${state.getDirectory()}...`\n );\n exportAllRawConfigEntities();\n warnAboutOfflineConnectorServers();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,kBAAkB,EAClBC,gCAAgC,QAC3B,kBAAkB;AACzB,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGV,KAAK,CAACW,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,kBAAkB,CAAC;AAEpDG,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIZ,MAAM,CACR,mBAAmB,EACnB,kFACF,CACF,CAAC,CACAY,SAAS,CAAC,IAAIZ,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EY,SAAS,CACR,IAAIZ,MAAM,CACR,qCAAqC,EACrC,2CACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,0BAA0B,EAC1B,wCACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,WAAW,EACX,2FACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,oBAAoB,EACpB,yGACF,CACF,CAAC,CACAa,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IACvCF,cAAc,CAAE,qBAAoBY,OAAO,CAACG,IAAK,MAAK,CAAC;IACvDlB,kBAAkB,CAACe,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACI,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IAAIJ,OAAO,CAACK,WAAW,IAAI,CAACxB,KAAK,CAACyB,YAAY,CAAC,CAAC,EAAE;IACrDnB,YAAY,CACV,4DAA4D,EAC5D,OACF,CAAC;IACDK,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;EACA;EAAA,KACK,IACHT,OAAO,CAACK,WAAW,IACnBL,OAAO,CAACU,YAAY,IACpBV,OAAO,CAACW,OAAO,KACd,MAAMrB,SAAS,CAAC,CAAC,CAAC,EACnB;IACAF,cAAc,CACX,oDACCY,OAAO,CAACU,YACT,2BAA0B7B,KAAK,CAACyB,YAAY,CAAC,CAAE,UAC9CN,OAAO,CAACW,OACT,8BACH,CAAC;IACD5B,uBAAuB,CAACiB,OAAO,CAACU,YAAY,EAAEV,OAAO,CAACW,OAAO,CAAC;IAC9DzB,gCAAgC,CAAC,CAAC;EACpC;EACA;EAAA,KACK,IAAIc,OAAO,CAACK,WAAW,KAAK,MAAMf,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDF,cAAc,CACX,kEAAiEP,KAAK,CAACyB,YAAY,CAAC,CAAE,KACzF,CAAC;IACDtB,0BAA0B,CAAC,CAAC;IAC5BE,gCAAgC,CAAC,CAAC;EACpC;EACA;EAAA,KACK;IACHC,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHjB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
@@ -1,32 +1,41 @@
1
- import { FrodoCommand } from '../FrodoCommand';
1
+ import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { frodo } from '@rockcarver/frodo-lib';
4
- import { printMessage, verboseMessage } from '../../utils/Console';
5
3
  import { importAllConfigEntities, importAllRawConfigEntities, importConfigEntityByIdFromFile, importConfigEntityFromFile } from '../../ops/IdmOps';
4
+ import { printMessage, verboseMessage } from '../../utils/Console';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo idm import');
7
- program.description('Import IDM configuration objects.').addOption(new Option('-N, --name <name>', 'Config entity name. E.g. "managed", "sync", "provisioner-<connector-name>", etc.')).addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.')).addOption(new Option('-E, --entities-file [entities-file]', 'Name of the entity file. Ignored with -A.')).addOption(new Option('-e, --env-file [envfile]', 'Name of the env file. Ignored with -A.')).addOption(new Option('-A, --all-separate', 'Import all IDM configuration objects from separate files in directory -D. Ignored with -N, and -a.')).addOption(new Option('-D, --directory <directory>', 'Import directory. Required with and ignored without -a/-A.')).action(
10
+ program.description('Import IDM configuration objects.').addOption(new Option('-N, --name <name>', 'Config entity name. E.g. "managed", "sync", "provisioner-<connector-name>", etc.')).addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.')).addOption(new Option('-E, --entities-file [entities-file]', 'Name of the entity file. Ignored with -A.')).addOption(new Option('-e, --env-file [envfile]', 'Name of the env file. Ignored with -A.')).addOption(new Option('-A, --all-separate', 'Import all IDM configuration objects from separate files in directory -D. Ignored with -N, and -a.')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
14
  // import by id/name
12
- if (options.name && (await frodo.login.getTokens())) {
15
+ if (options.name && (await getTokens())) {
13
16
  verboseMessage(`Importing object "${options.name}"...`);
14
17
  await importConfigEntityByIdFromFile(options.name, options.file);
15
18
  }
16
19
  // import from file
17
- if (options.file && (await frodo.login.getTokens())) {
20
+ else if (options.file && (await getTokens())) {
18
21
  verboseMessage(`Importing object from file...`);
19
22
  await importConfigEntityFromFile(options.file);
20
23
  }
24
+ // require --directory -D for all-separate functions
25
+ else if (options.allSeparate && !state.getDirectory()) {
26
+ printMessage('-D or --directory required when using -A or --all-separate', 'error');
27
+ program.help();
28
+ process.exitCode = 1;
29
+ }
21
30
  // --all-separate -A
22
- else if (options.allSeparate && options.directory && options.entitiesFile && options.envFile && (await frodo.login.getTokens())) {
23
- verboseMessage(`Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`);
24
- await importAllConfigEntities(options.directory, options.entitiesFile, options.envFile);
31
+ else if (options.allSeparate && options.entitiesFile && options.envFile && (await getTokens())) {
32
+ verboseMessage(`Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${state.getDirectory()} using ${options.envFile} for variable replacement...`);
33
+ await importAllConfigEntities(options.entitiesFile, options.envFile);
25
34
  }
26
35
  // --all-separate -A without variable replacement
27
- else if (options.allSeparate && options.directory && (await frodo.login.getTokens())) {
28
- verboseMessage(`Importing all IDM configuration objects from separate files in ${options.directory}...`);
29
- await importAllRawConfigEntities(options.directory);
36
+ else if (options.allSeparate && (await getTokens())) {
37
+ verboseMessage(`Importing all IDM configuration objects from separate files in ${state.getDirectory()}...`);
38
+ await importAllRawConfigEntities();
30
39
  }
31
40
  // unrecognized combination of options or no options
32
41
  else {
@@ -39,4 +48,4 @@ async (host, realm, user, password, options, command) => {
39
48
  );
40
49
 
41
50
  program.parse();
42
- //# sourceMappingURL=idm-import.js.map
51
+ //# sourceMappingURL=idm-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idm-import.js","names":["FrodoCommand","Option","frodo","printMessage","verboseMessage","importAllConfigEntities","importAllRawConfigEntities","importConfigEntityByIdFromFile","importConfigEntityFromFile","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","login","getTokens","file","allSeparate","directory","entitiesFile","envFile","help","process","exitCode","parse"],"sources":["cli/idm/idm-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n importAllConfigEntities,\n importAllRawConfigEntities,\n importConfigEntityByIdFromFile,\n importConfigEntityFromFile,\n} from '../../ops/IdmOps';\n\nconst program = new FrodoCommand('frodo idm import');\n\ninterface IdmImportOptions {\n type?: string;\n insecure?: boolean;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n name?: string;\n file?: string;\n entitiesFile?: string;\n envFile?: string;\n all?: string;\n allSeparate?: string;\n directory?: string;\n}\n\nprogram\n .description('Import IDM configuration objects.')\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all IDM configuration objects from separate files in directory -D. Ignored with -N, and -a.'\n )\n )\n .addOption(\n new Option(\n '-D, --directory <directory>',\n 'Import directory. Required with and ignored without -a/-A.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: IdmImportOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import by id/name\n if (options.name && (await frodo.login.getTokens())) {\n verboseMessage(`Importing object \"${options.name}\"...`);\n await importConfigEntityByIdFromFile(options.name, options.file);\n }\n // import from file\n if (options.file && (await frodo.login.getTokens())) {\n verboseMessage(`Importing object from file...`);\n await importConfigEntityFromFile(options.file);\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.directory &&\n options.entitiesFile &&\n options.envFile &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`\n );\n await importAllConfigEntities(\n options.directory,\n options.entitiesFile,\n options.envFile\n );\n }\n // --all-separate -A without variable replacement\n else if (\n options.allSeparate &&\n options.directory &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Importing all IDM configuration objects from separate files in ${options.directory}...`\n );\n await importAllRawConfigEntities(options.directory);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,8BAA8B,EAC9BC,0BAA0B,QACrB,kBAAkB;AAEzB,MAAMC,OAAO,GAAG,IAAIT,YAAY,CAAC,kBAAkB,CAAC;AAiBpDS,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,kFACF,CACF,CAAC,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EU,SAAS,CACR,IAAIV,MAAM,CACR,qCAAqC,EACrC,2CACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,0BAA0B,EAC1B,wCACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,oGACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,6BAA6B,EAC7B,4DACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAAyB,EACzBC,OAAO,KACJ;EACHA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMlB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDlB,cAAc,CAAE,qBAAoBa,OAAO,CAACG,IAAK,MAAK,CAAC;IACvD,MAAMb,8BAA8B,CAACU,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACM,IAAI,CAAC;EAClE;EACA;EACA,IAAIN,OAAO,CAACM,IAAI,KAAK,MAAMrB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDlB,cAAc,CAAE,+BAA8B,CAAC;IAC/C,MAAMI,0BAA0B,CAACS,OAAO,CAACM,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IACHN,OAAO,CAACO,WAAW,IACnBP,OAAO,CAACQ,SAAS,IACjBR,OAAO,CAACS,YAAY,IACpBT,OAAO,CAACU,OAAO,KACd,MAAMzB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CACX,oDAAmDa,OAAO,CAACS,YAAa,2BAA0BT,OAAO,CAACQ,SAAU,UAASR,OAAO,CAACU,OAAQ,8BAChJ,CAAC;IACD,MAAMtB,uBAAuB,CAC3BY,OAAO,CAACQ,SAAS,EACjBR,OAAO,CAACS,YAAY,EACpBT,OAAO,CAACU,OACV,CAAC;EACH;EACA;EAAA,KACK,IACHV,OAAO,CAACO,WAAW,IACnBP,OAAO,CAACQ,SAAS,KAChB,MAAMvB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CACX,kEAAiEa,OAAO,CAACQ,SAAU,KACtF,CAAC;IACD,MAAMnB,0BAA0B,CAACW,OAAO,CAACQ,SAAS,CAAC;EACrD;EACA;EAAA,KACK;IACHtB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDM,OAAO,CAACmB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHrB,OAAO,CAACsB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"idm-import.js","names":["frodo","state","Option","importAllConfigEntities","importAllRawConfigEntities","importConfigEntityByIdFromFile","importConfigEntityFromFile","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","file","allSeparate","getDirectory","help","process","exitCode","entitiesFile","envFile","parse"],"sources":["../../../src/cli/idm/idm-import.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n importAllConfigEntities,\n importAllRawConfigEntities,\n importConfigEntityByIdFromFile,\n importConfigEntityFromFile,\n} from '../../ops/IdmOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo idm import');\n\ninterface IdmImportOptions {\n type?: string;\n insecure?: boolean;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n name?: string;\n file?: string;\n entitiesFile?: string;\n envFile?: string;\n all?: string;\n allSeparate?: string;\n directory?: string;\n}\n\nprogram\n .description('Import IDM configuration objects.')\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all IDM configuration objects from separate files in directory -D. Ignored with -N, and -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: IdmImportOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import by id/name\n if (options.name && (await getTokens())) {\n verboseMessage(`Importing object \"${options.name}\"...`);\n await importConfigEntityByIdFromFile(options.name, options.file);\n }\n // import from file\n else if (options.file && (await getTokens())) {\n verboseMessage(`Importing object from file...`);\n await importConfigEntityFromFile(options.file);\n }\n // require --directory -D for all-separate functions\n else if (options.allSeparate && !state.getDirectory()) {\n printMessage(\n '-D or --directory required when using -A or --all-separate',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.entitiesFile &&\n options.envFile &&\n (await getTokens())\n ) {\n verboseMessage(\n `Importing IDM configuration objects specified in ${\n options.entitiesFile\n } into separate files in ${state.getDirectory()} using ${\n options.envFile\n } for variable replacement...`\n );\n await importAllConfigEntities(options.entitiesFile, options.envFile);\n }\n // --all-separate -A without variable replacement\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage(\n `Importing all IDM configuration objects from separate files in ${state.getDirectory()}...`\n );\n await importAllRawConfigEntities();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,8BAA8B,EAC9BC,0BAA0B,QACrB,kBAAkB;AACzB,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGV,KAAK,CAACW,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,kBAAkB,CAAC;AAiBpDG,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIZ,MAAM,CACR,mBAAmB,EACnB,kFACF,CACF,CAAC,CACAY,SAAS,CAAC,IAAIZ,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EY,SAAS,CACR,IAAIZ,MAAM,CACR,qCAAqC,EACrC,2CACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,0BAA0B,EAC1B,wCACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,oBAAoB,EACpB,oGACF,CACF,CAAC,CACAa,MAAM;AACL;AACA,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAAyB,EACzBC,OAAO,KACJ;EACHA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IACvCF,cAAc,CAAE,qBAAoBY,OAAO,CAACG,IAAK,MAAK,CAAC;IACvD,MAAMlB,8BAA8B,CAACe,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACI,IAAI,CAAC;EAClE;EACA;EAAA,KACK,IAAIJ,OAAO,CAACI,IAAI,KAAK,MAAMd,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CF,cAAc,CAAE,+BAA8B,CAAC;IAC/C,MAAMF,0BAA0B,CAACc,OAAO,CAACI,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IAAIJ,OAAO,CAACK,WAAW,IAAI,CAACxB,KAAK,CAACyB,YAAY,CAAC,CAAC,EAAE;IACrDnB,YAAY,CACV,4DAA4D,EAC5D,OACF,CAAC;IACDK,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;EACA;EAAA,KACK,IACHT,OAAO,CAACK,WAAW,IACnBL,OAAO,CAACU,YAAY,IACpBV,OAAO,CAACW,OAAO,KACd,MAAMrB,SAAS,CAAC,CAAC,CAAC,EACnB;IACAF,cAAc,CACX,oDACCY,OAAO,CAACU,YACT,2BAA0B7B,KAAK,CAACyB,YAAY,CAAC,CAAE,UAC9CN,OAAO,CAACW,OACT,8BACH,CAAC;IACD,MAAM5B,uBAAuB,CAACiB,OAAO,CAACU,YAAY,EAAEV,OAAO,CAACW,OAAO,CAAC;EACtE;EACA;EAAA,KACK,IAAIX,OAAO,CAACK,WAAW,KAAK,MAAMf,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDF,cAAc,CACX,kEAAiEP,KAAK,CAACyB,YAAY,CAAC,CAAE,KACzF,CAAC;IACD,MAAMtB,0BAA0B,CAAC,CAAC;EACpC;EACA;EAAA,KACK;IACHG,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHjB,OAAO,CAACoB,KAAK,CAAC,CAAC"}