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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/CHANGELOG.md +186 -3
  2. package/esm/app.js +14 -5
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +18 -4
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +7 -4
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -4
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -4
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -4
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +7 -4
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -4
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -4
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +1 -1
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +7 -4
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -4
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -4
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -4
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -4
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +7 -4
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -4
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -4
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +1 -1
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +2 -2
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -4
  43. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  44. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +14 -7
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-export.js +45 -0
  47. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-import.js +49 -0
  49. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-list.js +29 -0
  51. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  52. package/esm/cli/admin/admin-federation.js +13 -0
  53. package/esm/cli/admin/admin-federation.js.map +1 -0
  54. package/esm/cli/admin/admin-get-access-token.js +12 -6
  55. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  56. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +12 -6
  57. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -5
  59. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  60. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +10 -4
  61. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +10 -4
  63. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-list-static-user-mappings.js +11 -5
  65. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  66. package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -5
  67. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  68. package/esm/cli/admin/admin-repair-org-model.js +11 -5
  69. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  70. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -6
  71. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  72. package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -5
  73. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  74. package/esm/cli/admin/admin.js +3 -2
  75. package/esm/cli/admin/admin.js.map +1 -1
  76. package/esm/cli/agent/agent-delete.js +13 -6
  77. package/esm/cli/agent/agent-delete.js.map +1 -1
  78. package/esm/cli/agent/agent-describe.js +7 -4
  79. package/esm/cli/agent/agent-describe.js.map +1 -1
  80. package/esm/cli/agent/agent-export.js +8 -5
  81. package/esm/cli/agent/agent-export.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-delete.js +13 -6
  83. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-describe.js +7 -4
  85. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  86. package/esm/cli/agent/agent-gateway-export.js +8 -5
  87. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-import.js +8 -5
  89. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-list.js +7 -4
  91. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway.js +1 -1
  93. package/esm/cli/agent/agent-gateway.js.map +1 -1
  94. package/esm/cli/agent/agent-import.js +8 -5
  95. package/esm/cli/agent/agent-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-delete.js +13 -6
  97. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  98. package/esm/cli/agent/agent-java-describe.js +7 -4
  99. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  100. package/esm/cli/agent/agent-java-export.js +8 -5
  101. package/esm/cli/agent/agent-java-export.js.map +1 -1
  102. package/esm/cli/agent/agent-java-import.js +8 -5
  103. package/esm/cli/agent/agent-java-import.js.map +1 -1
  104. package/esm/cli/agent/agent-java-list.js +7 -4
  105. package/esm/cli/agent/agent-java-list.js.map +1 -1
  106. package/esm/cli/agent/agent-java.js +1 -1
  107. package/esm/cli/agent/agent-java.js.map +1 -1
  108. package/esm/cli/agent/agent-list.js +7 -4
  109. package/esm/cli/agent/agent-list.js.map +1 -1
  110. package/esm/cli/agent/agent-web-delete.js +13 -6
  111. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  112. package/esm/cli/agent/agent-web-describe.js +7 -4
  113. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  114. package/esm/cli/agent/agent-web-export.js +8 -5
  115. package/esm/cli/agent/agent-web-export.js.map +1 -1
  116. package/esm/cli/agent/agent-web-import.js +8 -5
  117. package/esm/cli/agent/agent-web-import.js.map +1 -1
  118. package/esm/cli/agent/agent-web-list.js +7 -4
  119. package/esm/cli/agent/agent-web-list.js.map +1 -1
  120. package/esm/cli/agent/agent-web.js +1 -1
  121. package/esm/cli/agent/agent-web.js.map +1 -1
  122. package/esm/cli/agent/agent.js +2 -2
  123. package/esm/cli/agent/agent.js.map +1 -1
  124. package/esm/cli/app/app-delete.js +27 -8
  125. package/esm/cli/app/app-delete.js.map +1 -1
  126. package/esm/cli/app/app-describe.js +9 -5
  127. package/esm/cli/app/app-describe.js.map +1 -1
  128. package/esm/cli/app/app-export.js +17 -13
  129. package/esm/cli/app/app-export.js.map +1 -1
  130. package/esm/cli/app/app-import.js +21 -17
  131. package/esm/cli/app/app-import.js.map +1 -1
  132. package/esm/cli/app/app-list.js +12 -8
  133. package/esm/cli/app/app-list.js.map +1 -1
  134. package/esm/cli/app/app.js +8 -12
  135. package/esm/cli/app/app.js.map +1 -1
  136. package/esm/cli/authz/authz-policy-delete.js +10 -7
  137. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  138. package/esm/cli/authz/authz-policy-describe.js +8 -5
  139. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  140. package/esm/cli/authz/authz-policy-export.js +12 -9
  141. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  142. package/esm/cli/authz/authz-policy-import.js +10 -7
  143. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  144. package/esm/cli/authz/authz-policy-list.js +9 -6
  145. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  146. package/esm/cli/authz/authz-policy.js +1 -1
  147. package/esm/cli/authz/authz-policy.js.map +1 -1
  148. package/esm/cli/authz/authz-set-delete.js +9 -6
  149. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  150. package/esm/cli/authz/authz-set-describe.js +8 -5
  151. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  152. package/esm/cli/authz/authz-set-export.js +10 -7
  153. package/esm/cli/authz/authz-set-export.js.map +1 -1
  154. package/esm/cli/authz/authz-set-import.js +10 -7
  155. package/esm/cli/authz/authz-set-import.js.map +1 -1
  156. package/esm/cli/authz/authz-set-list.js +7 -4
  157. package/esm/cli/authz/authz-set-list.js.map +1 -1
  158. package/esm/cli/authz/authz-set.js +1 -1
  159. package/esm/cli/authz/authz-set.js.map +1 -1
  160. package/esm/cli/authz/authz-type-delete.js +10 -7
  161. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  162. package/esm/cli/authz/authz-type-describe.js +9 -6
  163. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  164. package/esm/cli/authz/authz-type-export.js +11 -8
  165. package/esm/cli/authz/authz-type-export.js.map +1 -1
  166. package/esm/cli/authz/authz-type-import.js +12 -9
  167. package/esm/cli/authz/authz-type-import.js.map +1 -1
  168. package/esm/cli/authz/authz-type-list.js +8 -5
  169. package/esm/cli/authz/authz-type-list.js.map +1 -1
  170. package/esm/cli/authz/authz-type.js +1 -1
  171. package/esm/cli/authz/authz-type.js.map +1 -1
  172. package/esm/cli/authz/authz.js +2 -2
  173. package/esm/cli/authz/authz.js.map +1 -1
  174. package/esm/cli/conn/conn-delete.js +2 -2
  175. package/esm/cli/conn/conn-delete.js.map +1 -1
  176. package/esm/cli/conn/conn-describe.js +2 -2
  177. package/esm/cli/conn/conn-describe.js.map +1 -1
  178. package/esm/cli/conn/conn-list.js +2 -2
  179. package/esm/cli/conn/conn-list.js.map +1 -1
  180. package/esm/cli/conn/conn-save.js +31 -15
  181. package/esm/cli/conn/conn-save.js.map +1 -1
  182. package/esm/cli/conn/conn.js +2 -2
  183. package/esm/cli/conn/conn.js.map +1 -1
  184. package/esm/cli/email/email-template-export.js +10 -7
  185. package/esm/cli/email/email-template-export.js.map +1 -1
  186. package/esm/cli/email/email-template-import.js +11 -8
  187. package/esm/cli/email/email-template-import.js.map +1 -1
  188. package/esm/cli/email/email-template-list.js +8 -5
  189. package/esm/cli/email/email-template-list.js.map +1 -1
  190. package/esm/cli/email/email-template.js +1 -1
  191. package/esm/cli/email/email-template.js.map +1 -1
  192. package/esm/cli/email/email.js +2 -2
  193. package/esm/cli/email/email.js.map +1 -1
  194. package/esm/cli/esv/esv-apply.js +18 -8
  195. package/esm/cli/esv/esv-apply.js.map +1 -1
  196. package/esm/cli/esv/esv-secret-create.js +8 -5
  197. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  198. package/esm/cli/esv/esv-secret-delete.js +9 -6
  199. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  200. package/esm/cli/esv/esv-secret-describe.js +8 -5
  201. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  202. package/esm/cli/esv/esv-secret-export.js +7 -4
  203. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  204. package/esm/cli/esv/esv-secret-import.js +7 -4
  205. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  206. package/esm/cli/esv/esv-secret-list.js +8 -5
  207. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  208. package/esm/cli/esv/esv-secret-set.js +8 -5
  209. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  210. package/esm/cli/esv/esv-secret-version-activate.js +8 -5
  211. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  212. package/esm/cli/esv/esv-secret-version-create.js +9 -6
  213. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  214. package/esm/cli/esv/esv-secret-version-deactivate.js +8 -5
  215. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  216. package/esm/cli/esv/esv-secret-version-delete.js +9 -6
  217. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  218. package/esm/cli/esv/esv-secret-version-list.js +8 -5
  219. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  220. package/esm/cli/esv/esv-secret-version.js +1 -1
  221. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  222. package/esm/cli/esv/esv-secret.js +1 -1
  223. package/esm/cli/esv/esv-secret.js.map +1 -1
  224. package/esm/cli/esv/esv-variable-create.js +10 -6
  225. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  226. package/esm/cli/esv/esv-variable-delete.js +9 -6
  227. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  228. package/esm/cli/esv/esv-variable-describe.js +8 -5
  229. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  230. package/esm/cli/esv/esv-variable-export.js +7 -4
  231. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  232. package/esm/cli/esv/esv-variable-import.js +7 -4
  233. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  234. package/esm/cli/esv/esv-variable-list.js +8 -5
  235. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  236. package/esm/cli/esv/esv-variable-set.js +8 -5
  237. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  238. package/esm/cli/esv/esv-variable.js +1 -1
  239. package/esm/cli/esv/esv-variable.js.map +1 -1
  240. package/esm/cli/esv/esv.js +2 -2
  241. package/esm/cli/esv/esv.js.map +1 -1
  242. package/esm/cli/idm/idm-count.js +9 -6
  243. package/esm/cli/idm/idm-count.js.map +1 -1
  244. package/esm/cli/idm/idm-export.js +10 -7
  245. package/esm/cli/idm/idm-export.js.map +1 -1
  246. package/esm/cli/idm/idm-import.js +11 -8
  247. package/esm/cli/idm/idm-import.js.map +1 -1
  248. package/esm/cli/idm/idm-list.js +7 -4
  249. package/esm/cli/idm/idm-list.js.map +1 -1
  250. package/esm/cli/idm/idm.js +2 -2
  251. package/esm/cli/idm/idm.js.map +1 -1
  252. package/esm/cli/idp/idp-export.js +11 -8
  253. package/esm/cli/idp/idp-export.js.map +1 -1
  254. package/esm/cli/idp/idp-import.js +15 -12
  255. package/esm/cli/idp/idp-import.js.map +1 -1
  256. package/esm/cli/idp/idp-list.js +7 -4
  257. package/esm/cli/idp/idp-list.js.map +1 -1
  258. package/esm/cli/idp/idp.js +2 -2
  259. package/esm/cli/idp/idp.js.map +1 -1
  260. package/esm/cli/info/info.js +16 -10
  261. package/esm/cli/info/info.js.map +1 -1
  262. package/esm/cli/journey/journey-delete.js +8 -5
  263. package/esm/cli/journey/journey-delete.js.map +1 -1
  264. package/esm/cli/journey/journey-describe.js +18 -10
  265. package/esm/cli/journey/journey-describe.js.map +1 -1
  266. package/esm/cli/journey/journey-disable.js +12 -6
  267. package/esm/cli/journey/journey-disable.js.map +1 -1
  268. package/esm/cli/journey/journey-enable.js +12 -6
  269. package/esm/cli/journey/journey-enable.js.map +1 -1
  270. package/esm/cli/journey/journey-export.js +10 -7
  271. package/esm/cli/journey/journey-export.js.map +1 -1
  272. package/esm/cli/journey/journey-import.js +11 -8
  273. package/esm/cli/journey/journey-import.js.map +1 -1
  274. package/esm/cli/journey/journey-list.js +6 -3
  275. package/esm/cli/journey/journey-list.js.map +1 -1
  276. package/esm/cli/journey/journey-prune.js +23 -12
  277. package/esm/cli/journey/journey-prune.js.map +1 -1
  278. package/esm/cli/journey/journey.js +2 -2
  279. package/esm/cli/journey/journey.js.map +1 -1
  280. package/esm/cli/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
  281. package/esm/cli/log/log-fetch.js.map +1 -0
  282. package/esm/cli/log/log-key-delete.js +35 -0
  283. package/esm/cli/log/log-key-delete.js.map +1 -0
  284. package/esm/cli/log/log-key-describe.js +22 -0
  285. package/esm/cli/log/log-key-describe.js.map +1 -0
  286. package/esm/cli/log/log-key-list.js +26 -0
  287. package/esm/cli/log/log-key-list.js.map +1 -0
  288. package/esm/cli/log/log-key.js +8 -0
  289. package/esm/cli/log/log-key.js.map +1 -0
  290. package/esm/cli/log/log-list.js +80 -0
  291. package/esm/cli/log/log-list.js.map +1 -0
  292. package/esm/cli/log/log-tail.js +77 -0
  293. package/esm/cli/log/log-tail.js.map +1 -0
  294. package/esm/cli/{logging/logs.js → log/log.js} +6 -3
  295. package/esm/cli/log/log.js.map +1 -0
  296. package/esm/cli/oauth/oauth-client-delete.js +22 -0
  297. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  298. package/esm/cli/oauth/oauth-client-describe.js +22 -0
  299. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  300. package/esm/cli/oauth/oauth-client-export.js +52 -0
  301. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  302. package/esm/cli/oauth/oauth-client-import.js +57 -0
  303. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  304. package/esm/cli/oauth/oauth-client-list.js +25 -0
  305. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  306. package/esm/cli/oauth/oauth-client.js +14 -0
  307. package/esm/cli/oauth/oauth-client.js.map +1 -0
  308. package/esm/cli/oauth/oauth.js +13 -0
  309. package/esm/cli/oauth/oauth.js.map +1 -0
  310. package/esm/cli/realm/realm-add-custom-domain.js +8 -5
  311. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  312. package/esm/cli/realm/realm-describe.js +8 -5
  313. package/esm/cli/realm/realm-describe.js.map +1 -1
  314. package/esm/cli/realm/realm-list.js +8 -5
  315. package/esm/cli/realm/realm-list.js.map +1 -1
  316. package/esm/cli/realm/realm-remove-custom-domain.js +11 -5
  317. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  318. package/esm/cli/realm/realm.js +2 -2
  319. package/esm/cli/realm/realm.js.map +1 -1
  320. package/esm/cli/saml/saml-cot-export.js +10 -7
  321. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  322. package/esm/cli/saml/saml-cot-import.js +11 -8
  323. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  324. package/esm/cli/saml/saml-cot-list.js +8 -5
  325. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  326. package/esm/cli/saml/saml-cot.js +1 -1
  327. package/esm/cli/saml/saml-cot.js.map +1 -1
  328. package/esm/cli/saml/saml-delete.js +14 -7
  329. package/esm/cli/saml/saml-delete.js.map +1 -1
  330. package/esm/cli/saml/saml-describe.js +8 -5
  331. package/esm/cli/saml/saml-describe.js.map +1 -1
  332. package/esm/cli/saml/saml-export.js +10 -7
  333. package/esm/cli/saml/saml-export.js.map +1 -1
  334. package/esm/cli/saml/saml-import.js +11 -8
  335. package/esm/cli/saml/saml-import.js.map +1 -1
  336. package/esm/cli/saml/saml-list.js +8 -5
  337. package/esm/cli/saml/saml-list.js.map +1 -1
  338. package/esm/cli/saml/saml-metadata-export.js +9 -6
  339. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  340. package/esm/cli/saml/saml-metadata.js +1 -1
  341. package/esm/cli/saml/saml-metadata.js.map +1 -1
  342. package/esm/cli/saml/saml.js +2 -2
  343. package/esm/cli/saml/saml.js.map +1 -1
  344. package/esm/cli/script/script-delete.js +7 -4
  345. package/esm/cli/script/script-delete.js.map +1 -1
  346. package/esm/cli/script/script-describe.js +7 -4
  347. package/esm/cli/script/script-describe.js.map +1 -1
  348. package/esm/cli/script/script-export.js +8 -5
  349. package/esm/cli/script/script-export.js.map +1 -1
  350. package/esm/cli/script/script-import.js +9 -6
  351. package/esm/cli/script/script-import.js.map +1 -1
  352. package/esm/cli/script/script-list.js +8 -5
  353. package/esm/cli/script/script-list.js.map +1 -1
  354. package/esm/cli/script/script.js +2 -2
  355. package/esm/cli/script/script.js.map +1 -1
  356. package/esm/cli/service/service-delete.js +8 -5
  357. package/esm/cli/service/service-delete.js.map +1 -1
  358. package/esm/cli/service/service-export.js +9 -6
  359. package/esm/cli/service/service-export.js.map +1 -1
  360. package/esm/cli/service/service-import.js +10 -7
  361. package/esm/cli/service/service-import.js.map +1 -1
  362. package/esm/cli/service/service-list.js +7 -4
  363. package/esm/cli/service/service-list.js.map +1 -1
  364. package/esm/cli/service/service.js +2 -2
  365. package/esm/cli/service/service.js.map +1 -1
  366. package/esm/cli/shell/shell.js +57 -0
  367. package/esm/cli/shell/shell.js.map +1 -0
  368. package/esm/cli/theme/theme-delete.js +10 -7
  369. package/esm/cli/theme/theme-delete.js.map +1 -1
  370. package/esm/cli/theme/theme-export.js +11 -8
  371. package/esm/cli/theme/theme-export.js.map +1 -1
  372. package/esm/cli/theme/theme-import.js +12 -9
  373. package/esm/cli/theme/theme-import.js.map +1 -1
  374. package/esm/cli/theme/theme-list.js +7 -4
  375. package/esm/cli/theme/theme-list.js.map +1 -1
  376. package/esm/cli/theme/theme.js +2 -2
  377. package/esm/cli/theme/theme.js.map +1 -1
  378. package/esm/help/SampleData.js +7 -0
  379. package/esm/help/SampleData.js.map +1 -0
  380. package/esm/launch.js +1 -1
  381. package/esm/launch.js.map +1 -1
  382. package/esm/loader.js +2 -2
  383. package/esm/loader.js.map +1 -1
  384. package/esm/ops/AdminFederationOps.js +216 -0
  385. package/esm/ops/AdminFederationOps.js.map +1 -0
  386. package/esm/ops/AgentOps.js +88 -54
  387. package/esm/ops/AgentOps.js.map +1 -1
  388. package/esm/ops/ApplicationOps.js +309 -0
  389. package/esm/ops/ApplicationOps.js.map +1 -0
  390. package/esm/ops/CirclesOfTrustOps.js +25 -13
  391. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  392. package/esm/ops/ConnectionProfileOps.js +13 -6
  393. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  394. package/esm/ops/EmailTemplateOps.js +53 -47
  395. package/esm/ops/EmailTemplateOps.js.map +1 -1
  396. package/esm/ops/IdmOps.js +58 -64
  397. package/esm/ops/IdmOps.js.map +1 -1
  398. package/esm/ops/IdpOps.js +48 -25
  399. package/esm/ops/IdpOps.js.map +1 -1
  400. package/esm/ops/JourneyOps.js +108 -43
  401. package/esm/ops/JourneyOps.js.map +1 -1
  402. package/esm/ops/LogOps.js +92 -30
  403. package/esm/ops/LogOps.js.map +1 -1
  404. package/esm/ops/NodeOps.js +6 -3
  405. package/esm/ops/NodeOps.js.map +1 -1
  406. package/esm/ops/OAuth2ClientOps.js +29 -16
  407. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  408. package/esm/ops/OrganizationOps.js +14 -22
  409. package/esm/ops/OrganizationOps.js.map +1 -1
  410. package/esm/ops/PolicyOps.js +60 -28
  411. package/esm/ops/PolicyOps.js.map +1 -1
  412. package/esm/ops/PolicySetOps.js +39 -22
  413. package/esm/ops/PolicySetOps.js.map +1 -1
  414. package/esm/ops/RealmOps.js +15 -8
  415. package/esm/ops/RealmOps.js.map +1 -1
  416. package/esm/ops/ResourceTypeOps.js +43 -27
  417. package/esm/ops/ResourceTypeOps.js.map +1 -1
  418. package/esm/ops/Saml2Ops.js +56 -42
  419. package/esm/ops/Saml2Ops.js.map +1 -1
  420. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  421. package/esm/ops/ScriptOps.js +72 -18
  422. package/esm/ops/ScriptOps.js.map +1 -1
  423. package/esm/ops/SecretsOps.js +33 -18
  424. package/esm/ops/SecretsOps.js.map +1 -1
  425. package/esm/ops/ServiceOps.js +49 -28
  426. package/esm/ops/ServiceOps.js.map +1 -1
  427. package/esm/ops/ThemeOps.js +42 -22
  428. package/esm/ops/ThemeOps.js.map +1 -1
  429. package/esm/ops/VariablesOps.js +37 -28
  430. package/esm/ops/VariablesOps.js.map +1 -1
  431. package/esm/ops/utils/OpsUtils.js +1 -1
  432. package/esm/ops/utils/OpsUtils.js.map +1 -1
  433. package/esm/ops/utils/Wordwrap.js +1 -1
  434. package/esm/ops/utils/Wordwrap.js.map +1 -1
  435. package/esm/storage/StaticStorage.js +1 -1
  436. package/esm/storage/StaticStorage.js.map +1 -1
  437. package/esm/utils/Config.js +7 -4
  438. package/esm/utils/Config.js.map +1 -1
  439. package/esm/utils/Console.js +9 -5
  440. package/esm/utils/Console.js.map +1 -1
  441. package/esm/utils/ExportImportUtils.js +32 -66
  442. package/esm/utils/ExportImportUtils.js.map +1 -1
  443. package/esm/utils/Version.js +19 -16
  444. package/esm/utils/Version.js.map +1 -1
  445. package/package.json +45 -35
  446. package/esm/cli/logging/logs-fetch.js.map +0 -1
  447. package/esm/cli/logging/logs-list.js +0 -49
  448. package/esm/cli/logging/logs-list.js.map +0 -1
  449. package/esm/cli/logging/logs-tail.js +0 -46
  450. package/esm/cli/logging/logs-tail.js.map +0 -1
  451. package/esm/cli/logging/logs.js.map +0 -1
  452. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  453. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
