@rockcarver/frodo-cli 2.0.0-50 → 2.0.0-52

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 (386) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/esm/app.js +7 -2
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/_template/something-delete.js +1 -4
  5. package/esm/cli/_template/something-delete.js.map +1 -1
  6. package/esm/cli/_template/something-describe.js +1 -4
  7. package/esm/cli/_template/something-describe.js.map +1 -1
  8. package/esm/cli/_template/something-else-delete.js +1 -4
  9. package/esm/cli/_template/something-else-delete.js.map +1 -1
  10. package/esm/cli/_template/something-else-describe.js +1 -4
  11. package/esm/cli/_template/something-else-describe.js.map +1 -1
  12. package/esm/cli/_template/something-else-export.js +1 -4
  13. package/esm/cli/_template/something-else-export.js.map +1 -1
  14. package/esm/cli/_template/something-else-import.js +1 -4
  15. package/esm/cli/_template/something-else-import.js.map +1 -1
  16. package/esm/cli/_template/something-else-list.js +1 -4
  17. package/esm/cli/_template/something-else-list.js.map +1 -1
  18. package/esm/cli/_template/something-export.js +1 -4
  19. package/esm/cli/_template/something-export.js.map +1 -1
  20. package/esm/cli/_template/something-import.js +1 -4
  21. package/esm/cli/_template/something-import.js.map +1 -1
  22. package/esm/cli/_template/something-list.js +1 -4
  23. package/esm/cli/_template/something-list.js.map +1 -1
  24. package/esm/cli/_template/something-other-delete.js +1 -4
  25. package/esm/cli/_template/something-other-delete.js.map +1 -1
  26. package/esm/cli/_template/something-other-describe.js +1 -4
  27. package/esm/cli/_template/something-other-describe.js.map +1 -1
  28. package/esm/cli/_template/something-other-export.js +1 -4
  29. package/esm/cli/_template/something-other-export.js.map +1 -1
  30. package/esm/cli/_template/something-other-import.js +1 -4
  31. package/esm/cli/_template/something-other-import.js.map +1 -1
  32. package/esm/cli/_template/something-other-list.js +1 -4
  33. package/esm/cli/_template/something-other-list.js.map +1 -1
  34. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +4 -9
  35. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  36. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +47 -54
  37. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  38. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +1 -4
  39. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -1
  40. package/esm/cli/admin/admin-federation-export.js +2 -5
  41. package/esm/cli/admin/admin-federation-export.js.map +1 -1
  42. package/esm/cli/admin/admin-federation-import.js +2 -5
  43. package/esm/cli/admin/admin-federation-import.js.map +1 -1
  44. package/esm/cli/admin/admin-federation-list.js +2 -5
  45. package/esm/cli/admin/admin-federation-list.js.map +1 -1
  46. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +2 -4
  47. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -1
  48. package/esm/cli/admin/admin-get-access-token.js +1 -3
  49. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  50. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +5 -9
  51. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  52. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +5 -9
  53. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  54. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +5 -12
  55. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  56. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +5 -12
  57. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-list-static-user-mappings.js +4 -12
  59. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  60. package/esm/cli/admin/admin-remove-static-user-mapping.js +4 -9
  61. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  62. package/esm/cli/admin/admin-repair-org-model.js +5 -9
  63. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  64. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +5 -9
  65. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  66. package/esm/cli/admin/admin-show-generic-extension-attributes.js +5 -9
  67. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  68. package/esm/cli/admin/admin-train-auto-access-model.js +1 -3
  69. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -1
  70. package/esm/cli/agent/agent-delete.js +9 -24
  71. package/esm/cli/agent/agent-delete.js.map +1 -1
  72. package/esm/cli/agent/agent-describe.js +1 -4
  73. package/esm/cli/agent/agent-describe.js.map +1 -1
  74. package/esm/cli/agent/agent-export.js +7 -7
  75. package/esm/cli/agent/agent-export.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-delete.js +8 -23
  77. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-describe.js +1 -4
  79. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  80. package/esm/cli/agent/agent-gateway-export.js +7 -7
  81. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-import.js +9 -8
  83. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-list.js +3 -5
  85. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  86. package/esm/cli/agent/agent-import.js +9 -8
  87. package/esm/cli/agent/agent-import.js.map +1 -1
  88. package/esm/cli/agent/agent-java-delete.js +8 -23
  89. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-java-describe.js +1 -4
  91. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-java-export.js +7 -7
  93. package/esm/cli/agent/agent-java-export.js.map +1 -1
  94. package/esm/cli/agent/agent-java-import.js +9 -8
  95. package/esm/cli/agent/agent-java-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-list.js +3 -5
  97. package/esm/cli/agent/agent-java-list.js.map +1 -1
  98. package/esm/cli/agent/agent-list.js +3 -5
  99. package/esm/cli/agent/agent-list.js.map +1 -1
  100. package/esm/cli/agent/agent-web-delete.js +8 -23
  101. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  102. package/esm/cli/agent/agent-web-describe.js +1 -4
  103. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  104. package/esm/cli/agent/agent-web-export.js +7 -7
  105. package/esm/cli/agent/agent-web-export.js.map +1 -1
  106. package/esm/cli/agent/agent-web-import.js +9 -8
  107. package/esm/cli/agent/agent-web-import.js.map +1 -1
  108. package/esm/cli/agent/agent-web-list.js +3 -5
  109. package/esm/cli/agent/agent-web-list.js.map +1 -1
  110. package/esm/cli/app/app-delete.js +5 -8
  111. package/esm/cli/app/app-delete.js.map +1 -1
  112. package/esm/cli/app/app-describe.js +1 -4
  113. package/esm/cli/app/app-describe.js.map +1 -1
  114. package/esm/cli/app/app-export.js +7 -10
  115. package/esm/cli/app/app-export.js.map +1 -1
  116. package/esm/cli/app/app-import.js +9 -12
  117. package/esm/cli/app/app-import.js.map +1 -1
  118. package/esm/cli/app/app-list.js +3 -5
  119. package/esm/cli/app/app-list.js.map +1 -1
  120. package/esm/cli/authn/authn-describe.js +1 -4
  121. package/esm/cli/authn/authn-describe.js.map +1 -1
  122. package/esm/cli/authn/authn-export.js +1 -4
  123. package/esm/cli/authn/authn-export.js.map +1 -1
  124. package/esm/cli/authn/authn-import.js +1 -4
  125. package/esm/cli/authn/authn-import.js.map +1 -1
  126. package/esm/cli/authz/authz-policy-delete.js +1 -4
  127. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  128. package/esm/cli/authz/authz-policy-describe.js +1 -4
  129. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  130. package/esm/cli/authz/authz-policy-export.js +1 -4
  131. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  132. package/esm/cli/authz/authz-policy-import.js +1 -4
  133. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  134. package/esm/cli/authz/authz-policy-list.js +1 -4
  135. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  136. package/esm/cli/authz/authz-set-delete.js +1 -4
  137. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  138. package/esm/cli/authz/authz-set-describe.js +1 -4
  139. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  140. package/esm/cli/authz/authz-set-export.js +1 -4
  141. package/esm/cli/authz/authz-set-export.js.map +1 -1
  142. package/esm/cli/authz/authz-set-import.js +1 -4
  143. package/esm/cli/authz/authz-set-import.js.map +1 -1
  144. package/esm/cli/authz/authz-set-list.js +1 -4
  145. package/esm/cli/authz/authz-set-list.js.map +1 -1
  146. package/esm/cli/authz/authz-type-delete.js +1 -4
  147. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  148. package/esm/cli/authz/authz-type-describe.js +1 -4
  149. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  150. package/esm/cli/authz/authz-type-export.js +1 -4
  151. package/esm/cli/authz/authz-type-export.js.map +1 -1
  152. package/esm/cli/authz/authz-type-import.js +1 -4
  153. package/esm/cli/authz/authz-type-import.js.map +1 -1
  154. package/esm/cli/authz/authz-type-list.js +1 -4
  155. package/esm/cli/authz/authz-type-list.js.map +1 -1
  156. package/esm/cli/config/config-delete.js +1 -4
  157. package/esm/cli/config/config-delete.js.map +1 -1
  158. package/esm/cli/config/config-describe.js +1 -4
  159. package/esm/cli/config/config-describe.js.map +1 -1
  160. package/esm/cli/config/config-export.js +2 -4
  161. package/esm/cli/config/config-export.js.map +1 -1
  162. package/esm/cli/config/config-import.js +2 -4
  163. package/esm/cli/config/config-import.js.map +1 -1
  164. package/esm/cli/config/config-list.js +1 -4
  165. package/esm/cli/config/config-list.js.map +1 -1
  166. package/esm/cli/conn/conn-delete.js +7 -1
  167. package/esm/cli/conn/conn-delete.js.map +1 -1
  168. package/esm/cli/conn/conn-save.js +10 -12
  169. package/esm/cli/conn/conn-save.js.map +1 -1
  170. package/esm/cli/email/email-template-export.js +8 -7
  171. package/esm/cli/email/email-template-export.js.map +1 -1
  172. package/esm/cli/email/email-template-import.js +9 -8
  173. package/esm/cli/email/email-template-import.js.map +1 -1
  174. package/esm/cli/email/email-template-list.js +3 -5
  175. package/esm/cli/email/email-template-list.js.map +1 -1
  176. package/esm/cli/esv/esv-apply.js +1 -3
  177. package/esm/cli/esv/esv-apply.js.map +1 -1
  178. package/esm/cli/esv/esv-secret-create.js +2 -5
  179. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  180. package/esm/cli/esv/esv-secret-delete.js +2 -5
  181. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  182. package/esm/cli/esv/esv-secret-describe.js +2 -5
  183. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  184. package/esm/cli/esv/esv-secret-export.js +3 -5
  185. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  186. package/esm/cli/esv/esv-secret-import.js +1 -4
  187. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  188. package/esm/cli/esv/esv-secret-list.js +2 -5
  189. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  190. package/esm/cli/esv/esv-secret-set.js +2 -5
  191. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  192. package/esm/cli/esv/esv-secret-version-activate.js +2 -5
  193. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  194. package/esm/cli/esv/esv-secret-version-create.js +2 -5
  195. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  196. package/esm/cli/esv/esv-secret-version-deactivate.js +2 -5
  197. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  198. package/esm/cli/esv/esv-secret-version-delete.js +2 -5
  199. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  200. package/esm/cli/esv/esv-secret-version-list.js +2 -5
  201. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  202. package/esm/cli/esv/esv-variable-create.js +2 -5
  203. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  204. package/esm/cli/esv/esv-variable-delete.js +2 -5
  205. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  206. package/esm/cli/esv/esv-variable-describe.js +2 -5
  207. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  208. package/esm/cli/esv/esv-variable-export.js +3 -5
  209. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  210. package/esm/cli/esv/esv-variable-import.js +1 -4
  211. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  212. package/esm/cli/esv/esv-variable-list.js +2 -5
  213. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  214. package/esm/cli/esv/esv-variable-set.js +2 -5
  215. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  216. package/esm/cli/idm/idm-count.js +3 -5
  217. package/esm/cli/idm/idm-count.js.map +1 -1
  218. package/esm/cli/idm/idm-export.js +8 -7
  219. package/esm/cli/idm/idm-export.js.map +1 -1
  220. package/esm/cli/idm/idm-import.js +10 -8
  221. package/esm/cli/idm/idm-import.js.map +1 -1
  222. package/esm/cli/idm/idm-list.js +3 -5
  223. package/esm/cli/idm/idm-list.js.map +1 -1
  224. package/esm/cli/idp/idp-export.js +8 -7
  225. package/esm/cli/idp/idp-export.js.map +1 -1
  226. package/esm/cli/idp/idp-import.js +10 -8
  227. package/esm/cli/idp/idp-import.js.map +1 -1
  228. package/esm/cli/idp/idp-list.js +4 -5
  229. package/esm/cli/idp/idp-list.js.map +1 -1
  230. package/esm/cli/info/info.js +1 -3
  231. package/esm/cli/info/info.js.map +1 -1
  232. package/esm/cli/journey/journey-delete.js +7 -10
  233. package/esm/cli/journey/journey-delete.js.map +1 -1
  234. package/esm/cli/journey/journey-describe.js +16 -12
  235. package/esm/cli/journey/journey-describe.js.map +1 -1
  236. package/esm/cli/journey/journey-disable.js +1 -4
  237. package/esm/cli/journey/journey-disable.js.map +1 -1
  238. package/esm/cli/journey/journey-enable.js +1 -4
  239. package/esm/cli/journey/journey-enable.js.map +1 -1
  240. package/esm/cli/journey/journey-export.js +7 -7
  241. package/esm/cli/journey/journey-export.js.map +1 -1
  242. package/esm/cli/journey/journey-import.js +9 -8
  243. package/esm/cli/journey/journey-import.js.map +1 -1
  244. package/esm/cli/journey/journey-list.js +4 -5
  245. package/esm/cli/journey/journey-list.js.map +1 -1
  246. package/esm/cli/journey/journey-prune.js +4 -5
  247. package/esm/cli/journey/journey-prune.js.map +1 -1
  248. package/esm/cli/log/log-fetch.js +7 -5
  249. package/esm/cli/log/log-fetch.js.map +1 -1
  250. package/esm/cli/log/log-key-delete.js +1 -4
  251. package/esm/cli/log/log-key-delete.js.map +1 -1
  252. package/esm/cli/log/log-key-describe.js +1 -4
  253. package/esm/cli/log/log-key-describe.js.map +1 -1
  254. package/esm/cli/log/log-key-list.js +1 -4
  255. package/esm/cli/log/log-key-list.js.map +1 -1
  256. package/esm/cli/log/log-list.js +13 -6
  257. package/esm/cli/log/log-list.js.map +1 -1
  258. package/esm/cli/log/log-tail.js +7 -5
  259. package/esm/cli/log/log-tail.js.map +1 -1
  260. package/esm/cli/oauth/oauth-client-delete.js +1 -4
  261. package/esm/cli/oauth/oauth-client-delete.js.map +1 -1
  262. package/esm/cli/oauth/oauth-client-describe.js +1 -4
  263. package/esm/cli/oauth/oauth-client-describe.js.map +1 -1
  264. package/esm/cli/oauth/oauth-client-export.js +7 -10
  265. package/esm/cli/oauth/oauth-client-export.js.map +1 -1
  266. package/esm/cli/oauth/oauth-client-import.js +9 -12
  267. package/esm/cli/oauth/oauth-client-import.js.map +1 -1
  268. package/esm/cli/oauth/oauth-client-list.js +3 -5
  269. package/esm/cli/oauth/oauth-client-list.js.map +1 -1
  270. package/esm/cli/realm/realm-add-custom-domain.js +2 -4
  271. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  272. package/esm/cli/realm/realm-describe.js +1 -3
  273. package/esm/cli/realm/realm-describe.js.map +1 -1
  274. package/esm/cli/realm/realm-list.js +1 -4
  275. package/esm/cli/realm/realm-list.js.map +1 -1
  276. package/esm/cli/realm/realm-remove-custom-domain.js +1 -3
  277. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  278. package/esm/cli/saml/saml-cot-export.js +2 -4
  279. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  280. package/esm/cli/saml/saml-cot-import.js +2 -4
  281. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  282. package/esm/cli/saml/saml-cot-list.js +2 -4
  283. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  284. package/esm/cli/saml/saml-delete.js +1 -3
  285. package/esm/cli/saml/saml-delete.js.map +1 -1
  286. package/esm/cli/saml/saml-describe.js +4 -5
  287. package/esm/cli/saml/saml-describe.js.map +1 -1
  288. package/esm/cli/saml/saml-export.js +8 -7
  289. package/esm/cli/saml/saml-export.js.map +1 -1
  290. package/esm/cli/saml/saml-import.js +10 -8
  291. package/esm/cli/saml/saml-import.js.map +1 -1
  292. package/esm/cli/saml/saml-list.js +4 -5
  293. package/esm/cli/saml/saml-list.js.map +1 -1
  294. package/esm/cli/saml/saml-metadata-export.js +12 -6
  295. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  296. package/esm/cli/script/script-delete.js +12 -8
  297. package/esm/cli/script/script-delete.js.map +1 -1
  298. package/esm/cli/script/script-describe.js +1 -4
  299. package/esm/cli/script/script-describe.js.map +1 -1
  300. package/esm/cli/script/script-export.js +10 -17
  301. package/esm/cli/script/script-export.js.map +1 -1
  302. package/esm/cli/script/script-import.js +21 -18
  303. package/esm/cli/script/script-import.js.map +1 -1
  304. package/esm/cli/script/script-list.js +2 -4
  305. package/esm/cli/script/script-list.js.map +1 -1
  306. package/esm/cli/service/service-delete.js +5 -6
  307. package/esm/cli/service/service-delete.js.map +1 -1
  308. package/esm/cli/service/service-export.js +7 -7
  309. package/esm/cli/service/service-export.js.map +1 -1
  310. package/esm/cli/service/service-import.js +9 -8
  311. package/esm/cli/service/service-import.js.map +1 -1
  312. package/esm/cli/service/service-list.js +3 -5
  313. package/esm/cli/service/service-list.js.map +1 -1
  314. package/esm/cli/shell/shell.js +3 -7
  315. package/esm/cli/shell/shell.js.map +1 -1
  316. package/esm/cli/theme/theme-delete.js +9 -8
  317. package/esm/cli/theme/theme-delete.js.map +1 -1
  318. package/esm/cli/theme/theme-export.js +10 -8
  319. package/esm/cli/theme/theme-export.js.map +1 -1
  320. package/esm/cli/theme/theme-import.js +12 -9
  321. package/esm/cli/theme/theme-import.js.map +1 -1
  322. package/esm/cli/theme/theme-list.js +4 -5
  323. package/esm/cli/theme/theme-list.js.map +1 -1
  324. package/esm/ops/AdminOps.js +790 -3
  325. package/esm/ops/AdminOps.js.map +1 -1
  326. package/esm/ops/AgentOps.js +638 -305
  327. package/esm/ops/AgentOps.js.map +1 -1
  328. package/esm/ops/ApplicationOps.js +91 -79
  329. package/esm/ops/ApplicationOps.js.map +1 -1
  330. package/esm/ops/AuthenticateOps.js +23 -0
  331. package/esm/ops/AuthenticateOps.js.map +1 -0
  332. package/esm/ops/AuthenticationSettingsOps.js +22 -23
  333. package/esm/ops/AuthenticationSettingsOps.js.map +1 -1
  334. package/esm/ops/CirclesOfTrustOps.js +52 -55
  335. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  336. package/esm/ops/ConfigOps.js +100 -84
  337. package/esm/ops/ConfigOps.js.map +1 -1
  338. package/esm/ops/ConnectionProfileOps.js +9 -7
  339. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  340. package/esm/ops/EmailTemplateOps.js +64 -47
  341. package/esm/ops/EmailTemplateOps.js.map +1 -1
  342. package/esm/ops/IdmOps.js +149 -117
  343. package/esm/ops/IdmOps.js.map +1 -1
  344. package/esm/ops/IdpOps.js +76 -46
  345. package/esm/ops/IdpOps.js.map +1 -1
  346. package/esm/ops/JourneyOps.js +333 -238
  347. package/esm/ops/JourneyOps.js.map +1 -1
  348. package/esm/ops/LogOps.js +15 -23
  349. package/esm/ops/LogOps.js.map +1 -1
  350. package/esm/ops/OAuth2ClientOps.js +43 -36
  351. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  352. package/esm/ops/PolicyOps.js +104 -108
  353. package/esm/ops/PolicyOps.js.map +1 -1
  354. package/esm/ops/PolicySetOps.js +72 -78
  355. package/esm/ops/PolicySetOps.js.map +1 -1
  356. package/esm/ops/ResourceTypeOps.js +84 -99
  357. package/esm/ops/ResourceTypeOps.js.map +1 -1
  358. package/esm/ops/Saml2Ops.js +132 -88
  359. package/esm/ops/Saml2Ops.js.map +1 -1
  360. package/esm/ops/ScriptOps.js +90 -80
  361. package/esm/ops/ScriptOps.js.map +1 -1
  362. package/esm/ops/ServiceOps.js +125 -87
  363. package/esm/ops/ServiceOps.js.map +1 -1
  364. package/esm/ops/ThemeOps.js +170 -139
  365. package/esm/ops/ThemeOps.js.map +1 -1
  366. package/esm/ops/{AdminFederationOps.js → cloud/AdminFederationOps.js} +10 -16
  367. package/esm/ops/cloud/AdminFederationOps.js.map +1 -0
  368. package/esm/ops/{SecretsOps.js → cloud/SecretsOps.js} +123 -129
  369. package/esm/ops/cloud/SecretsOps.js.map +1 -0
  370. package/esm/ops/{VariablesOps.js → cloud/VariablesOps.js} +48 -52
  371. package/esm/ops/cloud/VariablesOps.js.map +1 -0
  372. package/esm/ops/templates/OAuth2ClientTemplate.json +270 -0
  373. package/esm/ops/templates/OAuth2TrustedJwtIssuerTemplate.json +38 -0
  374. package/esm/ops/templates/OrgModelUserAttributesTemplate.json +149 -0
  375. package/esm/ops/templates/autoaccess/IPAddresses.json +202 -0
  376. package/esm/ops/templates/autoaccess/UserAgents.json +35 -0
  377. package/esm/ops/templates/autoaccess/Usernames.json +203 -0
  378. package/esm/ops/templates/cloud/GenericExtensionAttributesTemplate.json +392 -0
  379. package/esm/ops/templates/cloud/managed.json +4119 -0
  380. package/esm/ops/utils/OpsUtils.js.map +1 -1
  381. package/esm/utils/Console.js +31 -0
  382. package/esm/utils/Console.js.map +1 -1
  383. package/package.json +11 -6
  384. package/esm/ops/AdminFederationOps.js.map +0 -1
  385. package/esm/ops/SecretsOps.js.map +0 -1
  386. package/esm/ops/VariablesOps.js.map +0 -1
@@ -1,12 +1,8 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
+ import { listOAuth2AdminClients } from '../../ops/AdminOps';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
2
4
  import { printMessage } from '../../utils/Console.js';
3
5
  import { FrodoCommand } from '../FrodoCommand';
4
- const {
5
- getTokens
6
- } = frodo.login;
7
- const {
8
- listOAuth2AdminClients
9
- } = frodo.admin;
10
6
  const program = new FrodoCommand('frodo admin list-oauth2-clients-with-admin-privileges');
11
7
  program.description('List oauth2 clients with admin privileges.').action(
12
8
  // implement command logic inside action handler
@@ -14,11 +10,8 @@ async (host, realm, user, password, options, command) => {
14
10
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
15
11
  if (await getTokens()) {
16
12
  printMessage(`Listing oauth2 clients with admin privileges in realm "${state.getRealm()}"...`);
17
- const adminClients = await listOAuth2AdminClients();
18
- adminClients.sort((a, b) => a.localeCompare(b));
19
- adminClients.forEach(item => {
20
- printMessage(`${item}`, 'data');
21
- });
13
+ const outcome = await listOAuth2AdminClients();
14
+ if (!outcome) process.exitCode = 1;
22
15
  } else {
23
16
  process.exitCode = 1;
24
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admin-list-oauth2-clients-with-admin-privileges.js","names":["frodo","state","printMessage","FrodoCommand","getTokens","login","listOAuth2AdminClients","admin","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","adminClients","sort","a","b","localeCompare","forEach","item","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-list-oauth2-clients-with-admin-privileges.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\n\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { listOAuth2AdminClients } = frodo.admin;\n\nconst program = new FrodoCommand(\n 'frodo admin list-oauth2-clients-with-admin-privileges'\n);\n\nprogram.description('List oauth2 clients with admin privileges.').action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Listing oauth2 clients with admin privileges in realm \"${state.getRealm()}\"...`\n );\n const adminClients = await listOAuth2AdminClients();\n adminClients.sort((a, b) => a.localeCompare(b));\n adminClients.forEach((item) => {\n printMessage(`${item}`, 'data');\n });\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n);\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AAEpD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGJ,KAAK,CAACK,KAAK;AACjC,MAAM;EAAEC;AAAuB,CAAC,GAAGN,KAAK,CAACO,KAAK;AAE9C,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAC9B,uDACF,CAAC;AAEDK,OAAO,CAACC,WAAW,CAAC,4CAA4C,CAAC,CAACC,MAAM;AACtE;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,YAAY,CACT,0DAAyDD,KAAK,CAACiB,QAAQ,CAAC,CAAE,MAC7E,CAAC;IACD,MAAMC,YAAY,GAAG,MAAMb,sBAAsB,CAAC,CAAC;IACnDa,YAAY,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,aAAa,CAACD,CAAC,CAAC,CAAC;IAC/CH,YAAY,CAACK,OAAO,CAAEC,IAAI,IAAK;MAC7BvB,YAAY,CAAE,GAAEuB,IAAK,EAAC,EAAE,MAAM,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEDnB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-list-oauth2-clients-with-admin-privileges.js","names":["state","listOAuth2AdminClients","getTokens","printMessage","FrodoCommand","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","outcome","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-list-oauth2-clients-with-admin-privileges.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\n\nimport { listOAuth2AdminClients } from '../../ops/AdminOps';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand(\n 'frodo admin list-oauth2-clients-with-admin-privileges'\n);\n\nprogram.description('List oauth2 clients with admin privileges.').action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Listing oauth2 clients with admin privileges in realm \"${state.getRealm()}\"...`\n );\n const outcome = await listOAuth2AdminClients();\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n);\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAE7C,SAASC,sBAAsB,QAAQ,oBAAoB;AAC3D,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAC9B,uDACF,CAAC;AAEDC,OAAO,CAACC,WAAW,CAAC,4CAA4C,CAAC,CAACC,MAAM;AACtE;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrBC,YAAY,CACT,0DAAyDH,KAAK,CAACe,QAAQ,CAAC,CAAE,MAC7E,CAAC;IACD,MAAMC,OAAO,GAAG,MAAMf,sBAAsB,CAAC,CAAC;IAC9C,IAAI,CAACe,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEDb,OAAO,CAACc,KAAK,CAAC,CAAC"}
@@ -1,12 +1,8 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
+ import { listOAuth2CustomClients } from '../../ops/AdminOps';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
2
4
  import { printMessage } from '../../utils/Console.js';
3
5
  import { FrodoCommand } from '../FrodoCommand';
4
- const {
5
- getTokens
6
- } = frodo.login;
7
- const {
8
- listOAuth2CustomClients
9
- } = frodo.admin;
10
6
  const program = new FrodoCommand('frodo admin list-oauth2-clients-with-custom-privileges');
11
7
  program.description('List oauth2 clients with custom privileges.').action(
12
8
  // implement command logic inside action handler
@@ -14,11 +10,8 @@ async (host, realm, user, password, options, command) => {
14
10
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
15
11
  if (await getTokens()) {
16
12
  printMessage(`Listing oauth2 clients with custom privileges in realm "${state.getRealm()}"...`);
17
- const adminClients = await listOAuth2CustomClients();
18
- adminClients.sort((a, b) => a.localeCompare(b));
19
- adminClients.forEach(item => {
20
- printMessage(`${item}`, 'data');
21
- });
13
+ const outcome = await listOAuth2CustomClients();
14
+ if (!outcome) process.exitCode = 1;
22
15
  } else {
23
16
  process.exitCode = 1;
24
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admin-list-oauth2-clients-with-custom-privileges.js","names":["frodo","state","printMessage","FrodoCommand","getTokens","login","listOAuth2CustomClients","admin","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","adminClients","sort","a","b","localeCompare","forEach","item","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-list-oauth2-clients-with-custom-privileges.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\n\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { listOAuth2CustomClients } = frodo.admin;\n\nconst program = new FrodoCommand(\n 'frodo admin list-oauth2-clients-with-custom-privileges'\n);\n\nprogram.description('List oauth2 clients with custom privileges.').action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Listing oauth2 clients with custom privileges in realm \"${state.getRealm()}\"...`\n );\n const adminClients = await listOAuth2CustomClients();\n adminClients.sort((a, b) => a.localeCompare(b));\n adminClients.forEach((item) => {\n printMessage(`${item}`, 'data');\n });\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n);\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AAEpD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGJ,KAAK,CAACK,KAAK;AACjC,MAAM;EAAEC;AAAwB,CAAC,GAAGN,KAAK,CAACO,KAAK;AAE/C,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAC9B,wDACF,CAAC;AAEDK,OAAO,CAACC,WAAW,CAAC,6CAA6C,CAAC,CAACC,MAAM;AACvE;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,YAAY,CACT,2DAA0DD,KAAK,CAACiB,QAAQ,CAAC,CAAE,MAC9E,CAAC;IACD,MAAMC,YAAY,GAAG,MAAMb,uBAAuB,CAAC,CAAC;IACpDa,YAAY,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,aAAa,CAACD,CAAC,CAAC,CAAC;IAC/CH,YAAY,CAACK,OAAO,CAAEC,IAAI,IAAK;MAC7BvB,YAAY,CAAE,GAAEuB,IAAK,EAAC,EAAE,MAAM,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEDnB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-list-oauth2-clients-with-custom-privileges.js","names":["state","listOAuth2CustomClients","getTokens","printMessage","FrodoCommand","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","outcome","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-list-oauth2-clients-with-custom-privileges.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\n\nimport { listOAuth2CustomClients } from '../../ops/AdminOps';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand(\n 'frodo admin list-oauth2-clients-with-custom-privileges'\n);\n\nprogram.description('List oauth2 clients with custom privileges.').action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Listing oauth2 clients with custom privileges in realm \"${state.getRealm()}\"...`\n );\n const outcome = await listOAuth2CustomClients();\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n);\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAE7C,SAASC,uBAAuB,QAAQ,oBAAoB;AAC5D,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAC9B,wDACF,CAAC;AAEDC,OAAO,CAACC,WAAW,CAAC,6CAA6C,CAAC,CAACC,MAAM;AACvE;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrBC,YAAY,CACT,2DAA0DH,KAAK,CAACe,QAAQ,CAAC,CAAE,MAC9E,CAAC;IACD,MAAMC,OAAO,GAAG,MAAMf,uBAAuB,CAAC,CAAC;IAC/C,IAAI,CAACe,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEDb,OAAO,CAACc,KAAK,CAAC,CAAC"}
@@ -1,13 +1,8 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
1
  import { Option } from 'commander';
2
+ import { listNonOAuth2AdminStaticUserMappings } from '../../ops/AdminOps';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
3
4
  import { printMessage } from '../../utils/Console.js';
4
5
  import { FrodoCommand } from '../FrodoCommand';
5
- const {
6
- getTokens
7
- } = frodo.login;
8
- const {
9
- listNonOAuth2AdminStaticUserMappings
10
- } = frodo.admin;
11
6
  const program = new FrodoCommand('frodo admin list-static-user-mappings');
12
7
  program.description('List all subjects of static user mappings that are not oauth2 clients.').addOption(new Option('--show-protected', 'Show protected (system) subjects.').default(false, 'false')).action(
13
8
  // implement command logic inside action handler
@@ -15,11 +10,8 @@ async (host, realm, user, password, options, command) => {
15
10
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
16
11
  if (await getTokens()) {
17
12
  printMessage('Listing all non-oauth2 client subjects of static user mappings...');
18
- const subjects = await listNonOAuth2AdminStaticUserMappings(options.showProtected);
19
- subjects.sort((a, b) => a.localeCompare(b));
20
- subjects.forEach(item => {
21
- printMessage(`${item}`, 'data');
22
- });
13
+ const outcome = await listNonOAuth2AdminStaticUserMappings(options.showProtected);
14
+ if (!outcome) process.exitCode = 1;
23
15
  } else {
24
16
  process.exitCode = 1;
25
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admin-list-static-user-mappings.js","names":["frodo","Option","printMessage","FrodoCommand","getTokens","login","listNonOAuth2AdminStaticUserMappings","admin","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","subjects","showProtected","sort","a","b","localeCompare","forEach","item","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-list-static-user-mappings.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { listNonOAuth2AdminStaticUserMappings } = frodo.admin;\n\nconst program = new FrodoCommand('frodo admin list-static-user-mappings');\n\nprogram\n .description(\n 'List all subjects of static user mappings that are not oauth2 clients.'\n )\n .addOption(\n new Option('--show-protected', 'Show protected (system) subjects.').default(\n false,\n 'false'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n 'Listing all non-oauth2 client subjects of static user mappings...'\n );\n const subjects = await listNonOAuth2AdminStaticUserMappings(\n options.showProtected\n );\n subjects.sort((a, b) => a.localeCompare(b));\n subjects.forEach((item) => {\n printMessage(`${item}`, 'data');\n });\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGJ,KAAK,CAACK,KAAK;AACjC,MAAM;EAAEC;AAAqC,CAAC,GAAGN,KAAK,CAACO,KAAK;AAE5D,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,uCAAuC,CAAC;AAEzEK,OAAO,CACJC,WAAW,CACV,wEACF,CAAC,CACAC,SAAS,CACR,IAAIT,MAAM,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAACU,OAAO,CACzE,KAAK,EACL,OACF,CACF,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBF,YAAY,CACV,mEACF,CAAC;IACD,MAAMkB,QAAQ,GAAG,MAAMd,oCAAoC,CACzDW,OAAO,CAACI,aACV,CAAC;IACDD,QAAQ,CAACE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,aAAa,CAACD,CAAC,CAAC,CAAC;IAC3CJ,QAAQ,CAACM,OAAO,CAAEC,IAAI,IAAK;MACzBzB,YAAY,CAAE,GAAEyB,IAAK,EAAC,EAAE,MAAM,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHrB,OAAO,CAACsB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-list-static-user-mappings.js","names":["Option","listNonOAuth2AdminStaticUserMappings","getTokens","printMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","outcome","showProtected","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-list-static-user-mappings.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { listNonOAuth2AdminStaticUserMappings } from '../../ops/AdminOps';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo admin list-static-user-mappings');\n\nprogram\n .description(\n 'List all subjects of static user mappings that are not oauth2 clients.'\n )\n .addOption(\n new Option('--show-protected', 'Show protected (system) subjects.').default(\n false,\n 'false'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n 'Listing all non-oauth2 client subjects of static user mappings...'\n );\n const outcome = await listNonOAuth2AdminStaticUserMappings(\n options.showProtected\n );\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,oCAAoC,QAAQ,oBAAoB;AACzE,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,uCAAuC,CAAC;AAEzEC,OAAO,CACJC,WAAW,CACV,wEACF,CAAC,CACAC,SAAS,CACR,IAAIP,MAAM,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAACQ,OAAO,CACzE,KAAK,EACL,OACF,CACF,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,SAAS,CAAC,CAAC,EAAE;IACrBC,YAAY,CACV,mEACF,CAAC;IACD,MAAMc,OAAO,GAAG,MAAMhB,oCAAoC,CACxDa,OAAO,CAACI,aACV,CAAC;IACD,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
@@ -1,13 +1,8 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
1
  import { Option } from 'commander';
2
+ import { removeStaticUserMapping } from '../../ops/AdminOps';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
3
4
  import { printMessage } from '../../utils/Console.js';
4
5
  import { FrodoCommand } from '../FrodoCommand';
5
- const {
6
- getTokens
7
- } = frodo.login;
8
- const {
9
- removeStaticUserMapping
10
- } = frodo.admin;
11
6
  const program = new FrodoCommand('frodo admin remove-static-user-mapping');
12
7
  program.description("Remove a subject's static user mapping.").addOption(new Option('-i, --sub-id <id>', 'Subject identifier.')).action(
13
8
  // implement command logic inside action handler
@@ -15,8 +10,8 @@ async (host, realm, user, password, options, command) => {
15
10
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
16
11
  if (await getTokens()) {
17
12
  printMessage("Removing a subject's static user mapping...");
18
- await removeStaticUserMapping(options.subId);
19
- printMessage('Done.');
13
+ const outcome = await removeStaticUserMapping(options.subId);
14
+ if (!outcome) process.exitCode = 1;
20
15
  } else {
21
16
  process.exitCode = 1;
22
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admin-remove-static-user-mapping.js","names":["frodo","Option","printMessage","FrodoCommand","getTokens","login","removeStaticUserMapping","admin","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","subId","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-remove-static-user-mapping.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { removeStaticUserMapping } = frodo.admin;\n\nconst program = new FrodoCommand('frodo admin remove-static-user-mapping');\n\nprogram\n .description(\"Remove a subject's static user mapping.\")\n .addOption(new Option('-i, --sub-id <id>', 'Subject identifier.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\"Removing a subject's static user mapping...\");\n await removeStaticUserMapping(options.subId);\n printMessage('Done.');\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGJ,KAAK,CAACK,KAAK;AACjC,MAAM;EAAEC;AAAwB,CAAC,GAAGN,KAAK,CAACO,KAAK;AAE/C,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,wCAAwC,CAAC;AAE1EK,OAAO,CACJC,WAAW,CAAC,yCAAyC,CAAC,CACtDC,SAAS,CAAC,IAAIT,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CACjEU,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,SAAS,CAAC,CAAC,EAAE;IACrBF,YAAY,CAAC,6CAA6C,CAAC;IAC3D,MAAMI,uBAAuB,CAACU,OAAO,CAACG,KAAK,CAAC;IAC5CjB,YAAY,CAAC,OAAO,CAAC;EACvB,CAAC,MAAM;IACLkB,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHb,OAAO,CAACc,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-remove-static-user-mapping.js","names":["Option","removeStaticUserMapping","getTokens","printMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","outcome","subId","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-remove-static-user-mapping.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { removeStaticUserMapping } from '../../ops/AdminOps';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo admin remove-static-user-mapping');\n\nprogram\n .description(\"Remove a subject's static user mapping.\")\n .addOption(new Option('-i, --sub-id <id>', 'Subject identifier.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\"Removing a subject's static user mapping...\");\n const outcome = await removeStaticUserMapping(options.subId);\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,uBAAuB,QAAQ,oBAAoB;AAC5D,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,wCAAwC,CAAC;AAE1EC,OAAO,CACJC,WAAW,CAAC,yCAAyC,CAAC,CACtDC,SAAS,CAAC,IAAIP,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CACjEQ,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBC,YAAY,CAAC,6CAA6C,CAAC;IAC3D,MAAMa,OAAO,GAAG,MAAMf,uBAAuB,CAACY,OAAO,CAACI,KAAK,CAAC;IAC5D,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
@@ -1,13 +1,9 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
+ import { repairOrgModel } from '../../ops/AdminOps';
4
+ import { getTokens } from '../../ops/AuthenticateOps';
3
5
  import { printMessage } from '../../utils/Console.js';
4
6
  import { FrodoCommand } from '../FrodoCommand';
5
- const {
6
- getTokens
7
- } = frodo.login;
8
- const {
9
- repairOrgModel
10
- } = frodo.admin;
11
7
  const program = new FrodoCommand('frodo admin repair-org-model');
12
8
  program.description('Repair org model.').addOption(new Option('--exclude-customized', 'Exclude customized properties from repair.')).addOption(new Option('--extend-permissions', 'Extend permissions to include custom attributes.')).addOption(new Option('--dry-run', 'Dry-run only, do not perform changes.')).action(
13
9
  // implement command logic inside action handler
@@ -15,8 +11,8 @@ async (host, realm, user, password, options, command) => {
15
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
16
12
  if (await getTokens()) {
17
13
  printMessage(`Repairing org model in realm "${state.getRealm()}"...`);
18
- await repairOrgModel(options.excludeCustomized, options.extendPermissions, options.dryRun);
19
- printMessage('Done.');
14
+ const outcome = await repairOrgModel(options.excludeCustomized, options.extendPermissions, options.dryRun);
15
+ if (!outcome) process.exitCode = 1;
20
16
  } else {
21
17
  process.exitCode = 1;
22
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admin-repair-org-model.js","names":["frodo","state","Option","printMessage","FrodoCommand","getTokens","login","repairOrgModel","admin","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","excludeCustomized","extendPermissions","dryRun","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-repair-org-model.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { repairOrgModel } = frodo.admin;\n\nconst program = new FrodoCommand('frodo admin repair-org-model');\n\nprogram\n .description('Repair org model.')\n .addOption(\n new Option(\n '--exclude-customized',\n 'Exclude customized properties from repair.'\n )\n )\n .addOption(\n new Option(\n '--extend-permissions',\n 'Extend permissions to include custom attributes.'\n )\n )\n .addOption(new Option('--dry-run', 'Dry-run only, do not perform changes.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(`Repairing org model in realm \"${state.getRealm()}\"...`);\n await repairOrgModel(\n options.excludeCustomized,\n options.extendPermissions,\n options.dryRun\n );\n printMessage('Done.');\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AACjC,MAAM;EAAEC;AAAe,CAAC,GAAGP,KAAK,CAACQ,KAAK;AAEtC,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,8BAA8B,CAAC;AAEhEK,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIT,MAAM,CACR,sBAAsB,EACtB,4CACF,CACF,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CACR,sBAAsB,EACtB,kDACF,CACF,CAAC,CACAS,SAAS,CAAC,IAAIT,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAC3EU,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,SAAS,CAAC,CAAC,EAAE;IACrBF,YAAY,CAAE,iCAAgCF,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAAK,CAAC;IACrE,MAAMb,cAAc,CAClBU,OAAO,CAACI,iBAAiB,EACzBJ,OAAO,CAACK,iBAAiB,EACzBL,OAAO,CAACM,MACV,CAAC;IACDpB,YAAY,CAAC,OAAO,CAAC;EACvB,CAAC,MAAM;IACLqB,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHhB,OAAO,CAACiB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-repair-org-model.js","names":["state","Option","repairOrgModel","getTokens","printMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","outcome","excludeCustomized","extendPermissions","dryRun","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-repair-org-model.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { repairOrgModel } from '../../ops/AdminOps';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo admin repair-org-model');\n\nprogram\n .description('Repair org model.')\n .addOption(\n new Option(\n '--exclude-customized',\n 'Exclude customized properties from repair.'\n )\n )\n .addOption(\n new Option(\n '--extend-permissions',\n 'Extend permissions to include custom attributes.'\n )\n )\n .addOption(new Option('--dry-run', 'Dry-run only, do not perform changes.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(`Repairing org model in realm \"${state.getRealm()}\"...`);\n const outcome = await repairOrgModel(\n options.excludeCustomized,\n options.extendPermissions,\n options.dryRun\n );\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,8BAA8B,CAAC;AAEhEC,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIP,MAAM,CACR,sBAAsB,EACtB,4CACF,CACF,CAAC,CACAO,SAAS,CACR,IAAIP,MAAM,CACR,sBAAsB,EACtB,kDACF,CACF,CAAC,CACAO,SAAS,CAAC,IAAIP,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAC3EQ,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBC,YAAY,CAAE,iCAAgCJ,KAAK,CAACiB,QAAQ,CAAC,CAAE,MAAK,CAAC;IACrE,MAAMC,OAAO,GAAG,MAAMhB,cAAc,CAClCY,OAAO,CAACK,iBAAiB,EACzBL,OAAO,CAACM,iBAAiB,EACzBN,OAAO,CAACO,MACV,CAAC;IACD,IAAI,CAACH,OAAO,EAAEI,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHjB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
@@ -1,13 +1,9 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
+ import { revokeOAuth2ClientAdminPrivileges } from '../../ops/AdminOps';
4
+ import { getTokens } from '../../ops/AuthenticateOps';
3
5
  import { printMessage } from '../../utils/Console.js';
4
6
  import { FrodoCommand } from '../FrodoCommand';
5
- const {
6
- getTokens
7
- } = frodo.login;
8
- const {
9
- revokeOAuth2ClientAdminPrivileges
10
- } = frodo.admin;
11
7
  const program = new FrodoCommand('frodo admin revoke-oauth2-client-admin-privileges');
12
8
  program.description('Revoke admin privileges from an oauth2 client.').addOption(new Option('-i, --client-id <id>', 'OAuth2 client id.')).addOption(new Option('-t, --target <target name or id>', 'Name of the oauth2 client.').hideHelp()).action(
13
9
  // implement command logic inside action handler
@@ -15,8 +11,8 @@ async (host, realm, user, password, options, command) => {
15
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
16
12
  if (await getTokens()) {
17
13
  printMessage(`Revoking admin privileges from oauth2 client "${options.target}" in realm "${state.getRealm()}"...`);
18
- await revokeOAuth2ClientAdminPrivileges(options.clientId || options.target);
19
- printMessage('Done.');
14
+ const outcome = await revokeOAuth2ClientAdminPrivileges(options.clientId || options.target);
15
+ if (!outcome) process.exitCode = 1;
20
16
  } else {
21
17
  process.exitCode = 1;
22
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admin-revoke-oauth2-client-admin-privileges.js","names":["frodo","state","Option","printMessage","FrodoCommand","getTokens","login","revokeOAuth2ClientAdminPrivileges","admin","program","description","addOption","hideHelp","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","target","getRealm","clientId","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-revoke-oauth2-client-admin-privileges.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { revokeOAuth2ClientAdminPrivileges } = frodo.admin;\n\nconst program = new FrodoCommand(\n 'frodo admin revoke-oauth2-client-admin-privileges'\n);\n\nprogram\n .description('Revoke admin privileges from an oauth2 client.')\n .addOption(new Option('-i, --client-id <id>', 'OAuth2 client id.'))\n .addOption(\n new Option(\n '-t, --target <target name or id>',\n 'Name of the oauth2 client.'\n ).hideHelp()\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Revoking admin privileges from oauth2 client \"${\n options.target\n }\" in realm \"${state.getRealm()}\"...`\n );\n await revokeOAuth2ClientAdminPrivileges(\n options.clientId || options.target\n );\n printMessage('Done.');\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AACjC,MAAM;EAAEC;AAAkC,CAAC,GAAGP,KAAK,CAACQ,KAAK;AAEzD,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAC9B,mDACF,CAAC;AAEDK,OAAO,CACJC,WAAW,CAAC,gDAAgD,CAAC,CAC7DC,SAAS,CAAC,IAAIT,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC,CAClES,SAAS,CACR,IAAIT,MAAM,CACR,kCAAkC,EAClC,4BACF,CAAC,CAACU,QAAQ,CAAC,CACb,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBF,YAAY,CACT,iDACCe,OAAO,CAACG,MACT,eAAcpB,KAAK,CAACqB,QAAQ,CAAC,CAAE,MAClC,CAAC;IACD,MAAMf,iCAAiC,CACrCW,OAAO,CAACK,QAAQ,IAAIL,OAAO,CAACG,MAC9B,CAAC;IACDlB,YAAY,CAAC,OAAO,CAAC;EACvB,CAAC,MAAM;IACLqB,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHhB,OAAO,CAACiB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-revoke-oauth2-client-admin-privileges.js","names":["state","Option","revokeOAuth2ClientAdminPrivileges","getTokens","printMessage","FrodoCommand","program","description","addOption","hideHelp","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","target","getRealm","outcome","clientId","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-revoke-oauth2-client-admin-privileges.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { revokeOAuth2ClientAdminPrivileges } from '../../ops/AdminOps';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand(\n 'frodo admin revoke-oauth2-client-admin-privileges'\n);\n\nprogram\n .description('Revoke admin privileges from an oauth2 client.')\n .addOption(new Option('-i, --client-id <id>', 'OAuth2 client id.'))\n .addOption(\n new Option(\n '-t, --target <target name or id>',\n 'Name of the oauth2 client.'\n ).hideHelp()\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Revoking admin privileges from oauth2 client \"${\n options.target\n }\" in realm \"${state.getRealm()}\"...`\n );\n const outcome = await revokeOAuth2ClientAdminPrivileges(\n options.clientId || options.target\n );\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,iCAAiC,QAAQ,oBAAoB;AACtE,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAC9B,mDACF,CAAC;AAEDC,OAAO,CACJC,WAAW,CAAC,gDAAgD,CAAC,CAC7DC,SAAS,CAAC,IAAIP,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC,CAClEO,SAAS,CACR,IAAIP,MAAM,CACR,kCAAkC,EAClC,4BACF,CAAC,CAACQ,QAAQ,CAAC,CACb,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,SAAS,CAAC,CAAC,EAAE;IACrBC,YAAY,CACT,iDACCW,OAAO,CAACG,MACT,eAAclB,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAClC,CAAC;IACD,MAAMC,OAAO,GAAG,MAAMlB,iCAAiC,CACrDa,OAAO,CAACM,QAAQ,IAAIN,OAAO,CAACG,MAC9B,CAAC;IACD,IAAI,CAACE,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHjB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
@@ -1,13 +1,9 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
+ import { showGenericExtensionAttributes } from '../../ops/AdminOps';
4
+ import { getTokens } from '../../ops/AuthenticateOps';
3
5
  import { printMessage } from '../../utils/Console.js';
4
6
  import { FrodoCommand } from '../FrodoCommand';
5
- const {
6
- getTokens
7
- } = frodo.login;
8
- const {
9
- showGenericExtensionAttributes
10
- } = frodo.admin;
11
7
  const program = new FrodoCommand('frodo admin show-generic-extension-attributes');
12
8
  program.description('Show generic extension attributes.').addOption(new Option('--include-customized', 'Include customized attributes.').default(false, 'false')).addOption(new Option('--dry-run', 'Dry-run only, do not perform changes.').default(false, 'false')).action(
13
9
  // implement command logic inside action handler
@@ -15,8 +11,8 @@ async (host, realm, user, password, options, command) => {
15
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
16
12
  if (await getTokens()) {
17
13
  printMessage(`Showing generic extension attributes in realm "${state.getRealm()}"...`);
18
- await showGenericExtensionAttributes(options.includeCustomized, options.dryRun);
19
- printMessage('Done.');
14
+ const outcome = await showGenericExtensionAttributes(options.includeCustomized, options.dryRun);
15
+ if (!outcome) process.exitCode = 1;
20
16
  } else {
21
17
  process.exitCode = 1;
22
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"admin-show-generic-extension-attributes.js","names":["frodo","state","Option","printMessage","FrodoCommand","getTokens","login","showGenericExtensionAttributes","admin","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","includeCustomized","dryRun","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-show-generic-extension-attributes.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { showGenericExtensionAttributes } = frodo.admin;\n\nconst program = new FrodoCommand(\n 'frodo admin show-generic-extension-attributes'\n);\n\nprogram\n .description('Show generic extension attributes.')\n .addOption(\n new Option(\n '--include-customized',\n 'Include customized attributes.'\n ).default(false, 'false')\n )\n .addOption(\n new Option('--dry-run', 'Dry-run only, do not perform changes.').default(\n false,\n 'false'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Showing generic extension attributes in realm \"${state.getRealm()}\"...`\n );\n await showGenericExtensionAttributes(\n options.includeCustomized,\n options.dryRun\n );\n printMessage('Done.');\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AACjC,MAAM;EAAEC;AAA+B,CAAC,GAAGP,KAAK,CAACQ,KAAK;AAEtD,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAC9B,+CACF,CAAC;AAEDK,OAAO,CACJC,WAAW,CAAC,oCAAoC,CAAC,CACjDC,SAAS,CACR,IAAIT,MAAM,CACR,sBAAsB,EACtB,gCACF,CAAC,CAACU,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1B,CAAC,CACAD,SAAS,CACR,IAAIT,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAACU,OAAO,CACtE,KAAK,EACL,OACF,CACF,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBF,YAAY,CACT,kDAAiDF,KAAK,CAACoB,QAAQ,CAAC,CAAE,MACrE,CAAC;IACD,MAAMd,8BAA8B,CAClCW,OAAO,CAACI,iBAAiB,EACzBJ,OAAO,CAACK,MACV,CAAC;IACDpB,YAAY,CAAC,OAAO,CAAC;EACvB,CAAC,MAAM;IACLqB,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHhB,OAAO,CAACiB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-show-generic-extension-attributes.js","names":["state","Option","showGenericExtensionAttributes","getTokens","printMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","outcome","includeCustomized","dryRun","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-show-generic-extension-attributes.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { showGenericExtensionAttributes } from '../../ops/AdminOps';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand(\n 'frodo admin show-generic-extension-attributes'\n);\n\nprogram\n .description('Show generic extension attributes.')\n .addOption(\n new Option(\n '--include-customized',\n 'Include customized attributes.'\n ).default(false, 'false')\n )\n .addOption(\n new Option('--dry-run', 'Dry-run only, do not perform changes.').default(\n false,\n 'false'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Showing generic extension attributes in realm \"${state.getRealm()}\"...`\n );\n const outcome = await showGenericExtensionAttributes(\n options.includeCustomized,\n options.dryRun\n );\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,8BAA8B,QAAQ,oBAAoB;AACnE,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAC9B,+CACF,CAAC;AAEDC,OAAO,CACJC,WAAW,CAAC,oCAAoC,CAAC,CACjDC,SAAS,CACR,IAAIP,MAAM,CACR,sBAAsB,EACtB,gCACF,CAAC,CAACQ,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1B,CAAC,CACAD,SAAS,CACR,IAAIP,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAACQ,OAAO,CACtE,KAAK,EACL,OACF,CACF,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,SAAS,CAAC,CAAC,EAAE;IACrBC,YAAY,CACT,kDAAiDJ,KAAK,CAACkB,QAAQ,CAAC,CAAE,MACrE,CAAC;IACD,MAAMC,OAAO,GAAG,MAAMjB,8BAA8B,CAClDa,OAAO,CAACK,iBAAiB,EACzBL,OAAO,CAACM,MACV,CAAC;IACD,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHjB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
3
4
  import { printMessage } from '../../utils/Console.js';
4
5
  import { FrodoCommand } from '../FrodoCommand.js';
5
- const {
6
- getTokens
7
- } = frodo.login;
8
6
  const {
9
7
  trainAA
10
8
  } = frodo.admin;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-train-auto-access-model.js","names":["frodo","state","Option","printMessage","FrodoCommand","getTokens","login","trainAA","admin","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","apiKey","apiSecret","usernames","split","userAgents","ipAddresses","error","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-train-auto-access-model.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand.js';\n\nconst { getTokens } = frodo.login;\nconst { trainAA } = frodo.admin;\n\nconst program = new FrodoCommand('frodo admin train-auto-access-model');\n\nprogram\n .description('Train Auto Access model.')\n .addOption(\n new Option(\n '--api-key <key>',\n 'API key to authenticate to training journey.'\n ).default('')\n )\n .addOption(\n new Option(\n '--api-secret <secret>',\n 'API secret to authenticate to training journey.'\n ).default('')\n )\n .addOption(\n new Option(\n '--usernames [usernames]',\n 'Comma-delimited list of custom usernames.'\n ).default('')\n )\n .addOption(\n new Option(\n '--user-agents [usernames]',\n 'Comma-delimited list of custom user agents.'\n ).default('')\n )\n .addOption(\n new Option(\n '--ip-addresses [usernames]',\n 'Comma-delimited list of custom IP addresses.'\n ).default('')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Training Auto Access model in realm \"${state.getRealm()}\"...`\n );\n try {\n await trainAA(\n options.apiKey,\n options.apiSecret,\n options.usernames.split(','),\n options.userAgents.split(','),\n options.ipAddresses.split(','),\n 100\n );\n printMessage(`Done.`);\n } catch (error) {\n printMessage(error, 'error');\n process.exitCode = 1;\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,oBAAoB;AAEjD,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AACjC,MAAM;EAAEC;AAAQ,CAAC,GAAGP,KAAK,CAACQ,KAAK;AAE/B,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,qCAAqC,CAAC;AAEvEK,OAAO,CACJC,WAAW,CAAC,0BAA0B,CAAC,CACvCC,SAAS,CACR,IAAIT,MAAM,CACR,iBAAiB,EACjB,8CACF,CAAC,CAACU,OAAO,CAAC,EAAE,CACd,CAAC,CACAD,SAAS,CACR,IAAIT,MAAM,CACR,uBAAuB,EACvB,iDACF,CAAC,CAACU,OAAO,CAAC,EAAE,CACd,CAAC,CACAD,SAAS,CACR,IAAIT,MAAM,CACR,yBAAyB,EACzB,2CACF,CAAC,CAACU,OAAO,CAAC,EAAE,CACd,CAAC,CACAD,SAAS,CACR,IAAIT,MAAM,CACR,2BAA2B,EAC3B,6CACF,CAAC,CAACU,OAAO,CAAC,EAAE,CACd,CAAC,CACAD,SAAS,CACR,IAAIT,MAAM,CACR,4BAA4B,EAC5B,8CACF,CAAC,CAACU,OAAO,CAAC,EAAE,CACd,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBF,YAAY,CACT,wCAAuCF,KAAK,CAACoB,QAAQ,CAAC,CAAE,MAC3D,CAAC;IACD,IAAI;MACF,MAAMd,OAAO,CACXW,OAAO,CAACI,MAAM,EACdJ,OAAO,CAACK,SAAS,EACjBL,OAAO,CAACM,SAAS,CAACC,KAAK,CAAC,GAAG,CAAC,EAC5BP,OAAO,CAACQ,UAAU,CAACD,KAAK,CAAC,GAAG,CAAC,EAC7BP,OAAO,CAACS,WAAW,CAACF,KAAK,CAAC,GAAG,CAAC,EAC9B,GACF,CAAC;MACDtB,YAAY,CAAE,OAAM,CAAC;IACvB,CAAC,CAAC,OAAOyB,KAAK,EAAE;MACdzB,YAAY,CAACyB,KAAK,EAAE,OAAO,CAAC;MAC5BC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHrB,OAAO,CAACsB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"admin-train-auto-access-model.js","names":["frodo","state","Option","getTokens","printMessage","FrodoCommand","trainAA","admin","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","apiKey","apiSecret","usernames","split","userAgents","ipAddresses","error","process","exitCode","parse"],"sources":["../../../src/cli/admin/admin-train-auto-access-model.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand.js';\n\nconst { trainAA } = frodo.admin;\n\nconst program = new FrodoCommand('frodo admin train-auto-access-model');\n\nprogram\n .description('Train Auto Access model.')\n .addOption(\n new Option(\n '--api-key <key>',\n 'API key to authenticate to training journey.'\n ).default('')\n )\n .addOption(\n new Option(\n '--api-secret <secret>',\n 'API secret to authenticate to training journey.'\n ).default('')\n )\n .addOption(\n new Option(\n '--usernames [usernames]',\n 'Comma-delimited list of custom usernames.'\n ).default('')\n )\n .addOption(\n new Option(\n '--user-agents [usernames]',\n 'Comma-delimited list of custom user agents.'\n ).default('')\n )\n .addOption(\n new Option(\n '--ip-addresses [usernames]',\n 'Comma-delimited list of custom IP addresses.'\n ).default('')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Training Auto Access model in realm \"${state.getRealm()}\"...`\n );\n try {\n await trainAA(\n options.apiKey,\n options.apiSecret,\n options.usernames.split(','),\n options.userAgents.split(','),\n options.ipAddresses.split(','),\n 100\n );\n printMessage(`Done.`);\n } catch (error) {\n printMessage(error, 'error');\n process.exitCode = 1;\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,YAAY,QAAQ,oBAAoB;AAEjD,MAAM;EAAEC;AAAQ,CAAC,GAAGN,KAAK,CAACO,KAAK;AAE/B,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,qCAAqC,CAAC;AAEvEG,OAAO,CACJC,WAAW,CAAC,0BAA0B,CAAC,CACvCC,SAAS,CACR,IAAIR,MAAM,CACR,iBAAiB,EACjB,8CACF,CAAC,CAACS,OAAO,CAAC,EAAE,CACd,CAAC,CACAD,SAAS,CACR,IAAIR,MAAM,CACR,uBAAuB,EACvB,iDACF,CAAC,CAACS,OAAO,CAAC,EAAE,CACd,CAAC,CACAD,SAAS,CACR,IAAIR,MAAM,CACR,yBAAyB,EACzB,2CACF,CAAC,CAACS,OAAO,CAAC,EAAE,CACd,CAAC,CACAD,SAAS,CACR,IAAIR,MAAM,CACR,2BAA2B,EAC3B,6CACF,CAAC,CAACS,OAAO,CAAC,EAAE,CACd,CAAC,CACAD,SAAS,CACR,IAAIR,MAAM,CACR,4BAA4B,EAC5B,8CACF,CAAC,CAACS,OAAO,CAAC,EAAE,CACd,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMf,SAAS,CAAC,CAAC,EAAE;IACrBC,YAAY,CACT,wCAAuCH,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAC3D,CAAC;IACD,IAAI;MACF,MAAMd,OAAO,CACXW,OAAO,CAACI,MAAM,EACdJ,OAAO,CAACK,SAAS,EACjBL,OAAO,CAACM,SAAS,CAACC,KAAK,CAAC,GAAG,CAAC,EAC5BP,OAAO,CAACQ,UAAU,CAACD,KAAK,CAAC,GAAG,CAAC,EAC7BP,OAAO,CAACS,WAAW,CAACF,KAAK,CAAC,GAAG,CAAC,EAC9B,GACF,CAAC;MACDpB,YAAY,CAAE,OAAM,CAAC;IACvB,CAAC,CAAC,OAAOuB,KAAK,EAAE;MACdvB,YAAY,CAACuB,KAAK,EAAE,OAAO,CAAC;MAC5BC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHrB,OAAO,CAACsB,KAAK,CAAC,CAAC"}
@@ -1,14 +1,9 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { printMessage, verboseMessage } from '../../utils/Console.js';
3
+ import { deleteAgent, deleteAgents } from '../../ops/AgentOps';
4
+ import { getTokens } from '../../ops/AuthenticateOps';
5
+ import { verboseMessage } from '../../utils/Console.js';
4
6
  import { FrodoCommand } from '../FrodoCommand';
5
- const {
6
- getTokens
7
- } = frodo.login;
8
- const {
9
- deleteAgent,
10
- deleteAgents
11
- } = frodo.agent;
12
7
  const program = new FrodoCommand('frodo agent delete');
13
8
  program.description('Delete agents.').addOption(new Option('-i, --agent-id <agent-id>', 'Agent id. If specified, -a is ignored.')).addOption(new Option('-a, --all', 'Delete all agents. Ignored with -i.')).action(
14
9
  // implement command logic inside action handler
@@ -18,24 +13,14 @@ async (host, realm, user, password, options, command) => {
18
13
  // delete by id
19
14
  if (options.agentId) {
20
15
  verboseMessage(`Deleting agent '${options.agentId}' in realm "${state.getRealm()}"...`);
21
- try {
22
- await deleteAgent(options.agentId);
23
- } catch (error) {
24
- printMessage(error.message, 'error');
25
- process.exitCode = 1;
26
- return;
27
- }
16
+ const outcome = await deleteAgent(options.agentId);
17
+ if (!outcome) process.exitCode = 1;
28
18
  }
29
19
  // --all -a
30
20
  else if (options.all) {
31
- verboseMessage('Deleting all agents...');
32
- try {
33
- await deleteAgents();
34
- } catch (error) {
35
- printMessage(error.message, 'error');
36
- process.exitCode = 1;
37
- return;
38
- }
21
+ verboseMessage(`Deleting all agents in realm "${state.getRealm()}"...`);
22
+ const outcome = await deleteAgents();
23
+ if (!outcome) process.exitCode = 1;
39
24
  }
40
25
  // unrecognized combination of options or no options
41
26
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-delete.js","names":["frodo","state","Option","printMessage","verboseMessage","FrodoCommand","getTokens","login","deleteAgent","deleteAgents","agent","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","agentId","getRealm","error","message","process","exitCode","all","help","parse"],"sources":["../../../src/cli/agent/agent-delete.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { deleteAgent, deleteAgents } = frodo.agent;\n\nconst program = new FrodoCommand('frodo agent delete');\n\nprogram\n .description('Delete agents.')\n .addOption(\n new Option(\n '-i, --agent-id <agent-id>',\n 'Agent id. If specified, -a is ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all agents. Ignored with -i.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // delete by id\n if (options.agentId) {\n verboseMessage(\n `Deleting agent '${\n options.agentId\n }' in realm \"${state.getRealm()}\"...`\n );\n try {\n await deleteAgent(options.agentId);\n } catch (error) {\n printMessage(error.message, 'error');\n process.exitCode = 1;\n return;\n }\n }\n // --all -a\n else if (options.all) {\n verboseMessage('Deleting all agents...');\n try {\n await deleteAgents();\n } catch (error) {\n printMessage(error.message, 'error');\n process.exitCode = 1;\n return;\n }\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage(\n 'Unrecognized combination of options or no options...'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGN,KAAK,CAACO,KAAK;AACjC,MAAM;EAAEC,WAAW;EAAEC;AAAa,CAAC,GAAGT,KAAK,CAACU,KAAK;AAEjD,MAAMC,OAAO,GAAG,IAAIN,YAAY,CAAC,oBAAoB,CAAC;AAEtDM,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIX,MAAM,CACR,2BAA2B,EAC3B,wCACF,CACF,CAAC,CACAW,SAAS,CAAC,IAAIX,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAC,CACzEY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrB;IACA,IAAIa,OAAO,CAACG,OAAO,EAAE;MACnBlB,cAAc,CACX,mBACCe,OAAO,CAACG,OACT,eAAcrB,KAAK,CAACsB,QAAQ,CAAC,CAAE,MAClC,CAAC;MACD,IAAI;QACF,MAAMf,WAAW,CAACW,OAAO,CAACG,OAAO,CAAC;MACpC,CAAC,CAAC,OAAOE,KAAK,EAAE;QACdrB,YAAY,CAACqB,KAAK,CAACC,OAAO,EAAE,OAAO,CAAC;QACpCC,OAAO,CAACC,QAAQ,GAAG,CAAC;QACpB;MACF;IACF;IACA;IAAA,KACK,IAAIR,OAAO,CAACS,GAAG,EAAE;MACpBxB,cAAc,CAAC,wBAAwB,CAAC;MACxC,IAAI;QACF,MAAMK,YAAY,CAAC,CAAC;MACtB,CAAC,CAAC,OAAOe,KAAK,EAAE;QACdrB,YAAY,CAACqB,KAAK,CAACC,OAAO,EAAE,OAAO,CAAC;QACpCC,OAAO,CAACC,QAAQ,GAAG,CAAC;QACpB;MACF;IACF;IACA;IAAA,KACK;MACHvB,cAAc,CACZ,sDACF,CAAC;MACDO,OAAO,CAACkB,IAAI,CAAC,CAAC;MACdH,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;AACF;AACA;AACF,CAAC;AAEHhB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"agent-delete.js","names":["state","Option","deleteAgent","deleteAgents","getTokens","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","agentId","getRealm","outcome","process","exitCode","all","help","parse"],"sources":["../../../src/cli/agent/agent-delete.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { deleteAgent, deleteAgents } from '../../ops/AgentOps';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo agent delete');\n\nprogram\n .description('Delete agents.')\n .addOption(\n new Option(\n '-i, --agent-id <agent-id>',\n 'Agent id. If specified, -a is ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all agents. Ignored with -i.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // delete by id\n if (options.agentId) {\n verboseMessage(\n `Deleting agent '${\n options.agentId\n }' in realm \"${state.getRealm()}\"...`\n );\n const outcome = await deleteAgent(options.agentId);\n if (!outcome) process.exitCode = 1;\n }\n // --all -a\n else if (options.all) {\n verboseMessage(\n `Deleting all agents in realm \"${state.getRealm()}\"...`\n );\n const outcome = await deleteAgents();\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage(\n 'Unrecognized combination of options or no options...'\n );\n program.help();\n process.exitCode = 1;\n }\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,WAAW,EAAEC,YAAY,QAAQ,oBAAoB;AAC9D,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,oBAAoB,CAAC;AAEtDC,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIR,MAAM,CACR,2BAA2B,EAC3B,wCACF,CACF,CAAC,CACAQ,SAAS,CAAC,IAAIR,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAC,CACzES,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrB;IACA,IAAIW,OAAO,CAACG,OAAO,EAAE;MACnBb,cAAc,CACX,mBACCU,OAAO,CAACG,OACT,eAAclB,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAClC,CAAC;MACD,MAAMC,OAAO,GAAG,MAAMlB,WAAW,CAACa,OAAO,CAACG,OAAO,CAAC;MAClD,IAAI,CAACE,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACpC;IACA;IAAA,KACK,IAAIP,OAAO,CAACQ,GAAG,EAAE;MACpBlB,cAAc,CACX,iCAAgCL,KAAK,CAACmB,QAAQ,CAAC,CAAE,MACpD,CAAC;MACD,MAAMC,OAAO,GAAG,MAAMjB,YAAY,CAAC,CAAC;MACpC,IAAI,CAACiB,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACpC;IACA;IAAA,KACK;MACHjB,cAAc,CACZ,sDACF,CAAC;MACDE,OAAO,CAACiB,IAAI,CAAC,CAAC;MACdH,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;AACF;AACA;AACF,CAAC;AAEHf,OAAO,CAACkB,KAAK,CAAC,CAAC"}
@@ -1,9 +1,6 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
1
  import { Option } from 'commander';
2
+ import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { FrodoCommand } from '../FrodoCommand';
4
- const {
5
- getTokens
6
- } = frodo.login;
7
4
  const program = new FrodoCommand('frodo agent describe');
8
5
  program.description('Describe agents.').addOption(new Option('-i, --agent-id <agent-id>', 'Agent id.')).action(
9
6
  // implement command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"agent-describe.js","names":["frodo","Option","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/agent/agent-describe.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo agent describe');\n\nprogram\n .description('Describe agents.')\n .addOption(new Option('-i, --agent-id <agent-id>', 'Agent id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGH,KAAK,CAACI,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,sBAAsB,CAAC;AAExDG,OAAO,CACJC,WAAW,CAAC,kBAAkB,CAAC,CAC/BC,SAAS,CAAC,IAAIN,MAAM,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC,CAC/DO,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"agent-describe.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/agent/agent-describe.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo agent describe');\n\nprogram\n .description('Describe agents.')\n .addOption(new Option('-i, --agent-id <agent-id>', 'Agent id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,sBAAsB,CAAC;AAExDC,OAAO,CACJC,WAAW,CAAC,kBAAkB,CAAC,CAC/BC,SAAS,CAAC,IAAIL,MAAM,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC,CAC/DM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1,11 +1,8 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
1
  import { Option } from 'commander';
3
2
  import { exportAgentsToFile, exportAgentsToFiles, exportAgentToFile } from '../../ops/AgentOps.js';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
4
4
  import { verboseMessage } from '../../utils/Console.js';
5
5
  import { FrodoCommand } from '../FrodoCommand';
6
- const {
7
- getTokens
8
- } = frodo.login;
9
6
  const program = new FrodoCommand('frodo agent export');
10
7
  program.description('Export agents.').addOption(new Option('-i, --agent-id <agent-id>', 'Agent id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export all agents to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all agents to separate files (*.<type>.agent.json) in the current directory. Ignored with -i or -a.')).addOption(new Option('-N, --no-metadata', 'Does not include metadata in the export file.')).action(
11
8
  // implement command logic inside action handler
@@ -15,17 +12,20 @@ async (host, realm, user, password, options, command) => {
15
12
  // export
16
13
  if (options.agentId) {
17
14
  verboseMessage('Exporting agent...');
18
- await exportAgentToFile(options.agentId, options.file, options.metadata);
15
+ const outcome = await exportAgentToFile(options.agentId, options.file, options.metadata);
16
+ if (!outcome) process.exitCode = 1;
19
17
  }
20
18
  // --all -a
21
19
  else if (options.all) {
22
20
  verboseMessage('Exporting all agents to a single file...');
23
- await exportAgentsToFile(options.file, options.metadata);
21
+ const outcome = await exportAgentsToFile(options.file, options.metadata);
22
+ if (!outcome) process.exitCode = 1;
24
23
  }
25
24
  // --all-separate -A
26
25
  else if (options.allSeparate) {
27
26
  verboseMessage('Exporting all agents to separate files...');
28
- await exportAgentsToFiles(options.metadata);
27
+ const outcome = await exportAgentsToFiles(options.metadata);
28
+ if (!outcome) process.exitCode = 1;
29
29
  }
30
30
  // unrecognized combination of options or no options
31
31
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-export.js","names":["frodo","Option","exportAgentsToFile","exportAgentsToFiles","exportAgentToFile","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","agentId","file","metadata","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/agent/agent-export.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n exportAgentsToFile,\n exportAgentsToFiles,\n exportAgentToFile,\n} from '../../ops/AgentOps.js';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo agent export');\n\nprogram\n .description('Export agents.')\n .addOption(\n new Option(\n '-i, --agent-id <agent-id>',\n 'Agent id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export all agents to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all agents to separate files (*.<type>.agent.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export 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 if (await getTokens()) {\n // export\n if (options.agentId) {\n verboseMessage('Exporting agent...');\n await exportAgentToFile(\n options.agentId,\n options.file,\n options.metadata\n );\n }\n // --all -a\n else if (options.all) {\n verboseMessage('Exporting all agents to a single file...');\n await exportAgentsToFile(options.file, options.metadata);\n }\n // --all-separate -A\n else if (options.allSeparate) {\n verboseMessage('Exporting all agents to separate files...');\n await exportAgentsToFiles(options.metadata);\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage(\n 'Unrecognized combination of options or no options...'\n );\n program.help();\n process.exitCode = 1;\n }\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,kBAAkB,EAClBC,mBAAmB,EACnBC,iBAAiB,QACZ,uBAAuB;AAC9B,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGP,KAAK,CAACQ,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,oBAAoB,CAAC;AAEtDG,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIV,MAAM,CACR,2BAA2B,EAC3B,gDACF,CACF,CAAC,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,4GACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,+CACF,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,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;IACA,IAAIU,OAAO,CAACG,OAAO,EAAE;MACnBf,cAAc,CAAC,oBAAoB,CAAC;MACpC,MAAMD,iBAAiB,CACrBa,OAAO,CAACG,OAAO,EACfH,OAAO,CAACI,IAAI,EACZJ,OAAO,CAACK,QACV,CAAC;IACH;IACA;IAAA,KACK,IAAIL,OAAO,CAACM,GAAG,EAAE;MACpBlB,cAAc,CAAC,0CAA0C,CAAC;MAC1D,MAAMH,kBAAkB,CAACe,OAAO,CAACI,IAAI,EAAEJ,OAAO,CAACK,QAAQ,CAAC;IAC1D;IACA;IAAA,KACK,IAAIL,OAAO,CAACO,WAAW,EAAE;MAC5BnB,cAAc,CAAC,2CAA2C,CAAC;MAC3D,MAAMF,mBAAmB,CAACc,OAAO,CAACK,QAAQ,CAAC;IAC7C;IACA;IAAA,KACK;MACHjB,cAAc,CACZ,sDACF,CAAC;MACDI,OAAO,CAACgB,IAAI,CAAC,CAAC;MACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;AACF;AACA;AACF,CAAC;AAEHlB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"agent-export.js","names":["Option","exportAgentsToFile","exportAgentsToFiles","exportAgentToFile","getTokens","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","agentId","outcome","file","metadata","process","exitCode","all","allSeparate","help","parse"],"sources":["../../../src/cli/agent/agent-export.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport {\n exportAgentsToFile,\n exportAgentsToFiles,\n exportAgentToFile,\n} from '../../ops/AgentOps.js';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo agent export');\n\nprogram\n .description('Export agents.')\n .addOption(\n new Option(\n '-i, --agent-id <agent-id>',\n 'Agent id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export all agents to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all agents to separate files (*.<type>.agent.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export 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 if (await getTokens()) {\n // export\n if (options.agentId) {\n verboseMessage('Exporting agent...');\n const outcome = await exportAgentToFile(\n options.agentId,\n options.file,\n options.metadata\n );\n if (!outcome) process.exitCode = 1;\n }\n // --all -a\n else if (options.all) {\n verboseMessage('Exporting all agents to a single file...');\n const outcome = await exportAgentsToFile(\n options.file,\n options.metadata\n );\n if (!outcome) process.exitCode = 1;\n }\n // --all-separate -A\n else if (options.allSeparate) {\n verboseMessage('Exporting all agents to separate files...');\n const outcome = await exportAgentsToFiles(options.metadata);\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n verboseMessage(\n 'Unrecognized combination of options or no options...'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SACEC,kBAAkB,EAClBC,mBAAmB,EACnBC,iBAAiB,QACZ,uBAAuB;AAC9B,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,oBAAoB,CAAC;AAEtDC,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIT,MAAM,CACR,2BAA2B,EAC3B,gDACF,CACF,CAAC,CACAS,SAAS,CAAC,IAAIT,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtES,SAAS,CACR,IAAIT,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CACR,oBAAoB,EACpB,4GACF,CACF,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CACR,mBAAmB,EACnB,+CACF,CACF,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,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrB;IACA,IAAIW,OAAO,CAACG,OAAO,EAAE;MACnBb,cAAc,CAAC,oBAAoB,CAAC;MACpC,MAAMc,OAAO,GAAG,MAAMhB,iBAAiB,CACrCY,OAAO,CAACG,OAAO,EACfH,OAAO,CAACK,IAAI,EACZL,OAAO,CAACM,QACV,CAAC;MACD,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;IACpC;IACA;IAAA,KACK,IAAIR,OAAO,CAACS,GAAG,EAAE;MACpBnB,cAAc,CAAC,0CAA0C,CAAC;MAC1D,MAAMc,OAAO,GAAG,MAAMlB,kBAAkB,CACtCc,OAAO,CAACK,IAAI,EACZL,OAAO,CAACM,QACV,CAAC;MACD,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;IACpC;IACA;IAAA,KACK,IAAIR,OAAO,CAACU,WAAW,EAAE;MAC5BpB,cAAc,CAAC,2CAA2C,CAAC;MAC3D,MAAMc,OAAO,GAAG,MAAMjB,mBAAmB,CAACa,OAAO,CAACM,QAAQ,CAAC;MAC3D,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;IACpC;IACA;IAAA,KACK;MACHlB,cAAc,CACZ,sDACF,CAAC;MACDE,OAAO,CAACmB,IAAI,CAAC,CAAC;MACdJ,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;AACF;AACA;AACF,CAAC;AAEHhB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
@@ -1,14 +1,9 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { printMessage, verboseMessage } from '../../utils/Console.js';
3
+ import { deleteIdentityGatewayAgent, deleteIdentityGatewayAgents } from '../../ops/AgentOps';
4
+ import { getTokens } from '../../ops/AuthenticateOps';
5
+ import { verboseMessage } from '../../utils/Console.js';
4
6
  import { FrodoCommand } from '../FrodoCommand';
5
- const {
6
- getTokens
7
- } = frodo.login;
8
- const {
9
- deleteIdentityGatewayAgent,
10
- deleteIdentityGatewayAgents
11
- } = frodo.agent;
12
7
  const program = new FrodoCommand('frodo agent gateway delete');
13
8
  program.description('Delete identity gateway agents.').addOption(new Option('-i, --agent-id <agent-id>', 'Agent id. If specified, -a is ignored.')).addOption(new Option('-a, --all', 'Delete all identity gateway agents. Ignored with -i.')).action(
14
9
  // implement command logic inside action handler
@@ -18,24 +13,14 @@ async (host, realm, user, password, options, command) => {
18
13
  // delete by id
19
14
  if (options.agentId) {
20
15
  verboseMessage(`Deleting agent '${options.agentId}' in realm "${state.getRealm()}"...`);
21
- try {
22
- await deleteIdentityGatewayAgent(options.agentId);
23
- } catch (error) {
24
- printMessage(error.message, 'error');
25
- process.exitCode = 1;
26
- return;
27
- }
16
+ const outcome = await deleteIdentityGatewayAgent(options.agentId);
17
+ if (!outcome) process.exitCode = 1;
28
18
  }
29
19
  // --all -a
30
20
  else if (options.all) {
31
21
  verboseMessage('Deleting all agents...');
32
- try {
33
- await deleteIdentityGatewayAgents();
34
- } catch (error) {
35
- printMessage(error.message, 'error');
36
- process.exitCode = 1;
37
- return;
38
- }
22
+ const outcome = await deleteIdentityGatewayAgents();
23
+ if (!outcome) process.exitCode = 1;
39
24
  }
40
25
  // unrecognized combination of options or no options
41
26
  else {