@@ -1,21 +1,17 @@
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
- const program = new FrodoStubCommand('app')
7
- // for backwards compatibility
8
- .alias('application').description('Manage OAuth2 applications.').executableDir(__dirname);
9
- program.command('list', 'List OAuth2 applications.');
6
+ const program = new FrodoStubCommand('app').description('Manage applications.').executableDir(__dirname).addHelpText('after', `\nImportant Note:\n`['brightYellow'] + ` The ${'frodo app'['brightCyan']} command to manage OAuth2 clients in v1.x has been renamed to ${'frodo oauth client'['brightCyan']} in v2.x\n` + ` The ${'frodo app'['brightCyan']} command in v2.x manages the new applications created using the new application templates in ForgeRock Identity Cloud. To manage oauth clients, use the ${'frodo oauth client'['brightCyan']} command.\n\n`);
7
+ program.command('list', 'List applications.');
10
8
 
11
9
  // program
12
- // .command('describe', 'Describe OAuth2 applications.');
13
-
14
- program.command('export', 'Export OAuth2 applications.');
15
- program.command('import', 'Import OAuth2 applications.');
16
-
17
- // program.command('delete', 'Delete OAuth2 applications.');
10
+ // .command('describe', 'Describe applications.');
18
11
 
12
+ program.command('export', 'Export applications.');
13
+ program.command('import', 'Import applications.');
14
+ program.command('delete', 'Delete applications.');
19
15
  return program;
20
16
  }
21
- //# sourceMappingURL=app.js.map
17
+ //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","alias","description","executableDir","command"],"sources":["cli/app/app.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('app')\n // for backwards compatibility\n .alias('application')\n .description('Manage OAuth2 applications.')\n .executableDir(__dirname);\n\n program.command('list', 'List OAuth2 applications.');\n\n // program\n // .command('describe', 'Describe OAuth2 applications.');\n\n program.command('export', 'Export OAuth2 applications.');\n\n program.command('import', 'Import OAuth2 applications.');\n\n // program.command('delete', 'Delete OAuth2 applications.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,KAAK;EACxC;EAAA,CACCU,KAAK,CAAC,aAAa,CAAC,CACpBC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,aAAa,CAACT,SAAS,CAAC;EAE3BM,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC;;EAEpD;EACA;;EAEAJ,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC;EAExDJ,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC;;EAExD;;EAEA,OAAOJ,OAAO;AAChB"}
1
+ {"version":3,"file":"app.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","addHelpText","command"],"sources":["../../../src/cli/app/app.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('app')\n .description('Manage applications.')\n .executableDir(__dirname)\n .addHelpText(\n 'after',\n `\\nImportant Note:\\n`['brightYellow'] +\n ` The ${\n 'frodo app'['brightCyan']\n } command to manage OAuth2 clients in v1.x has been renamed to ${\n 'frodo oauth client'['brightCyan']\n } in v2.x\\n` +\n ` The ${\n 'frodo app'['brightCyan']\n } command in v2.x manages the new applications created using the new application templates in ForgeRock Identity Cloud. To manage oauth clients, use the ${\n 'frodo oauth client'['brightCyan']\n } command.\\n\\n`\n );\n\n program.command('list', 'List applications.');\n\n // program\n // .command('describe', 'Describe applications.');\n\n program.command('export', 'Export applications.');\n\n program.command('import', 'Import applications.');\n\n program.command('delete', 'Delete applications.');\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,sBAAsB,CAAC,CACnCC,aAAa,CAACR,SAAS,CAAC,CACxBS,WAAW,CACV,OAAO,EACN,qBAAoB,CAAC,cAAc,CAAC,GAClC,SACC,WAAW,CAAC,YAAY,CACzB,iEACC,oBAAoB,CAAC,YAAY,CAClC,YAAW,GACX,SACC,WAAW,CAAC,YAAY,CACzB,2JACC,oBAAoB,CAAC,YAAY,CAClC,eACL,CAAC;EAEHH,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC;;EAE7C;EACA;;EAEAJ,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC;EAEjDJ,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC;EAEjDJ,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC;EAEjD,OAAOJ,OAAO;AAChB"}
@@ -1,27 +1,30 @@
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 { deletePolicies, deletePoliciesByPolicySet, deletePolicy } from '../../ops/PolicyOps';
4
4
  import { printMessage, verboseMessage } from '../../utils/Console.js';
5
- import { deletePolicy, deletePolicies, deletePoliciesByPolicySet } from '../../ops/PolicyOps';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo authz policy delete');
7
10
  program.description('Delete authorization policies.').addOption(new Option('-i, --policy-id <policy-id>', 'Policy id/name. If specified, -a is ignored.')).addOption(new Option('-a, --all', 'Delete all policies in a realm. Ignored with -i.')).addOption(new Option('--set-id <set-id>', 'Policy set id/name. Ignored with -i.')).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
  // delete by id
12
- if (options.policyId && (await frodo.login.getTokens())) {
15
+ if (options.policyId && (await getTokens())) {
13
16
  verboseMessage('Deleting authorization policy...');
14
17
  const outcome = await deletePolicy(options.policyId);
15
18
  if (!outcome) process.exitCode = 1;
16
19
  }
17
20
  // --all -a by policy set
18
- else if (options.setId && options.all && (await frodo.login.getTokens())) {
21
+ else if (options.setId && options.all && (await getTokens())) {
19
22
  verboseMessage(`Deleting all authorization policies in policy set ${options.setId}...`);
20
23
  const outcome = await deletePoliciesByPolicySet(options.setId);
21
24
  if (!outcome) process.exitCode = 1;
22
25
  }
23
26
  // --all -a
24
- else if (options.all && (await frodo.login.getTokens())) {
27
+ else if (options.all && (await getTokens())) {
25
28
  verboseMessage('Deleting all authorization policies...');
26
29
  const outcome = await deletePolicies();
27
30
  if (!outcome) process.exitCode = 1;
@@ -37,4 +40,4 @@ async (host, realm, user, password, options, command) => {
37
40
  );
38
41
 
39
42
  program.parse();
40
- //# sourceMappingURL=authz-policy-delete.js.map
43
+ //# sourceMappingURL=authz-policy-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz-policy-delete.js","names":["FrodoCommand","Option","frodo","printMessage","verboseMessage","deletePolicy","deletePolicies","deletePoliciesByPolicySet","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","policyId","login","getTokens","outcome","process","exitCode","setId","all","help","parse"],"sources":["cli/authz/authz-policy-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 {\n deletePolicy,\n deletePolicies,\n deletePoliciesByPolicySet,\n} from '../../ops/PolicyOps';\n\nconst program = new FrodoCommand('frodo authz policy delete');\n\nprogram\n .description('Delete authorization policies.')\n .addOption(\n new Option(\n '-i, --policy-id <policy-id>',\n 'Policy id/name. If specified, -a is ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all policies in a realm. Ignored with -i.')\n )\n .addOption(\n new Option('--set-id <set-id>', 'Policy set id/name. Ignored with -i.')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // delete by id\n if (options.policyId && (await frodo.login.getTokens())) {\n verboseMessage('Deleting authorization policy...');\n const outcome = await deletePolicy(options.policyId);\n if (!outcome) process.exitCode = 1;\n }\n // --all -a by policy set\n else if (\n options.setId &&\n options.all &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Deleting all authorization policies in policy set ${options.setId}...`\n );\n const outcome = await deletePoliciesByPolicySet(options.setId);\n if (!outcome) process.exitCode = 1;\n }\n // --all -a\n else if (options.all && (await frodo.login.getTokens())) {\n verboseMessage('Deleting all authorization policies...');\n const outcome = await deletePolicies();\n if (!outcome) process.exitCode = 1;\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,SACEC,YAAY,EACZC,cAAc,EACdC,yBAAyB,QACpB,qBAAqB;AAE5B,MAAMC,OAAO,GAAG,IAAIR,YAAY,CAAC,2BAA2B,CAAC;AAE7DQ,OAAO,CACJC,WAAW,CAAC,gCAAgC,CAAC,CAC7CC,SAAS,CACR,IAAIT,MAAM,CACR,6BAA6B,EAC7B,8CACF,CACF,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAC5E,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,CACxE,CAAC,CACAU,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,QAAQ,KAAK,MAAMjB,KAAK,CAACkB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACvDjB,cAAc,CAAC,kCAAkC,CAAC;IAClD,MAAMkB,OAAO,GAAG,MAAMjB,YAAY,CAACW,OAAO,CAACG,QAAQ,CAAC;IACpD,IAAI,CAACG,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IACHR,OAAO,CAACS,KAAK,IACbT,OAAO,CAACU,GAAG,KACV,MAAMxB,KAAK,CAACkB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAjB,cAAc,CACX,qDAAoDY,OAAO,CAACS,KAAM,KACrE,CAAC;IACD,MAAMH,OAAO,GAAG,MAAMf,yBAAyB,CAACS,OAAO,CAACS,KAAK,CAAC;IAC9D,IAAI,CAACH,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAIR,OAAO,CAACU,GAAG,KAAK,MAAMxB,KAAK,CAACkB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACvDjB,cAAc,CAAC,wCAAwC,CAAC;IACxD,MAAMkB,OAAO,GAAG,MAAMhB,cAAc,CAAC,CAAC;IACtC,IAAI,CAACgB,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHrB,YAAY,CAAC,sDAAsD,CAAC;IACpEK,OAAO,CAACmB,IAAI,CAAC,CAAC;IACdJ,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"authz-policy-delete.js","names":["frodo","Option","deletePolicies","deletePoliciesByPolicySet","deletePolicy","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","policyId","outcome","process","exitCode","setId","all","help","parse"],"sources":["../../../src/cli/authz/authz-policy-delete.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n deletePolicies,\n deletePoliciesByPolicySet,\n deletePolicy,\n} from '../../ops/PolicyOps';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo authz policy delete');\n\nprogram\n .description('Delete authorization policies.')\n .addOption(\n new Option(\n '-i, --policy-id <policy-id>',\n 'Policy id/name. If specified, -a is ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all policies in a realm. Ignored with -i.')\n )\n .addOption(\n new Option('--set-id <set-id>', 'Policy set id/name. Ignored with -i.')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // delete by id\n if (options.policyId && (await getTokens())) {\n verboseMessage('Deleting authorization policy...');\n const outcome = await deletePolicy(options.policyId);\n if (!outcome) process.exitCode = 1;\n }\n // --all -a by policy set\n else if (options.setId && options.all && (await getTokens())) {\n verboseMessage(\n `Deleting all authorization policies in policy set ${options.setId}...`\n );\n const outcome = await deletePoliciesByPolicySet(options.setId);\n if (!outcome) process.exitCode = 1;\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Deleting all authorization policies...');\n const outcome = await deletePolicies();\n if (!outcome) process.exitCode = 1;\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,SACEC,cAAc,EACdC,yBAAyB,EACzBC,YAAY,QACP,qBAAqB;AAC5B,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGR,KAAK,CAACS,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,2BAA2B,CAAC;AAE7DG,OAAO,CACJC,WAAW,CAAC,gCAAgC,CAAC,CAC7CC,SAAS,CACR,IAAIX,MAAM,CACR,6BAA6B,EAC7B,8CACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAC5E,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,CACxE,CAAC,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,QAAQ,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CF,cAAc,CAAC,kCAAkC,CAAC;IAClD,MAAMgB,OAAO,GAAG,MAAMlB,YAAY,CAACc,OAAO,CAACG,QAAQ,CAAC;IACpD,IAAI,CAACC,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAIN,OAAO,CAACO,KAAK,IAAIP,OAAO,CAACQ,GAAG,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5DF,cAAc,CACX,qDAAoDY,OAAO,CAACO,KAAM,KACrE,CAAC;IACD,MAAMH,OAAO,GAAG,MAAMnB,yBAAyB,CAACe,OAAO,CAACO,KAAK,CAAC;IAC9D,IAAI,CAACH,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAIN,OAAO,CAACQ,GAAG,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CF,cAAc,CAAC,wCAAwC,CAAC;IACxD,MAAMgB,OAAO,GAAG,MAAMpB,cAAc,CAAC,CAAC;IACtC,IAAI,CAACoB,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHnB,YAAY,CAAC,sDAAsD,CAAC;IACpEK,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdJ,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACkB,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 { describePolicy } from '../../ops/PolicyOps';
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 authz policy describe');
7
10
  program.description('Describe authorization policies.').addOption(new Option('-i, --policy-id <policy-id>', 'Policy id/name.').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 (options.policyId && (await frodo.login.getTokens())) {
14
+ if (options.policyId && (await getTokens())) {
12
15
  verboseMessage(`Describing authorization policy ${options.policyId}...`);
13
16
  const outcome = await describePolicy(options.policyId, options.json);
14
17
  if (!outcome) process.exitCode = 1;
@@ -24,4 +27,4 @@ async (host, realm, user, password, options, command) => {
24
27
  );
25
28
 
26
29
  program.parse();
27
- //# sourceMappingURL=authz-policy-describe.js.map
30
+ //# sourceMappingURL=authz-policy-describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz-policy-describe.js","names":["FrodoCommand","Option","frodo","verboseMessage","describePolicy","program","description","addOption","makeOptionMandatory","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","policyId","login","getTokens","outcome","json","process","exitCode","help","parse"],"sources":["cli/authz/authz-policy-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { describePolicy } from '../../ops/PolicyOps';\n\nconst program = new FrodoCommand('frodo authz policy describe');\n\nprogram\n .description('Describe authorization policies.')\n .addOption(\n new Option(\n '-i, --policy-id <policy-id>',\n 'Policy id/name.'\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 (options.policyId && (await frodo.login.getTokens())) {\n verboseMessage(\n `Describing authorization policy ${options.policyId}...`\n );\n const outcome = await describePolicy(options.policyId, options.json);\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('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,cAAc,QAAQ,wBAAwB;AACvD,SAASC,cAAc,QAAQ,qBAAqB;AAEpD,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,6BAA6B,CAAC;AAE/DK,OAAO,CACJC,WAAW,CAAC,kCAAkC,CAAC,CAC/CC,SAAS,CACR,IAAIN,MAAM,CACR,6BAA6B,EAC7B,iBACF,CAAC,CAACO,mBAAmB,CAAC,CACxB,CAAC,CACAD,SAAS,CAAC,IAAIN,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CACzDQ,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,QAAQ,KAAK,MAAMf,KAAK,CAACgB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACvDhB,cAAc,CACX,mCAAkCW,OAAO,CAACG,QAAS,KACtD,CAAC;IACD,MAAMG,OAAO,GAAG,MAAMhB,cAAc,CAACU,OAAO,CAACG,QAAQ,EAAEH,OAAO,CAACO,IAAI,CAAC;IACpE,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHpB,cAAc,CAAC,sDAAsD,CAAC;IACtEE,OAAO,CAACmB,IAAI,CAAC,CAAC;IACdF,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHlB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"authz-policy-describe.js","names":["frodo","Option","describePolicy","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","makeOptionMandatory","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","policyId","outcome","json","process","exitCode","help","parse"],"sources":["../../../src/cli/authz/authz-policy-describe.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { describePolicy } from '../../ops/PolicyOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo authz policy describe');\n\nprogram\n .description('Describe authorization policies.')\n .addOption(\n new Option(\n '-i, --policy-id <policy-id>',\n 'Policy id/name.'\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 (options.policyId && (await getTokens())) {\n verboseMessage(\n `Describing authorization policy ${options.policyId}...`\n );\n const outcome = await describePolicy(options.policyId, options.json);\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('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,cAAc,QAAQ,qBAAqB;AACpD,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,kCAAkC,CAAC,CAC/CC,SAAS,CACR,IAAIR,MAAM,CACR,6BAA6B,EAC7B,iBACF,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,IAAID,OAAO,CAACG,QAAQ,KAAK,MAAMd,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CF,cAAc,CACX,mCAAkCa,OAAO,CAACG,QAAS,KACtD,CAAC;IACD,MAAMC,OAAO,GAAG,MAAMlB,cAAc,CAACc,OAAO,CAACG,QAAQ,EAAEH,OAAO,CAACK,IAAI,CAAC;IACpE,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHpB,cAAc,CAAC,sDAAsD,CAAC;IACtEI,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdF,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
@@ -1,15 +1,18 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { exportPolicyToFile, exportPoliciesToFile, exportPoliciesByPolicySetToFile, exportPoliciesToFiles, exportPoliciesByPolicySetToFiles } from '../../ops/PolicyOps';
2
+ import { Option } from 'commander';
3
+ import { exportPoliciesByPolicySetToFile, exportPoliciesByPolicySetToFiles, exportPoliciesToFile, exportPoliciesToFiles, exportPolicyToFile } from '../../ops/PolicyOps';
5
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 authz policy export');
7
10
  program.description('Export authorization policies.').addOption(new Option('-i, --policy-id <policy-id>', 'Policy id. If specified, -a and -A are ignored.')).addOption(new Option('--set-id <set-id>', 'Export policies in policy set only. Ignored with -i.')).addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export policies to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export policies to separate files (*.policy.authz.json) in the current directory. Ignored with -i or -a.')).addOption(new Option('--no-deps', 'Do not include dependencies (scripts).')).addOption(new Option('--prereqs', 'Include prerequisites (policy sets, resource types).')).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
12
- if (options.policyId && (await frodo.login.getTokens())) {
15
+ if (options.policyId && (await getTokens())) {
13
16
  verboseMessage('Exporting authorization policy to file...');
14
17
  const outcome = exportPolicyToFile(options.policyId, options.file, {
15
18
  deps: options.deps,
@@ -19,7 +22,7 @@ async (host, realm, user, password, options, command) => {
19
22
  if (!outcome) process.exitCode = 1;
20
23
  }
21
24
  // -a/--all by policy set
22
- else if (options.setId && options.all && (await frodo.login.getTokens())) {
25
+ else if (options.setId && options.all && (await getTokens())) {
23
26
  verboseMessage(`Exporting all authorization policies in policy set ${options.setId} to file...`);
24
27
  const outcome = await exportPoliciesByPolicySetToFile(options.setId, options.file, {
25
28
  deps: options.deps,
@@ -29,7 +32,7 @@ async (host, realm, user, password, options, command) => {
29
32
  if (!outcome) process.exitCode = 1;
30
33
  }
31
34
  // -a/--all
32
- else if (options.all && (await frodo.login.getTokens())) {
35
+ else if (options.all && (await getTokens())) {
33
36
  verboseMessage('Exporting all authorization policies to file...');
34
37
  const outcome = await exportPoliciesToFile(options.file, {
35
38
  deps: options.deps,
@@ -39,7 +42,7 @@ async (host, realm, user, password, options, command) => {
39
42
  if (!outcome) process.exitCode = 1;
40
43
  }
41
44
  // -A/--all-separate by policy set
42
- else if (options.setId && options.allSeparate && (await frodo.login.getTokens())) {
45
+ else if (options.setId && options.allSeparate && (await getTokens())) {
43
46
  verboseMessage(`Exporting all authorization policies in policy set ${options.setId} to separate files...`);
44
47
  const outcome = await exportPoliciesByPolicySetToFiles(options.setId, {
45
48
  deps: options.deps,
@@ -49,7 +52,7 @@ async (host, realm, user, password, options, command) => {
49
52
  if (!outcome) process.exitCode = 1;
50
53
  }
51
54
  // -A/--all-separate
52
- else if (options.allSeparate && (await frodo.login.getTokens())) {
55
+ else if (options.allSeparate && (await getTokens())) {
53
56
  verboseMessage('Exporting all authorization policies to separate files...');
54
57
  const outcome = await exportPoliciesToFiles({
55
58
  deps: options.deps,
@@ -69,4 +72,4 @@ async (host, realm, user, password, options, command) => {
69
72
  );
70
73
 
71
74
  program.parse();
72
- //# sourceMappingURL=authz-policy-export.js.map
75
+ //# sourceMappingURL=authz-policy-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz-policy-export.js","names":["FrodoCommand","Option","frodo","exportPolicyToFile","exportPoliciesToFile","exportPoliciesByPolicySetToFile","exportPoliciesToFiles","exportPoliciesByPolicySetToFiles","verboseMessage","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","policyId","login","getTokens","outcome","file","deps","prereqs","useStringArrays","process","exitCode","setId","all","allSeparate","help","parse"],"sources":["cli/authz/authz-policy-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport {\n exportPolicyToFile,\n exportPoliciesToFile,\n exportPoliciesByPolicySetToFile,\n exportPoliciesToFiles,\n exportPoliciesByPolicySetToFiles,\n} from '../../ops/PolicyOps';\nimport { verboseMessage } from '../../utils/Console';\n\nconst program = new FrodoCommand('frodo authz policy export');\n\nprogram\n .description('Export authorization policies.')\n .addOption(\n new Option(\n '-i, --policy-id <policy-id>',\n 'Policy id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '--set-id <set-id>',\n 'Export policies in policy set only. Ignored with -i.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export policies to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export policies to separate files (*.policy.authz.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(new Option('--no-deps', 'Do not include dependencies (scripts).'))\n .addOption(\n new Option(\n '--prereqs',\n 'Include prerequisites (policy sets, resource types).'\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\n if (options.policyId && (await frodo.login.getTokens())) {\n verboseMessage('Exporting authorization policy to file...');\n const outcome = exportPolicyToFile(options.policyId, options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -a/--all by policy set\n else if (\n options.setId &&\n options.all &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Exporting all authorization policies in policy set ${options.setId} to file...`\n );\n const outcome = await exportPoliciesByPolicySetToFile(\n options.setId,\n options.file,\n {\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n }\n );\n if (!outcome) process.exitCode = 1;\n }\n // -a/--all\n else if (options.all && (await frodo.login.getTokens())) {\n verboseMessage('Exporting all authorization policies to file...');\n const outcome = await exportPoliciesToFile(options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -A/--all-separate by policy set\n else if (\n options.setId &&\n options.allSeparate &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Exporting all authorization policies in policy set ${options.setId} to separate files...`\n );\n const outcome = await exportPoliciesByPolicySetToFiles(options.setId, {\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -A/--all-separate\n else if (options.allSeparate && (await frodo.login.getTokens())) {\n verboseMessage(\n 'Exporting all authorization policies to separate files...'\n );\n const outcome = await exportPoliciesToFiles({\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n });\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"authz-policy-export.js","names":["frodo","Option","exportPoliciesByPolicySetToFile","exportPoliciesByPolicySetToFiles","exportPoliciesToFile","exportPoliciesToFiles","exportPolicyToFile","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","policyId","outcome","file","deps","prereqs","useStringArrays","process","exitCode","setId","all","allSeparate","help","parse"],"sources":["../../../src/cli/authz/authz-policy-export.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n exportPoliciesByPolicySetToFile,\n exportPoliciesByPolicySetToFiles,\n exportPoliciesToFile,\n exportPoliciesToFiles,\n exportPolicyToFile,\n} from '../../ops/PolicyOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo authz policy export');\n\nprogram\n .description('Export authorization policies.')\n .addOption(\n new Option(\n '-i, --policy-id <policy-id>',\n 'Policy id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '--set-id <set-id>',\n 'Export policies in policy set only. Ignored with -i.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export policies to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export policies to separate files (*.policy.authz.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(new Option('--no-deps', 'Do not include dependencies (scripts).'))\n .addOption(\n new Option(\n '--prereqs',\n 'Include prerequisites (policy sets, resource types).'\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\n if (options.policyId && (await getTokens())) {\n verboseMessage('Exporting authorization policy to file...');\n const outcome = exportPolicyToFile(options.policyId, options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -a/--all by policy set\n else if (options.setId && options.all && (await getTokens())) {\n verboseMessage(\n `Exporting all authorization policies in policy set ${options.setId} to file...`\n );\n const outcome = await exportPoliciesByPolicySetToFile(\n options.setId,\n options.file,\n {\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n }\n );\n if (!outcome) process.exitCode = 1;\n }\n // -a/--all\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all authorization policies to file...');\n const outcome = await exportPoliciesToFile(options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -A/--all-separate by policy set\n else if (options.setId && options.allSeparate && (await getTokens())) {\n verboseMessage(\n `Exporting all authorization policies in policy set ${options.setId} to separate files...`\n );\n const outcome = await exportPoliciesByPolicySetToFiles(options.setId, {\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -A/--all-separate\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage(\n 'Exporting all authorization policies to separate files...'\n );\n const outcome = await exportPoliciesToFiles({\n deps: options.deps,\n prereqs: options.prereqs,\n useStringArrays: true,\n });\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -1,15 +1,18 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
2
+ import { Option } from 'commander';
4
3
  import { importFirstPolicyFromFile, importPoliciesFromFile, importPoliciesFromFiles, importPolicyFromFile } from '../../ops/PolicyOps';
5
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 authz policy import');
7
10
  program.description('Import authorization policies.').addOption(new Option('-i, --policy-id <policy-id>', 'Policy id. If specified, only one policy is imported and the options -a and -A are ignored.')).addOption(new Option('--set-id <set-id>', 'Import policies into this policy set.')).addOption(new Option('-f, --file <file>', 'Name of the file to import.')).addOption(new Option('-a, --all', 'Import all policies from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all policies from separate files (*.policy.authz.json) in the current directory. Ignored with -i or -a.')).addOption(new Option('--no-deps', 'Do not import dependencies (scripts) even if they are available in the import file.')).addOption(new Option('--prereqs', 'Import prerequisites (policy sets, resource types) if they are available in the import file.')).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
12
- if (options.policyId && (await frodo.login.getTokens())) {
15
+ if (options.policyId && (await getTokens())) {
13
16
  verboseMessage('Importing authorization policy from file...');
14
17
  const outcome = importPolicyFromFile(options.policyId, options.file, {
15
18
  deps: options.deps,
@@ -19,7 +22,7 @@ async (host, realm, user, password, options, command) => {
19
22
  if (!outcome) process.exitCode = 1;
20
23
  }
21
24
  // -a/--all
22
- else if (options.all && (await frodo.login.getTokens())) {
25
+ else if (options.all && (await getTokens())) {
23
26
  verboseMessage('Importing all authorization policies from file...');
24
27
  const outcome = await importPoliciesFromFile(options.file, {
25
28
  deps: options.deps,
@@ -29,7 +32,7 @@ async (host, realm, user, password, options, command) => {
29
32
  if (!outcome) process.exitCode = 1;
30
33
  }
31
34
  // -A/--all-separate
32
- else if (options.allSeparate && (await frodo.login.getTokens())) {
35
+ else if (options.allSeparate && (await getTokens())) {
33
36
  verboseMessage('Importing all authorization policies from separate files...');
34
37
  const outcome = await importPoliciesFromFiles({
35
38
  deps: options.deps,
@@ -39,7 +42,7 @@ async (host, realm, user, password, options, command) => {
39
42
  if (!outcome) process.exitCode = 1;
40
43
  }
41
44
  // import first policy set from file
42
- else if (options.file && (await frodo.login.getTokens())) {
45
+ else if (options.file && (await getTokens())) {
43
46
  verboseMessage(`Importing first authorization policy from file "${options.file}"...`);
44
47
  const outcome = await importFirstPolicyFromFile(options.file, {
45
48
  deps: options.deps,
@@ -59,4 +62,4 @@ async (host, realm, user, password, options, command) => {
59
62
  );
60
63
 
61
64
  program.parse();
62
- //# sourceMappingURL=authz-policy-import.js.map
65
+ //# sourceMappingURL=authz-policy-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz-policy-import.js","names":["FrodoCommand","Option","frodo","importFirstPolicyFromFile","importPoliciesFromFile","importPoliciesFromFiles","importPolicyFromFile","verboseMessage","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","policyId","login","getTokens","outcome","file","deps","prereqs","policySetName","setId","process","exitCode","all","allSeparate","help","parse"],"sources":["cli/authz/authz-policy-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport {\n importFirstPolicyFromFile,\n importPoliciesFromFile,\n importPoliciesFromFiles,\n importPolicyFromFile,\n} from '../../ops/PolicyOps';\nimport { verboseMessage } from '../../utils/Console';\n\nconst program = new FrodoCommand('frodo authz policy import');\n\nprogram\n .description('Import authorization policies.')\n .addOption(\n new Option(\n '-i, --policy-id <policy-id>',\n 'Policy id. If specified, only one policy is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('--set-id <set-id>', 'Import policies into this policy set.')\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 policies from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all policies from separate files (*.policy.authz.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '--no-deps',\n 'Do not import dependencies (scripts) even if they are available in the import file.'\n )\n )\n .addOption(\n new Option(\n '--prereqs',\n 'Import prerequisites (policy sets, resource types) if they are available in the import file.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import\n if (options.policyId && (await frodo.login.getTokens())) {\n verboseMessage('Importing authorization policy from file...');\n const outcome = importPolicyFromFile(options.policyId, options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n policySetName: options.setId,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -a/--all\n else if (options.all && (await frodo.login.getTokens())) {\n verboseMessage('Importing all authorization policies from file...');\n const outcome = await importPoliciesFromFile(options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n policySetName: options.setId,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -A/--all-separate\n else if (options.allSeparate && (await frodo.login.getTokens())) {\n verboseMessage(\n 'Importing all authorization policies from separate files...'\n );\n const outcome = await importPoliciesFromFiles({\n deps: options.deps,\n prereqs: options.prereqs,\n policySetName: options.setId,\n });\n if (!outcome) process.exitCode = 1;\n }\n // import first policy set from file\n else if (options.file && (await frodo.login.getTokens())) {\n verboseMessage(\n `Importing first authorization policy from file \"${options.file}\"...`\n );\n const outcome = await importFirstPolicyFromFile(options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n policySetName: options.setId,\n });\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"authz-policy-import.js","names":["frodo","Option","importFirstPolicyFromFile","importPoliciesFromFile","importPoliciesFromFiles","importPolicyFromFile","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","policyId","outcome","file","deps","prereqs","policySetName","setId","process","exitCode","all","allSeparate","help","parse"],"sources":["../../../src/cli/authz/authz-policy-import.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n importFirstPolicyFromFile,\n importPoliciesFromFile,\n importPoliciesFromFiles,\n importPolicyFromFile,\n} from '../../ops/PolicyOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo authz policy import');\n\nprogram\n .description('Import authorization policies.')\n .addOption(\n new Option(\n '-i, --policy-id <policy-id>',\n 'Policy id. If specified, only one policy is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('--set-id <set-id>', 'Import policies into this policy set.')\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 policies from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all policies from separate files (*.policy.authz.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '--no-deps',\n 'Do not import dependencies (scripts) even if they are available in the import file.'\n )\n )\n .addOption(\n new Option(\n '--prereqs',\n 'Import prerequisites (policy sets, resource types) if they are available in the import file.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import\n if (options.policyId && (await getTokens())) {\n verboseMessage('Importing authorization policy from file...');\n const outcome = importPolicyFromFile(options.policyId, options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n policySetName: options.setId,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -a/--all\n else if (options.all && (await getTokens())) {\n verboseMessage('Importing all authorization policies from file...');\n const outcome = await importPoliciesFromFile(options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n policySetName: options.setId,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -A/--all-separate\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage(\n 'Importing all authorization policies from separate files...'\n );\n const outcome = await importPoliciesFromFiles({\n deps: options.deps,\n prereqs: options.prereqs,\n policySetName: options.setId,\n });\n if (!outcome) process.exitCode = 1;\n }\n // import first policy set from file\n else if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing first authorization policy from file \"${options.file}\"...`\n );\n const outcome = await importFirstPolicyFromFile(options.file, {\n deps: options.deps,\n prereqs: options.prereqs,\n policySetName: options.setId,\n });\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -1,21 +1,24 @@
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 { listPolicies, listPoliciesByPolicySet } from '../../ops/PolicyOps';
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 authz policy list');
7
10
  program.description('List authorization policies.').addOption(new Option('--set-id <set-id>', 'Policy set id/name.')).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
14
  // by policy set
12
- if (options.setId && (await frodo.login.getTokens())) {
15
+ if (options.setId && (await getTokens())) {
13
16
  verboseMessage(`Listing authorization policies in policy set ${options.setId}...`);
14
17
  const outcome = listPoliciesByPolicySet(options.setId, options.long);
15
18
  if (!outcome) process.exitCode = 1;
16
19
  }
17
20
  // all policies
18
- else if (await frodo.login.getTokens()) {
21
+ else if (await getTokens()) {
19
22
  verboseMessage(`Listing authorization policies...`);
20
23
  const outcome = listPolicies(options.long);
21
24
  if (!outcome) process.exitCode = 1;
@@ -31,4 +34,4 @@ async (host, realm, user, password, options, command) => {
31
34
  );
32
35
 
33
36
  program.parse();
34
- //# sourceMappingURL=authz-policy-list.js.map
37
+ //# sourceMappingURL=authz-policy-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz-policy-list.js","names":["FrodoCommand","Option","frodo","verboseMessage","listPolicies","listPoliciesByPolicySet","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","setId","login","getTokens","outcome","long","process","exitCode","help","parse"],"sources":["cli/authz/authz-policy-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { listPolicies, listPoliciesByPolicySet } from '../../ops/PolicyOps';\n\nconst program = new FrodoCommand('frodo authz policy list');\n\nprogram\n .description('List authorization policies.')\n .addOption(new Option('--set-id <set-id>', 'Policy set id/name.'))\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 // by policy set\n if (options.setId && (await frodo.login.getTokens())) {\n verboseMessage(\n `Listing authorization policies in policy set ${options.setId}...`\n );\n const outcome = listPoliciesByPolicySet(options.setId, options.long);\n if (!outcome) process.exitCode = 1;\n }\n // all policies\n else if (await frodo.login.getTokens()) {\n verboseMessage(`Listing authorization policies...`);\n const outcome = listPolicies(options.long);\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('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,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,EAAEC,uBAAuB,QAAQ,qBAAqB;AAE3E,MAAMC,OAAO,GAAG,IAAIN,YAAY,CAAC,yBAAyB,CAAC;AAE3DM,OAAO,CACJC,WAAW,CAAC,8BAA8B,CAAC,CAC3CC,SAAS,CAAC,IAAIP,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CACjEO,SAAS,CACR,IAAIP,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACQ,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;EACA,IAAID,OAAO,CAACG,KAAK,KAAK,MAAMhB,KAAK,CAACiB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACpDjB,cAAc,CACX,gDAA+CY,OAAO,CAACG,KAAM,KAChE,CAAC;IACD,MAAMG,OAAO,GAAGhB,uBAAuB,CAACU,OAAO,CAACG,KAAK,EAAEH,OAAO,CAACO,IAAI,CAAC;IACpE,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAI,MAAMtB,KAAK,CAACiB,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACtCjB,cAAc,CAAE,mCAAkC,CAAC;IACnD,MAAMkB,OAAO,GAAGjB,YAAY,CAACW,OAAO,CAACO,IAAI,CAAC;IAC1C,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHrB,cAAc,CAAC,sDAAsD,CAAC;IACtEG,OAAO,CAACmB,IAAI,CAAC,CAAC;IACdF,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHlB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"authz-policy-list.js","names":["frodo","Option","listPolicies","listPoliciesByPolicySet","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","setId","outcome","long","process","exitCode","help","parse"],"sources":["../../../src/cli/authz/authz-policy-list.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { listPolicies, listPoliciesByPolicySet } from '../../ops/PolicyOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo authz policy list');\n\nprogram\n .description('List authorization policies.')\n .addOption(new Option('--set-id <set-id>', 'Policy set id/name.'))\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 // by policy set\n if (options.setId && (await getTokens())) {\n verboseMessage(\n `Listing authorization policies in policy set ${options.setId}...`\n );\n const outcome = listPoliciesByPolicySet(options.setId, options.long);\n if (!outcome) process.exitCode = 1;\n }\n // all policies\n else if (await getTokens()) {\n verboseMessage(`Listing authorization policies...`);\n const outcome = listPolicies(options.long);\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('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,YAAY,EAAEC,uBAAuB,QAAQ,qBAAqB;AAC3E,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGN,KAAK,CAACO,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,yBAAyB,CAAC;AAE3DG,OAAO,CACJC,WAAW,CAAC,8BAA8B,CAAC,CAC3CC,SAAS,CAAC,IAAIT,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CACjES,SAAS,CACR,IAAIT,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACU,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;EACA,IAAID,OAAO,CAACG,KAAK,KAAK,MAAMd,SAAS,CAAC,CAAC,CAAC,EAAE;IACxCF,cAAc,CACX,gDAA+Ca,OAAO,CAACG,KAAM,KAChE,CAAC;IACD,MAAMC,OAAO,GAAGlB,uBAAuB,CAACc,OAAO,CAACG,KAAK,EAAEH,OAAO,CAACK,IAAI,CAAC;IACpE,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAI,MAAMlB,SAAS,CAAC,CAAC,EAAE;IAC1BF,cAAc,CAAE,mCAAkC,CAAC;IACnD,MAAMiB,OAAO,GAAGnB,YAAY,CAACe,OAAO,CAACK,IAAI,CAAC;IAC1C,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHpB,cAAc,CAAC,sDAAsD,CAAC;IACtEI,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdF,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
@@ -7,4 +7,4 @@ program.command('export', 'Export authorization policies.');
7
7
  program.command('import', 'Import authorization policies.');
8
8
  program.command('list', 'List authorization policies.');
9
9
  program.parse();
10
- //# sourceMappingURL=authz-policy.js.map
10
+ //# sourceMappingURL=authz-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz-policy.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["cli/authz/authz-policy.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo authz policy');\n\nprogram.description('Manages authorization policies.');\n\nprogram.command('delete', 'Delete authorization policies.');\n\nprogram.command('describe', 'Describe authorization policies.');\n\nprogram.command('export', 'Export authorization policies.');\n\nprogram.command('import', 'Import authorization policies.');\n\nprogram.command('list', 'List authorization policies.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,oBAAoB,CAAC;AAE1DC,OAAO,CAACC,WAAW,CAAC,iCAAiC,CAAC;AAEtDD,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,gCAAgC,CAAC;AAE3DF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,kCAAkC,CAAC;AAE/DF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,gCAAgC,CAAC;AAE3DF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,gCAAgC,CAAC;AAE3DF,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,8BAA8B,CAAC;AAEvDF,OAAO,CAACG,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"authz-policy.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["../../../src/cli/authz/authz-policy.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo authz policy');\n\nprogram.description('Manages authorization policies.');\n\nprogram.command('delete', 'Delete authorization policies.');\n\nprogram.command('describe', 'Describe authorization policies.');\n\nprogram.command('export', 'Export authorization policies.');\n\nprogram.command('import', 'Import authorization policies.');\n\nprogram.command('list', 'List authorization policies.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,oBAAoB,CAAC;AAE1DC,OAAO,CAACC,WAAW,CAAC,iCAAiC,CAAC;AAEtDD,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,gCAAgC,CAAC;AAE3DF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,kCAAkC,CAAC;AAE/DF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,gCAAgC,CAAC;AAE3DF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,gCAAgC,CAAC;AAE3DF,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,8BAA8B,CAAC;AAEvDF,OAAO,CAACG,KAAK,CAAC,CAAC"}
@@ -1,21 +1,24 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo } from '@rockcarver/frodo-lib';
4
- import { printMessage, verboseMessage } from '../../utils/Console.js';
2
+ import { Option } from 'commander';
5
3
  import { deletePolicySet, deletePolicySets } from '../../ops/PolicySetOps';
4
+ import { printMessage, verboseMessage } from '../../utils/Console.js';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo authz set delete');
7
10
  program.description('Delete authorization policy sets.').addOption(new Option('-i, --set-id <set-id>', 'Policy set id/name.')).addOption(new Option('-a, --all', 'Delete all policy sets in a realm. Ignored with -i.')).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
  // delete by id
12
- if (options.setId && (await frodo.login.getTokens())) {
15
+ if (options.setId && (await getTokens())) {
13
16
  verboseMessage('Deleting authorization policy set...');
14
17
  const outcome = deletePolicySet(options.setId);
15
18
  if (!outcome) process.exitCode = 1;
16
19
  }
17
20
  // --all -a
18
- else if (options.all && (await frodo.login.getTokens())) {
21
+ else if (options.all && (await getTokens())) {
19
22
  verboseMessage('Deleting all authorization policy sets...');
20
23
  const outcome = deletePolicySets();
21
24
  if (!outcome) process.exitCode = 1;
@@ -31,4 +34,4 @@ async (host, realm, user, password, options, command) => {
31
34
  );
32
35
 
33
36
  program.parse();
34
- //# sourceMappingURL=authz-set-delete.js.map
37
+ //# sourceMappingURL=authz-set-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz-set-delete.js","names":["FrodoCommand","Option","frodo","printMessage","verboseMessage","deletePolicySet","deletePolicySets","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","setId","login","getTokens","outcome","process","exitCode","all","help","parse"],"sources":["cli/authz/authz-set-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 { deletePolicySet, deletePolicySets } from '../../ops/PolicySetOps';\n\nconst program = new FrodoCommand('frodo authz set delete');\n\nprogram\n .description('Delete authorization policy sets.')\n .addOption(new Option('-i, --set-id <set-id>', 'Policy set id/name.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Delete all policy sets in a realm. Ignored with -i.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // delete by id\n if (options.setId && (await frodo.login.getTokens())) {\n verboseMessage('Deleting authorization policy set...');\n const outcome = deletePolicySet(options.setId);\n if (!outcome) process.exitCode = 1;\n }\n // --all -a\n else if (options.all && (await frodo.login.getTokens())) {\n verboseMessage('Deleting all authorization policy sets...');\n const outcome = deletePolicySets();\n if (!outcome) process.exitCode = 1;\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,eAAe,EAAEC,gBAAgB,QAAQ,wBAAwB;AAE1E,MAAMC,OAAO,GAAG,IAAIP,YAAY,CAAC,wBAAwB,CAAC;AAE1DO,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CAAC,IAAIR,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CACrEQ,SAAS,CACR,IAAIR,MAAM,CACR,WAAW,EACX,qDACF,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,KAAK,KAAK,MAAMhB,KAAK,CAACiB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACpDhB,cAAc,CAAC,sCAAsC,CAAC;IACtD,MAAMiB,OAAO,GAAGhB,eAAe,CAACU,OAAO,CAACG,KAAK,CAAC;IAC9C,IAAI,CAACG,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAIR,OAAO,CAACS,GAAG,KAAK,MAAMtB,KAAK,CAACiB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACvDhB,cAAc,CAAC,2CAA2C,CAAC;IAC3D,MAAMiB,OAAO,GAAGf,gBAAgB,CAAC,CAAC;IAClC,IAAI,CAACe,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHpB,YAAY,CAAC,sDAAsD,CAAC;IACpEI,OAAO,CAACkB,IAAI,CAAC,CAAC;IACdH,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"authz-set-delete.js","names":["frodo","Option","deletePolicySet","deletePolicySets","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","setId","outcome","process","exitCode","all","help","parse"],"sources":["../../../src/cli/authz/authz-set-delete.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { deletePolicySet, deletePolicySets } from '../../ops/PolicySetOps';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo authz set delete');\n\nprogram\n .description('Delete authorization policy sets.')\n .addOption(new Option('-i, --set-id <set-id>', 'Policy set id/name.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Delete all policy sets in a realm. Ignored with -i.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // delete by id\n if (options.setId && (await getTokens())) {\n verboseMessage('Deleting authorization policy set...');\n const outcome = deletePolicySet(options.setId);\n if (!outcome) process.exitCode = 1;\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Deleting all authorization policy sets...');\n const outcome = deletePolicySets();\n if (!outcome) process.exitCode = 1;\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,eAAe,EAAEC,gBAAgB,QAAQ,wBAAwB;AAC1E,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,wBAAwB,CAAC;AAE1DG,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CAAC,IAAIV,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CACrEU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,qDACF,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,KAAK,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IACxCF,cAAc,CAAC,sCAAsC,CAAC;IACtD,MAAMgB,OAAO,GAAGnB,eAAe,CAACe,OAAO,CAACG,KAAK,CAAC;IAC9C,IAAI,CAACC,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAIN,OAAO,CAACO,GAAG,KAAK,MAAMjB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CF,cAAc,CAAC,2CAA2C,CAAC;IAC3D,MAAMgB,OAAO,GAAGlB,gBAAgB,CAAC,CAAC;IAClC,IAAI,CAACkB,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHnB,YAAY,CAAC,sDAAsD,CAAC;IACpEK,OAAO,CAACgB,IAAI,CAAC,CAAC;IACdH,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACiB,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 { describePolicySet } from '../../ops/PolicySetOps';
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 authz set describe');
7
10
  program.description('Describe authorization policy sets.').addOption(new Option('-i, --set-id <set-id>', 'Policy set id/name.').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 (options.setId && (await frodo.login.getTokens())) {
14
+ if (options.setId && (await getTokens())) {
12
15
  verboseMessage(`Describing authorization policy set ${options.setId}...`);
13
16
  const outcome = await describePolicySet(options.setId, options.json);
14
17
  if (!outcome) process.exitCode = 1;
@@ -24,4 +27,4 @@ async (host, realm, user, password, options, command) => {
24
27
  );
25
28
 
26
29
  program.parse();
27
- //# sourceMappingURL=authz-set-describe.js.map
30
+ //# sourceMappingURL=authz-set-describe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz-set-describe.js","names":["FrodoCommand","Option","frodo","verboseMessage","describePolicySet","program","description","addOption","makeOptionMandatory","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","setId","login","getTokens","outcome","json","process","exitCode","help","parse"],"sources":["cli/authz/authz-set-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { describePolicySet } from '../../ops/PolicySetOps';\n\nconst program = new FrodoCommand('frodo authz set describe');\n\nprogram\n .description('Describe authorization policy sets.')\n .addOption(\n new Option(\n '-i, --set-id <set-id>',\n 'Policy set id/name.'\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 (options.setId && (await frodo.login.getTokens())) {\n verboseMessage(\n `Describing authorization policy set ${options.setId}...`\n );\n const outcome = await describePolicySet(options.setId, options.json);\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('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,cAAc,QAAQ,wBAAwB;AACvD,SAASC,iBAAiB,QAAQ,wBAAwB;AAE1D,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,0BAA0B,CAAC;AAE5DK,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,SAAS,CACR,IAAIN,MAAM,CACR,uBAAuB,EACvB,qBACF,CAAC,CAACO,mBAAmB,CAAC,CACxB,CAAC,CACAD,SAAS,CAAC,IAAIN,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CACzDQ,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,KAAK,KAAK,MAAMf,KAAK,CAACgB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACpDhB,cAAc,CACX,uCAAsCW,OAAO,CAACG,KAAM,KACvD,CAAC;IACD,MAAMG,OAAO,GAAG,MAAMhB,iBAAiB,CAACU,OAAO,CAACG,KAAK,EAAEH,OAAO,CAACO,IAAI,CAAC;IACpE,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHpB,cAAc,CAAC,sDAAsD,CAAC;IACtEE,OAAO,CAACmB,IAAI,CAAC,CAAC;IACdF,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHlB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"authz-set-describe.js","names":["frodo","Option","describePolicySet","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","makeOptionMandatory","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","setId","outcome","json","process","exitCode","help","parse"],"sources":["../../../src/cli/authz/authz-set-describe.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { describePolicySet } from '../../ops/PolicySetOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo authz set describe');\n\nprogram\n .description('Describe authorization policy sets.')\n .addOption(\n new Option(\n '-i, --set-id <set-id>',\n 'Policy set id/name.'\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 (options.setId && (await getTokens())) {\n verboseMessage(\n `Describing authorization policy set ${options.setId}...`\n );\n const outcome = await describePolicySet(options.setId, options.json);\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage('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,iBAAiB,QAAQ,wBAAwB;AAC1D,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,0BAA0B,CAAC;AAE5DG,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,SAAS,CACR,IAAIR,MAAM,CACR,uBAAuB,EACvB,qBACF,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,IAAID,OAAO,CAACG,KAAK,KAAK,MAAMd,SAAS,CAAC,CAAC,CAAC,EAAE;IACxCF,cAAc,CACX,uCAAsCa,OAAO,CAACG,KAAM,KACvD,CAAC;IACD,MAAMC,OAAO,GAAG,MAAMlB,iBAAiB,CAACc,OAAO,CAACG,KAAK,EAAEH,OAAO,CAACK,IAAI,CAAC;IACpE,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHpB,cAAc,CAAC,sDAAsD,CAAC;IACtEI,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdF,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHhB,OAAO,CAACkB,KAAK,CAAC,CAAC"}