@rockcarver/frodo-cli 2.0.0-5 → 2.0.0-7

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 (344) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/esm/app.js +4 -1
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/_template/something-delete.js +4 -1
  5. package/esm/cli/_template/something-delete.js.map +1 -1
  6. package/esm/cli/_template/something-describe.js +4 -1
  7. package/esm/cli/_template/something-describe.js.map +1 -1
  8. package/esm/cli/_template/something-else-delete.js +4 -1
  9. package/esm/cli/_template/something-else-delete.js.map +1 -1
  10. package/esm/cli/_template/something-else-describe.js +4 -1
  11. package/esm/cli/_template/something-else-describe.js.map +1 -1
  12. package/esm/cli/_template/something-else-export.js +4 -1
  13. package/esm/cli/_template/something-else-export.js.map +1 -1
  14. package/esm/cli/_template/something-else-import.js +4 -1
  15. package/esm/cli/_template/something-else-import.js.map +1 -1
  16. package/esm/cli/_template/something-else-list.js +4 -1
  17. package/esm/cli/_template/something-else-list.js.map +1 -1
  18. package/esm/cli/_template/something-export.js +4 -1
  19. package/esm/cli/_template/something-export.js.map +1 -1
  20. package/esm/cli/_template/something-import.js +4 -1
  21. package/esm/cli/_template/something-import.js.map +1 -1
  22. package/esm/cli/_template/something-list.js +4 -1
  23. package/esm/cli/_template/something-list.js.map +1 -1
  24. package/esm/cli/_template/something-other-delete.js +4 -1
  25. package/esm/cli/_template/something-other-delete.js.map +1 -1
  26. package/esm/cli/_template/something-other-describe.js +4 -1
  27. package/esm/cli/_template/something-other-describe.js.map +1 -1
  28. package/esm/cli/_template/something-other-export.js +4 -1
  29. package/esm/cli/_template/something-other-export.js.map +1 -1
  30. package/esm/cli/_template/something-other-import.js +4 -1
  31. package/esm/cli/_template/something-other-import.js.map +1 -1
  32. package/esm/cli/_template/something-other-list.js +4 -1
  33. package/esm/cli/_template/something-other-list.js.map +1 -1
  34. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +8 -2
  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 +10 -3
  37. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  38. package/esm/cli/admin/admin-federation-export.js +45 -0
  39. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  40. package/esm/cli/admin/admin-federation-import.js +49 -0
  41. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  42. package/esm/cli/admin/admin-federation-list.js +29 -0
  43. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  44. package/esm/cli/admin/admin-federation.js +13 -0
  45. package/esm/cli/admin/admin-federation.js.map +1 -0
  46. package/esm/cli/admin/admin-get-access-token.js +8 -2
  47. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  48. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +8 -2
  49. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  50. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +8 -2
  51. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  52. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +8 -2
  53. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  54. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +8 -2
  55. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  56. package/esm/cli/admin/admin-list-static-user-mappings.js +8 -2
  57. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  58. package/esm/cli/admin/admin-remove-static-user-mapping.js +8 -2
  59. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  60. package/esm/cli/admin/admin-repair-org-model.js +8 -2
  61. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  62. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +8 -2
  63. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-show-generic-extension-attributes.js +8 -2
  65. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  66. package/esm/cli/admin/admin.js +1 -0
  67. package/esm/cli/admin/admin.js.map +1 -1
  68. package/esm/cli/agent/agent-delete.js +10 -3
  69. package/esm/cli/agent/agent-delete.js.map +1 -1
  70. package/esm/cli/agent/agent-describe.js +4 -1
  71. package/esm/cli/agent/agent-describe.js.map +1 -1
  72. package/esm/cli/agent/agent-export.js +4 -1
  73. package/esm/cli/agent/agent-export.js.map +1 -1
  74. package/esm/cli/agent/agent-gateway-delete.js +10 -3
  75. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-describe.js +4 -1
  77. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-export.js +4 -1
  79. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  80. package/esm/cli/agent/agent-gateway-import.js +4 -1
  81. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-list.js +4 -1
  83. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  84. package/esm/cli/agent/agent-import.js +4 -1
  85. package/esm/cli/agent/agent-import.js.map +1 -1
  86. package/esm/cli/agent/agent-java-delete.js +10 -3
  87. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  88. package/esm/cli/agent/agent-java-describe.js +4 -1
  89. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  90. package/esm/cli/agent/agent-java-export.js +4 -1
  91. package/esm/cli/agent/agent-java-export.js.map +1 -1
  92. package/esm/cli/agent/agent-java-import.js +4 -1
  93. package/esm/cli/agent/agent-java-import.js.map +1 -1
  94. package/esm/cli/agent/agent-java-list.js +4 -1
  95. package/esm/cli/agent/agent-java-list.js.map +1 -1
  96. package/esm/cli/agent/agent-list.js +4 -1
  97. package/esm/cli/agent/agent-list.js.map +1 -1
  98. package/esm/cli/agent/agent-web-delete.js +10 -3
  99. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  100. package/esm/cli/agent/agent-web-describe.js +4 -1
  101. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  102. package/esm/cli/agent/agent-web-export.js +4 -1
  103. package/esm/cli/agent/agent-web-export.js.map +1 -1
  104. package/esm/cli/agent/agent-web-import.js +4 -1
  105. package/esm/cli/agent/agent-web-import.js.map +1 -1
  106. package/esm/cli/agent/agent-web-list.js +4 -1
  107. package/esm/cli/agent/agent-web-list.js.map +1 -1
  108. package/esm/cli/app/app-delete.js +4 -1
  109. package/esm/cli/app/app-delete.js.map +1 -1
  110. package/esm/cli/app/app-describe.js +4 -1
  111. package/esm/cli/app/app-describe.js.map +1 -1
  112. package/esm/cli/app/app-export.js +6 -3
  113. package/esm/cli/app/app-export.js.map +1 -1
  114. package/esm/cli/app/app-import.js +7 -4
  115. package/esm/cli/app/app-import.js.map +1 -1
  116. package/esm/cli/app/app-list.js +4 -1
  117. package/esm/cli/app/app-list.js.map +1 -1
  118. package/esm/cli/authz/authz-policy-delete.js +6 -3
  119. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  120. package/esm/cli/authz/authz-policy-describe.js +4 -1
  121. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  122. package/esm/cli/authz/authz-policy-export.js +8 -5
  123. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  124. package/esm/cli/authz/authz-policy-import.js +7 -4
  125. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  126. package/esm/cli/authz/authz-policy-list.js +5 -2
  127. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  128. package/esm/cli/authz/authz-set-delete.js +5 -2
  129. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  130. package/esm/cli/authz/authz-set-describe.js +4 -1
  131. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  132. package/esm/cli/authz/authz-set-export.js +6 -3
  133. package/esm/cli/authz/authz-set-export.js.map +1 -1
  134. package/esm/cli/authz/authz-set-import.js +7 -4
  135. package/esm/cli/authz/authz-set-import.js.map +1 -1
  136. package/esm/cli/authz/authz-set-list.js +4 -1
  137. package/esm/cli/authz/authz-set-list.js.map +1 -1
  138. package/esm/cli/authz/authz-type-delete.js +6 -3
  139. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  140. package/esm/cli/authz/authz-type-describe.js +5 -2
  141. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  142. package/esm/cli/authz/authz-type-export.js +7 -4
  143. package/esm/cli/authz/authz-type-export.js.map +1 -1
  144. package/esm/cli/authz/authz-type-import.js +8 -5
  145. package/esm/cli/authz/authz-type-import.js.map +1 -1
  146. package/esm/cli/authz/authz-type-list.js +4 -1
  147. package/esm/cli/authz/authz-type-list.js.map +1 -1
  148. package/esm/cli/conn/conn-save.js +18 -5
  149. package/esm/cli/conn/conn-save.js.map +1 -1
  150. package/esm/cli/email/email-template-export.js +6 -3
  151. package/esm/cli/email/email-template-export.js.map +1 -1
  152. package/esm/cli/email/email-template-import.js +7 -4
  153. package/esm/cli/email/email-template-import.js.map +1 -1
  154. package/esm/cli/email/email-template-list.js +4 -1
  155. package/esm/cli/email/email-template-list.js.map +1 -1
  156. package/esm/cli/esv/esv-apply.js +15 -5
  157. package/esm/cli/esv/esv-apply.js.map +1 -1
  158. package/esm/cli/esv/esv-secret-create.js +4 -1
  159. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  160. package/esm/cli/esv/esv-secret-delete.js +5 -2
  161. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  162. package/esm/cli/esv/esv-secret-describe.js +4 -1
  163. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  164. package/esm/cli/esv/esv-secret-export.js +4 -1
  165. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  166. package/esm/cli/esv/esv-secret-import.js +4 -1
  167. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  168. package/esm/cli/esv/esv-secret-list.js +4 -1
  169. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  170. package/esm/cli/esv/esv-secret-set.js +4 -1
  171. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  172. package/esm/cli/esv/esv-secret-version-activate.js +4 -1
  173. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  174. package/esm/cli/esv/esv-secret-version-create.js +4 -1
  175. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  176. package/esm/cli/esv/esv-secret-version-deactivate.js +4 -1
  177. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  178. package/esm/cli/esv/esv-secret-version-delete.js +5 -2
  179. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  180. package/esm/cli/esv/esv-secret-version-list.js +4 -1
  181. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  182. package/esm/cli/esv/esv-variable-create.js +4 -1
  183. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  184. package/esm/cli/esv/esv-variable-delete.js +5 -2
  185. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  186. package/esm/cli/esv/esv-variable-describe.js +4 -1
  187. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  188. package/esm/cli/esv/esv-variable-export.js +4 -1
  189. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  190. package/esm/cli/esv/esv-variable-import.js +4 -1
  191. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  192. package/esm/cli/esv/esv-variable-list.js +4 -1
  193. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  194. package/esm/cli/esv/esv-variable-set.js +5 -2
  195. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  196. package/esm/cli/idm/idm-count.js +4 -1
  197. package/esm/cli/idm/idm-count.js.map +1 -1
  198. package/esm/cli/idm/idm-export.js +6 -3
  199. package/esm/cli/idm/idm-export.js.map +1 -1
  200. package/esm/cli/idm/idm-import.js +7 -4
  201. package/esm/cli/idm/idm-import.js.map +1 -1
  202. package/esm/cli/idm/idm-list.js +4 -1
  203. package/esm/cli/idm/idm-list.js.map +1 -1
  204. package/esm/cli/idp/idp-export.js +4 -1
  205. package/esm/cli/idp/idp-export.js.map +1 -1
  206. package/esm/cli/idp/idp-import.js +7 -4
  207. package/esm/cli/idp/idp-import.js.map +1 -1
  208. package/esm/cli/idp/idp-list.js +4 -1
  209. package/esm/cli/idp/idp-list.js.map +1 -1
  210. package/esm/cli/info/info.js +8 -2
  211. package/esm/cli/info/info.js.map +1 -1
  212. package/esm/cli/journey/journey-delete.js +5 -2
  213. package/esm/cli/journey/journey-delete.js.map +1 -1
  214. package/esm/cli/journey/journey-describe.js +14 -6
  215. package/esm/cli/journey/journey-describe.js.map +1 -1
  216. package/esm/cli/journey/journey-disable.js +8 -2
  217. package/esm/cli/journey/journey-disable.js.map +1 -1
  218. package/esm/cli/journey/journey-enable.js +8 -2
  219. package/esm/cli/journey/journey-enable.js.map +1 -1
  220. package/esm/cli/journey/journey-export.js +6 -3
  221. package/esm/cli/journey/journey-export.js.map +1 -1
  222. package/esm/cli/journey/journey-import.js +7 -4
  223. package/esm/cli/journey/journey-import.js.map +1 -1
  224. package/esm/cli/journey/journey-list.js +4 -1
  225. package/esm/cli/journey/journey-list.js.map +1 -1
  226. package/esm/cli/journey/journey-prune.js +10 -3
  227. package/esm/cli/journey/journey-prune.js.map +1 -1
  228. package/esm/cli/log/log-fetch.js +16 -6
  229. package/esm/cli/log/log-fetch.js.map +1 -1
  230. package/esm/cli/log/log-key-delete.js +5 -2
  231. package/esm/cli/log/log-key-delete.js.map +1 -1
  232. package/esm/cli/log/log-key-describe.js +4 -1
  233. package/esm/cli/log/log-key-describe.js.map +1 -1
  234. package/esm/cli/log/log-key-list.js +4 -1
  235. package/esm/cli/log/log-key-list.js.map +1 -1
  236. package/esm/cli/log/log-list.js +14 -4
  237. package/esm/cli/log/log-list.js.map +1 -1
  238. package/esm/cli/log/log-tail.js +16 -6
  239. package/esm/cli/log/log-tail.js.map +1 -1
  240. package/esm/cli/realm/realm-add-custom-domain.js +4 -1
  241. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  242. package/esm/cli/realm/realm-describe.js +4 -1
  243. package/esm/cli/realm/realm-describe.js.map +1 -1
  244. package/esm/cli/realm/realm-list.js +4 -1
  245. package/esm/cli/realm/realm-list.js.map +1 -1
  246. package/esm/cli/realm/realm-remove-custom-domain.js +8 -2
  247. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  248. package/esm/cli/saml/saml-cot-export.js +6 -3
  249. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  250. package/esm/cli/saml/saml-cot-import.js +7 -4
  251. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  252. package/esm/cli/saml/saml-cot-list.js +4 -1
  253. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  254. package/esm/cli/saml/saml-delete.js +11 -4
  255. package/esm/cli/saml/saml-delete.js.map +1 -1
  256. package/esm/cli/saml/saml-describe.js +4 -1
  257. package/esm/cli/saml/saml-describe.js.map +1 -1
  258. package/esm/cli/saml/saml-export.js +6 -3
  259. package/esm/cli/saml/saml-export.js.map +1 -1
  260. package/esm/cli/saml/saml-import.js +7 -4
  261. package/esm/cli/saml/saml-import.js.map +1 -1
  262. package/esm/cli/saml/saml-list.js +4 -1
  263. package/esm/cli/saml/saml-list.js.map +1 -1
  264. package/esm/cli/saml/saml-metadata-export.js +5 -2
  265. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  266. package/esm/cli/script/script-delete.js +4 -1
  267. package/esm/cli/script/script-delete.js.map +1 -1
  268. package/esm/cli/script/script-describe.js +4 -1
  269. package/esm/cli/script/script-describe.js.map +1 -1
  270. package/esm/cli/script/script-export.js +4 -1
  271. package/esm/cli/script/script-export.js.map +1 -1
  272. package/esm/cli/script/script-import.js +4 -1
  273. package/esm/cli/script/script-import.js.map +1 -1
  274. package/esm/cli/script/script-list.js +4 -1
  275. package/esm/cli/script/script-list.js.map +1 -1
  276. package/esm/cli/service/service-delete.js +5 -2
  277. package/esm/cli/service/service-delete.js.map +1 -1
  278. package/esm/cli/service/service-export.js +6 -3
  279. package/esm/cli/service/service-export.js.map +1 -1
  280. package/esm/cli/service/service-import.js +7 -4
  281. package/esm/cli/service/service-import.js.map +1 -1
  282. package/esm/cli/service/service-list.js +4 -1
  283. package/esm/cli/service/service-list.js.map +1 -1
  284. package/esm/cli/theme/theme-delete.js +6 -3
  285. package/esm/cli/theme/theme-delete.js.map +1 -1
  286. package/esm/cli/theme/theme-export.js +7 -4
  287. package/esm/cli/theme/theme-export.js.map +1 -1
  288. package/esm/cli/theme/theme-import.js +8 -5
  289. package/esm/cli/theme/theme-import.js.map +1 -1
  290. package/esm/cli/theme/theme-list.js +4 -1
  291. package/esm/cli/theme/theme-list.js.map +1 -1
  292. package/esm/ops/AdminFederationOps.js +216 -0
  293. package/esm/ops/AdminFederationOps.js.map +1 -0
  294. package/esm/ops/AgentOps.js +62 -36
  295. package/esm/ops/AgentOps.js.map +1 -1
  296. package/esm/ops/CirclesOfTrustOps.js +22 -10
  297. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  298. package/esm/ops/ConnectionProfileOps.js +10 -3
  299. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  300. package/esm/ops/EmailTemplateOps.js +23 -15
  301. package/esm/ops/EmailTemplateOps.js.map +1 -1
  302. package/esm/ops/IdmOps.js +34 -21
  303. package/esm/ops/IdmOps.js.map +1 -1
  304. package/esm/ops/IdpOps.js +17 -9
  305. package/esm/ops/IdpOps.js.map +1 -1
  306. package/esm/ops/JourneyOps.js +46 -30
  307. package/esm/ops/JourneyOps.js.map +1 -1
  308. package/esm/ops/LogOps.js +21 -11
  309. package/esm/ops/LogOps.js.map +1 -1
  310. package/esm/ops/NodeOps.js +5 -2
  311. package/esm/ops/NodeOps.js.map +1 -1
  312. package/esm/ops/OAuth2ClientOps.js +26 -13
  313. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  314. package/esm/ops/OrganizationOps.js +8 -2
  315. package/esm/ops/OrganizationOps.js.map +1 -1
  316. package/esm/ops/PolicyOps.js +36 -21
  317. package/esm/ops/PolicyOps.js.map +1 -1
  318. package/esm/ops/PolicySetOps.js +35 -18
  319. package/esm/ops/PolicySetOps.js.map +1 -1
  320. package/esm/ops/RealmOps.js +11 -6
  321. package/esm/ops/RealmOps.js.map +1 -1
  322. package/esm/ops/ResourceTypeOps.js +34 -18
  323. package/esm/ops/ResourceTypeOps.js.map +1 -1
  324. package/esm/ops/Saml2Ops.js +43 -23
  325. package/esm/ops/Saml2Ops.js.map +1 -1
  326. package/esm/ops/ScriptOps.js +18 -10
  327. package/esm/ops/ScriptOps.js.map +1 -1
  328. package/esm/ops/SecretsOps.js +28 -14
  329. package/esm/ops/SecretsOps.js.map +1 -1
  330. package/esm/ops/ServiceOps.js +38 -17
  331. package/esm/ops/ServiceOps.js.map +1 -1
  332. package/esm/ops/ThemeOps.js +35 -19
  333. package/esm/ops/ThemeOps.js.map +1 -1
  334. package/esm/ops/VariablesOps.js +23 -12
  335. package/esm/ops/VariablesOps.js.map +1 -1
  336. package/esm/utils/Config.js +6 -3
  337. package/esm/utils/Config.js.map +1 -1
  338. package/esm/utils/Console.js +5 -2
  339. package/esm/utils/Console.js.map +1 -1
  340. package/esm/utils/ExportImportUtils.js +6 -3
  341. package/esm/utils/ExportImportUtils.js.map +1 -1
  342. package/esm/utils/Version.js +7 -3
  343. package/esm/utils/Version.js.map +1 -1
  344. package/package.json +2 -2
@@ -2,6 +2,32 @@ import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import fs from 'fs';
3
3
  import { printMessage, createTable, debugMessage, showSpinner, succeedSpinner, failSpinner } from '../utils/Console';
4
4
  import { getTypedFilename, saveJsonToFile, titleCase } from '../utils/ExportImportUtils';
5
+ const {
6
+ getRealmName
7
+ } = frodo.helper.utils;
8
+ const {
9
+ createAgentExportTemplate,
10
+ getAgents,
11
+ getIdentityGatewayAgents,
12
+ getJavaAgents,
13
+ getWebAgents,
14
+ exportAgents,
15
+ exportIdentityGatewayAgents,
16
+ exportJavaAgents,
17
+ exportWebAgents,
18
+ exportAgent,
19
+ exportIdentityGatewayAgent,
20
+ exportJavaAgent,
21
+ exportWebAgent,
22
+ importAgent,
23
+ importIdentityGatewayAgent,
24
+ importJavaAgent,
25
+ importWebAgent,
26
+ importAgents,
27
+ importIdentityGatewayAgents,
28
+ importJavaAgents,
29
+ importWebAgents
30
+ } = frodo.agent;
5
31
  const agentTypeToFileIdMap = {
6
32
  IdentityGatewayAgent: 'gateway.agent',
7
33
  J2EEAgent: 'java.agent',
@@ -13,7 +39,7 @@ const agentTypeToFileIdMap = {
13
39
  */
14
40
  export async function listAgents(long = false) {
15
41
  try {
16
- const agents = await frodo.agent.getAgents();
42
+ const agents = await getAgents();
17
43
  if (long) {
18
44
  const table = createTable(['Agent Id', 'Status', 'Agent Type']);
19
45
  for (const agent of agents) {
@@ -48,7 +74,7 @@ export async function listAgents(long = false) {
48
74
  */
49
75
  export async function listIdentityGatewayAgents(long = false) {
50
76
  try {
51
- const agents = await frodo.agent.getIdentityGatewayAgents();
77
+ const agents = await getIdentityGatewayAgents();
52
78
  if (long) {
53
79
  const table = createTable(['Gateway Agent Id', 'Status']);
54
80
  for (const agent of agents) {
@@ -71,7 +97,7 @@ export async function listIdentityGatewayAgents(long = false) {
71
97
  */
72
98
  export async function listJavaAgents(long = false) {
73
99
  try {
74
- const agents = await frodo.agent.getJavaAgents();
100
+ const agents = await getJavaAgents();
75
101
  if (long) {
76
102
  const table = createTable(['Java Agent Id', 'Status']);
77
103
  for (const agent of agents) {
@@ -94,7 +120,7 @@ export async function listJavaAgents(long = false) {
94
120
  */
95
121
  export async function listWebAgents(long = false) {
96
122
  try {
97
- const agents = await frodo.agent.getWebAgents();
123
+ const agents = await getWebAgents();
98
124
  if (long) {
99
125
  const table = createTable(['Web Agent Id', 'Status']);
100
126
  for (const agent of agents) {
@@ -117,8 +143,8 @@ export async function listWebAgents(long = false) {
117
143
  * @param {string} file file name
118
144
  */
119
145
  export async function exportAgentsToFile(file) {
120
- const exportData = await frodo.agent.exportAgents();
121
- let fileName = getTypedFilename(`all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Agents`, 'agent');
146
+ const exportData = await exportAgents();
147
+ let fileName = getTypedFilename(`all${titleCase(getRealmName(state.getRealm()))}Agents`, 'agent');
122
148
  if (file) {
123
149
  fileName = file;
124
150
  }
@@ -130,8 +156,8 @@ export async function exportAgentsToFile(file) {
130
156
  * @param {string} file file name
131
157
  */
132
158
  export async function exportIdentityGatewayAgentsToFile(file) {
133
- const exportData = await frodo.agent.exportIdentityGatewayAgents();
134
- let fileName = getTypedFilename(`all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Agents`, agentTypeToFileIdMap['IdentityGatewayAgent']);
159
+ const exportData = await exportIdentityGatewayAgents();
160
+ let fileName = getTypedFilename(`all${titleCase(getRealmName(state.getRealm()))}Agents`, agentTypeToFileIdMap['IdentityGatewayAgent']);
135
161
  if (file) {
136
162
  fileName = file;
137
163
  }
@@ -143,8 +169,8 @@ export async function exportIdentityGatewayAgentsToFile(file) {
143
169
  * @param {string} file file name
144
170
  */
145
171
  export async function exportJavaAgentsToFile(file) {
146
- const exportData = await frodo.agent.exportJavaAgents();
147
- let fileName = getTypedFilename(`all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Agents`, agentTypeToFileIdMap['J2EEAgent']);
172
+ const exportData = await exportJavaAgents();
173
+ let fileName = getTypedFilename(`all${titleCase(getRealmName(state.getRealm()))}Agents`, agentTypeToFileIdMap['J2EEAgent']);
148
174
  if (file) {
149
175
  fileName = file;
150
176
  }
@@ -156,8 +182,8 @@ export async function exportJavaAgentsToFile(file) {
156
182
  * @param {string} file file name
157
183
  */
158
184
  export async function exportWebAgentsToFile(file) {
159
- const exportData = await frodo.agent.exportWebAgents();
160
- let fileName = getTypedFilename(`all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Agents`, agentTypeToFileIdMap['WebAgent']);
185
+ const exportData = await exportWebAgents();
186
+ let fileName = getTypedFilename(`all${titleCase(getRealmName(state.getRealm()))}Agents`, agentTypeToFileIdMap['WebAgent']);
161
187
  if (file) {
162
188
  fileName = file;
163
189
  }
@@ -170,7 +196,7 @@ export async function exportWebAgentsToFile(file) {
170
196
  * @param {string} file file name
171
197
  */
172
198
  export async function exportAgentToFile(agentId, file) {
173
- const exportData = await frodo.agent.exportAgent(agentId);
199
+ const exportData = await exportAgent(agentId);
174
200
  let fileName = getTypedFilename(agentId, agentTypeToFileIdMap[exportData.agents[agentId]._type._id]);
175
201
  if (file) {
176
202
  fileName = file;
@@ -184,7 +210,7 @@ export async function exportAgentToFile(agentId, file) {
184
210
  * @param {string} file file name
185
211
  */
186
212
  export async function exportIdentityGatewayAgentToFile(agentId, file) {
187
- const exportData = await frodo.agent.exportIdentityGatewayAgent(agentId);
213
+ const exportData = await exportIdentityGatewayAgent(agentId);
188
214
  let fileName = getTypedFilename(agentId, agentTypeToFileIdMap[exportData.agents[agentId]._type._id]);
189
215
  if (file) {
190
216
  fileName = file;
@@ -198,7 +224,7 @@ export async function exportIdentityGatewayAgentToFile(agentId, file) {
198
224
  * @param {string} file file name
199
225
  */
200
226
  export async function exportJavaAgentToFile(agentId, file) {
201
- const exportData = await frodo.agent.exportJavaAgent(agentId);
227
+ const exportData = await exportJavaAgent(agentId);
202
228
  let fileName = getTypedFilename(agentId, agentTypeToFileIdMap[exportData.agents[agentId]._type._id]);
203
229
  if (file) {
204
230
  fileName = file;
@@ -212,7 +238,7 @@ export async function exportJavaAgentToFile(agentId, file) {
212
238
  * @param {string} file file name
213
239
  */
214
240
  export async function exportWebAgentToFile(agentId, file) {
215
- const exportData = await frodo.agent.exportWebAgent(agentId);
241
+ const exportData = await exportWebAgent(agentId);
216
242
  let fileName = getTypedFilename(agentId, agentTypeToFileIdMap[exportData.agents[agentId]._type._id]);
217
243
  if (file) {
218
244
  fileName = file;
@@ -224,11 +250,11 @@ export async function exportWebAgentToFile(agentId, file) {
224
250
  * Export all agents to separate files
225
251
  */
226
252
  export async function exportAgentsToFiles() {
227
- const agents = await frodo.agent.getAgents();
253
+ const agents = await getAgents();
228
254
  debugMessage(`exportAgentsToFiles: ${agents.length} agents`);
229
255
  for (const agent of agents) {
230
256
  const fileName = getTypedFilename(agent._id, agentTypeToFileIdMap[agent._type._id]);
231
- const exportData = frodo.agent.createAgentExportTemplate();
257
+ const exportData = createAgentExportTemplate();
232
258
  exportData.agents[agent._id] = agent;
233
259
  debugMessage(`exportAgentsToFiles: exporting ${agent._id} to ${fileName}`);
234
260
  saveJsonToFile(exportData, fileName);
@@ -240,10 +266,10 @@ export async function exportAgentsToFiles() {
240
266
  * Export all identity gateway agents to separate files
241
267
  */
242
268
  export async function exportIdentityGatewayAgentsToFiles() {
243
- const agents = await frodo.agent.getIdentityGatewayAgents();
269
+ const agents = await getIdentityGatewayAgents();
244
270
  for (const agent of agents) {
245
271
  const fileName = getTypedFilename(agent._id, agentTypeToFileIdMap[agent._type._id]);
246
- const exportData = frodo.agent.createAgentExportTemplate();
272
+ const exportData = createAgentExportTemplate();
247
273
  exportData.agents[agent._id] = agent;
248
274
  saveJsonToFile(exportData, fileName);
249
275
  }
@@ -253,10 +279,10 @@ export async function exportIdentityGatewayAgentsToFiles() {
253
279
  * Export all java agents to separate files
254
280
  */
255
281
  export async function exportJavaAgentsToFiles() {
256
- const agents = await frodo.agent.getJavaAgents();
282
+ const agents = await getJavaAgents();
257
283
  for (const agent of agents) {
258
284
  const fileName = getTypedFilename(agent._id, agentTypeToFileIdMap[agent._type._id]);
259
- const exportData = frodo.agent.createAgentExportTemplate();
285
+ const exportData = createAgentExportTemplate();
260
286
  exportData.agents[agent._id] = agent;
261
287
  saveJsonToFile(exportData, fileName);
262
288
  }
@@ -266,10 +292,10 @@ export async function exportJavaAgentsToFiles() {
266
292
  * Export all web agents to separate files
267
293
  */
268
294
  export async function exportWebAgentsToFiles() {
269
- const agents = await frodo.agent.getWebAgents();
295
+ const agents = await getWebAgents();
270
296
  for (const agent of agents) {
271
297
  const fileName = getTypedFilename(agent._id, agentTypeToFileIdMap[agent._type._id]);
272
- const exportData = frodo.agent.createAgentExportTemplate();
298
+ const exportData = createAgentExportTemplate();
273
299
  exportData.agents[agent._id] = agent;
274
300
  saveJsonToFile(exportData, fileName);
275
301
  }
@@ -296,7 +322,7 @@ export async function importAgentFromFile(agentId, file) {
296
322
  if (!verbose) showSpinner(`Importing ${agentId}...`);
297
323
  try {
298
324
  if (verbose) showSpinner(`Importing ${agentId}...`);
299
- await frodo.agent.importAgent(agentId, importData);
325
+ await importAgent(agentId, importData);
300
326
  succeedSpinner(`Imported ${agentId}.`);
301
327
  } catch (importError) {
302
328
  if (verbose) showSpinner(`Importing ${agentId}...`);
@@ -323,7 +349,7 @@ export async function importFirstAgentFromFile(file) {
323
349
  if (!verbose) showSpinner(`Importing ${agent['_id']}...`);
324
350
  try {
325
351
  if (verbose) showSpinner(`Importing ${agent['_id']}...`);
326
- await frodo.agent.importAgent(agent['_id'], importData);
352
+ await importAgent(agent['_id'], importData);
327
353
  succeedSpinner(`Imported ${agent['_id']}.`);
328
354
  } catch (importError) {
329
355
  if (verbose) showSpinner(`Importing ${agent['_id']}...`);
@@ -349,7 +375,7 @@ export async function importAgentsFromFile(file) {
349
375
  debugMessage(`importAgentsFromFile: importing ${file}`);
350
376
  const importData = JSON.parse(data);
351
377
  try {
352
- await frodo.agent.importAgents(importData);
378
+ await importAgents(importData);
353
379
  } catch (error) {
354
380
  printMessage(`${error.message}`, 'error');
355
381
  printMessage(error.response.status, 'error');
@@ -391,7 +417,7 @@ export async function importIdentityGatewayAgentFromFile(agentId, file) {
391
417
  if (!verbose) showSpinner(`Importing ${agentId}...`);
392
418
  try {
393
419
  if (verbose) showSpinner(`Importing ${agentId}...`);
394
- await frodo.agent.importIdentityGatewayAgent(agentId, importData);
420
+ await importIdentityGatewayAgent(agentId, importData);
395
421
  succeedSpinner(`Imported ${agentId}.`);
396
422
  } catch (importError) {
397
423
  failSpinner(`${importError}`);
@@ -419,7 +445,7 @@ export async function importFirstIdentityGatewayAgentFromFile(file) {
419
445
  if (!verbose) showSpinner(`Importing ${agent['_id']}...`);
420
446
  try {
421
447
  if (verbose) showSpinner(`Importing ${agent['_id']}...`);
422
- await frodo.agent.importIdentityGatewayAgent(agent['_id'], importData);
448
+ await importIdentityGatewayAgent(agent['_id'], importData);
423
449
  succeedSpinner(`Imported ${agent['_id']}.`);
424
450
  } catch (importError) {
425
451
  failSpinner(`${importError}`);
@@ -445,7 +471,7 @@ export async function importIdentityGatewayAgentsFromFile(file) {
445
471
  debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFile: importing ${file}`);
446
472
  const importData = JSON.parse(data);
447
473
  try {
448
- await frodo.agent.importIdentityGatewayAgents(importData);
474
+ await importIdentityGatewayAgents(importData);
449
475
  } catch (error) {
450
476
  printMessage(`${error.message}`, 'error');
451
477
  printMessage(error.response.status, 'error');
@@ -489,7 +515,7 @@ export async function importJavaAgentFromFile(agentId, file) {
489
515
  if (!verbose) showSpinner(`Importing ${agentId}...`);
490
516
  try {
491
517
  if (verbose) showSpinner(`Importing ${agentId}...`);
492
- await frodo.agent.importJavaAgent(agentId, importData);
518
+ await importJavaAgent(agentId, importData);
493
519
  succeedSpinner(`Imported ${agentId}.`);
494
520
  } catch (importError) {
495
521
  failSpinner(`${importError}`);
@@ -517,7 +543,7 @@ export async function importFirstJavaAgentFromFile(file) {
517
543
  if (!verbose) showSpinner(`Importing ${agent['_id']}...`);
518
544
  try {
519
545
  if (verbose) showSpinner(`Importing ${agent['_id']}...`);
520
- await frodo.agent.importJavaAgent(agent['_id'], importData);
546
+ await importJavaAgent(agent['_id'], importData);
521
547
  succeedSpinner(`Imported ${agent['_id']}.`);
522
548
  } catch (importError) {
523
549
  failSpinner(`${importError}`);
@@ -543,7 +569,7 @@ export async function importJavaAgentsFromFile(file) {
543
569
  debugMessage(`cli.AgentOps.importJavaAgentsFromFile: importing ${file}`);
544
570
  const importData = JSON.parse(data);
545
571
  try {
546
- await frodo.agent.importJavaAgents(importData);
572
+ await importJavaAgents(importData);
547
573
  } catch (error) {
548
574
  printMessage(`${error.message}`, 'error');
549
575
  printMessage(error.response.status, 'error');
@@ -587,7 +613,7 @@ export async function importWebAgentFromFile(agentId, file) {
587
613
  if (!verbose) showSpinner(`Importing ${agentId}...`);
588
614
  try {
589
615
  if (verbose) showSpinner(`Importing ${agentId}...`);
590
- await frodo.agent.importWebAgent(agentId, importData);
616
+ await importWebAgent(agentId, importData);
591
617
  succeedSpinner(`Imported ${agentId}.`);
592
618
  } catch (importError) {
593
619
  failSpinner(`${importError}`);
@@ -615,7 +641,7 @@ export async function importFirstWebAgentFromFile(file) {
615
641
  if (!verbose) showSpinner(`Importing ${agent['_id']}...`);
616
642
  try {
617
643
  if (verbose) showSpinner(`Importing ${agent['_id']}...`);
618
- await frodo.agent.importWebAgent(agent['_id'], importData);
644
+ await importWebAgent(agent['_id'], importData);
619
645
  succeedSpinner(`Imported ${agent['_id']}.`);
620
646
  } catch (importError) {
621
647
  failSpinner(`caught it here ${importError}`);
@@ -641,7 +667,7 @@ export async function importWebAgentsFromFile(file) {
641
667
  debugMessage(`cli.AgentOps.importWebAgentsFromFile: importing ${file}`);
642
668
  const importData = JSON.parse(data);
643
669
  try {
644
- await frodo.agent.importWebAgents(importData);
670
+ await importWebAgents(importData);
645
671
  } catch (error) {
646
672
  printMessage(`${error.message}`, 'error');
647
673
  printMessage(error.response.status, 'error');
@@ -1 +1 @@
1
- {"version":3,"file":"AgentOps.js","names":["frodo","state","fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","getTypedFilename","saveJsonToFile","titleCase","agentTypeToFileIdMap","IdentityGatewayAgent","J2EEAgent","WebAgent","listAgents","long","agents","agent","getAgents","table","status","_type","_id","push","name","toString","forEach","error","stack","listIdentityGatewayAgents","getIdentityGatewayAgents","listJavaAgents","getJavaAgents","listWebAgents","getWebAgents","exportAgentsToFile","file","exportData","exportAgents","fileName","helper","utils","getRealmName","getRealm","exportIdentityGatewayAgentsToFile","exportIdentityGatewayAgents","exportJavaAgentsToFile","exportJavaAgents","exportWebAgentsToFile","exportWebAgents","exportAgentToFile","agentId","exportAgent","exportIdentityGatewayAgentToFile","exportIdentityGatewayAgent","exportJavaAgentToFile","exportJavaAgent","exportWebAgentToFile","exportWebAgent","exportAgentsToFiles","length","createAgentExportTemplate","exportIdentityGatewayAgentsToFiles","exportJavaAgentsToFiles","exportWebAgentsToFiles","importAgentFromFile","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importAgent","importError","importFirstAgentFromFile","Object","keys","values","importAgentsFromFile","importAgents","message","response","importAgentsFromFiles","names","readdirSync","agentFiles","filter","toLowerCase","endsWith","importIdentityGatewayAgentFromFile","importIdentityGatewayAgent","importFirstIdentityGatewayAgentFromFile","importIdentityGatewayAgentsFromFile","importIdentityGatewayAgents","importIdentityGatewayAgentsFromFiles","importJavaAgentFromFile","importJavaAgent","importFirstJavaAgentFromFile","importJavaAgentsFromFile","importJavaAgents","importJavaAgentsFromFiles","importWebAgentFromFile","importWebAgent","importFirstWebAgentFromFile","importWebAgentsFromFile","importWebAgents","importWebAgentsFromFiles"],"sources":["ops/AgentOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport type { AgentExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\nimport {\n getTypedFilename,\n saveJsonToFile,\n titleCase,\n} from '../utils/ExportImportUtils';\n\nconst agentTypeToFileIdMap = {\n IdentityGatewayAgent: 'gateway.agent',\n J2EEAgent: 'java.agent',\n WebAgent: 'web.agent',\n};\n\n/**\n * List agents\n */\nexport async function listAgents(long = false) {\n try {\n const agents = await frodo.agent.getAgents();\n if (long) {\n const table = createTable(['Agent Id', 'Status', 'Agent Type']);\n for (const agent of agents) {\n let status = 'Unknown';\n switch (agent._type._id) {\n case 'J2EEAgent':\n status = agent['globalJ2EEAgentConfig']['status'];\n break;\n case 'WebAgent':\n status = agent['globalWebAgentConfig']['status'];\n break;\n default:\n status = agent.status as string;\n break;\n }\n table.push([\n agent._id,\n status === 'Active' ? 'Active'['brightGreen'] : status['brightRed'],\n agent._type.name,\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List identity gateway agents\n */\nexport async function listIdentityGatewayAgents(long = false) {\n try {\n const agents = await frodo.agent.getIdentityGatewayAgents();\n if (long) {\n const table = createTable(['Gateway Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent.status === 'Active'\n ? 'Active'['brightGreen']\n : agent.status['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing gateway agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List java agents\n */\nexport async function listJavaAgents(long = false) {\n try {\n const agents = await frodo.agent.getJavaAgents();\n if (long) {\n const table = createTable(['Java Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent['globalJ2EEAgentConfig']['status'] === 'Active'\n ? 'Active'['brightGreen']\n : agent['globalJ2EEAgentConfig']['status']['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing java agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List web agents\n */\nexport async function listWebAgents(long = false) {\n try {\n const agents = await frodo.agent.getWebAgents();\n if (long) {\n const table = createTable(['Web Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent['globalWebAgentConfig']['status'] === 'Active'\n ? 'Active'['brightGreen']\n : agent['globalWebAgentConfig']['status']['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing web agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * Export all agents to file\n * @param {string} file file name\n */\nexport async function exportAgentsToFile(file) {\n const exportData = await frodo.agent.exportAgents();\n let fileName = getTypedFilename(\n `all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Agents`,\n 'agent'\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all identity gateway agents to file\n * @param {string} file file name\n */\nexport async function exportIdentityGatewayAgentsToFile(file) {\n const exportData = await frodo.agent.exportIdentityGatewayAgents();\n let fileName = getTypedFilename(\n `all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Agents`,\n agentTypeToFileIdMap['IdentityGatewayAgent']\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all java agents to file\n * @param {string} file file name\n */\nexport async function exportJavaAgentsToFile(file) {\n const exportData = await frodo.agent.exportJavaAgents();\n let fileName = getTypedFilename(\n `all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Agents`,\n agentTypeToFileIdMap['J2EEAgent']\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all web agents to file\n * @param {string} file file name\n */\nexport async function exportWebAgentsToFile(file) {\n const exportData = await frodo.agent.exportWebAgents();\n let fileName = getTypedFilename(\n `all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Agents`,\n agentTypeToFileIdMap['WebAgent']\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportAgentToFile(agentId, file) {\n const exportData = await frodo.agent.exportAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export identity gateway agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportIdentityGatewayAgentToFile(agentId, file) {\n const exportData = await frodo.agent.exportIdentityGatewayAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export java agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportJavaAgentToFile(agentId, file) {\n const exportData = await frodo.agent.exportJavaAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export web agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportWebAgentToFile(agentId, file) {\n const exportData = await frodo.agent.exportWebAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all agents to separate files\n */\nexport async function exportAgentsToFiles() {\n const agents = await frodo.agent.getAgents();\n debugMessage(`exportAgentsToFiles: ${agents.length} agents`);\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = frodo.agent.createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n debugMessage(`exportAgentsToFiles: exporting ${agent._id} to ${fileName}`);\n saveJsonToFile(exportData, fileName);\n }\n debugMessage(`exportAgentsToFiles: done.`);\n}\n\n/**\n * Export all identity gateway agents to separate files\n */\nexport async function exportIdentityGatewayAgentsToFiles() {\n const agents = await frodo.agent.getIdentityGatewayAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = frodo.agent.createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Export all java agents to separate files\n */\nexport async function exportJavaAgentsToFiles() {\n const agents = await frodo.agent.getJavaAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = frodo.agent.createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Export all web agents to separate files\n */\nexport async function exportWebAgentsToFiles() {\n const agents = await frodo.agent.getWebAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = frodo.agent.createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Import an agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importAgentFromFile(agentId: string, file: string) {\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await frodo.agent.importAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n });\n}\n\n/**\n * Import first agent from file\n * @param {string} file import file name\n */\nexport async function importFirstAgentFromFile(file: string) {\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await frodo.agent.importAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n });\n}\n\n/**\n * Import agents from file\n * @param {String} file file name\n */\nexport async function importAgentsFromFile(file) {\n debugMessage(`importAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`importAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await frodo.agent.importAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`importAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all agents from separate files\n */\nexport async function importAgentsFromFiles() {\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importAgentsFromFile(file);\n }\n}\n\n/**\n * Import an identity gateway agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importIdentityGatewayAgentFromFile(\n agentId: string,\n file: string\n) {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await frodo.agent.importIdentityGatewayAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentFromFile: end`);\n });\n}\n\n/**\n * Import first identity gateway agent from file\n * @param {string} file import file name\n */\nexport async function importFirstIdentityGatewayAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstIdentityGatewayAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await frodo.agent.importIdentityGatewayAgent(\n agent['_id'],\n importData\n );\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstIdentityGatewayAgentFromFile: end`);\n });\n}\n\n/**\n * Import identity gateway agents from file\n * @param {String} file file name\n */\nexport async function importIdentityGatewayAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(\n `cli.AgentOps.importIdentityGatewayAgentsFromFile: importing ${file}`\n );\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await frodo.agent.importIdentityGatewayAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all identity gateway agents from separate files\n */\nexport async function importIdentityGatewayAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importIdentityGatewayAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFiles: end`);\n}\n\n/**\n * Import an java agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importJavaAgentFromFile(agentId: string, file: string) {\n debugMessage(`cli.AgentOps.importJavaAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await frodo.agent.importJavaAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importJavaAgentFromFile: end`);\n });\n}\n\n/**\n * Import first java agent from file\n * @param {string} file import file name\n */\nexport async function importFirstJavaAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstJavaAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await frodo.agent.importJavaAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstJavaAgentFromFile: end`);\n });\n}\n\n/**\n * Import java agents from file\n * @param {String} file file name\n */\nexport async function importJavaAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await frodo.agent.importJavaAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all java agents from separate files\n */\nexport async function importJavaAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importJavaAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importJavaAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importJavaAgentsFromFiles: end`);\n}\n\n/**\n * Import an web agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importWebAgentFromFile(agentId: string, file: string) {\n debugMessage(`cli.AgentOps.importWebAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await frodo.agent.importWebAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importWebAgentFromFile: end`);\n });\n}\n\n/**\n * Import web gateway agent from file\n * @param {string} file import file name\n */\nexport async function importFirstWebAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstWebAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await frodo.agent.importWebAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`caught it here ${importError}`);\n }\n break;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstWebAgentFromFile: end`);\n });\n}\n\n/**\n * Import web agents from file\n * @param {String} file file name\n */\nexport async function importWebAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await frodo.agent.importWebAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all web agents from separate files\n */\nexport async function importWebAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importWebAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importWebAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importWebAgentsFromFiles: end`);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AgentOps.js","names":["frodo","state","fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","getTypedFilename","saveJsonToFile","titleCase","getRealmName","helper","utils","createAgentExportTemplate","getAgents","getIdentityGatewayAgents","getJavaAgents","getWebAgents","exportAgents","exportIdentityGatewayAgents","exportJavaAgents","exportWebAgents","exportAgent","exportIdentityGatewayAgent","exportJavaAgent","exportWebAgent","importAgent","importIdentityGatewayAgent","importJavaAgent","importWebAgent","importAgents","importIdentityGatewayAgents","importJavaAgents","importWebAgents","agent","agentTypeToFileIdMap","IdentityGatewayAgent","J2EEAgent","WebAgent","listAgents","long","agents","table","status","_type","_id","push","name","toString","forEach","error","stack","listIdentityGatewayAgents","listJavaAgents","listWebAgents","exportAgentsToFile","file","exportData","fileName","getRealm","exportIdentityGatewayAgentsToFile","exportJavaAgentsToFile","exportWebAgentsToFile","exportAgentToFile","agentId","exportIdentityGatewayAgentToFile","exportJavaAgentToFile","exportWebAgentToFile","exportAgentsToFiles","length","exportIdentityGatewayAgentsToFiles","exportJavaAgentsToFiles","exportWebAgentsToFiles","importAgentFromFile","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importError","importFirstAgentFromFile","Object","keys","values","importAgentsFromFile","message","response","importAgentsFromFiles","names","readdirSync","agentFiles","filter","toLowerCase","endsWith","importIdentityGatewayAgentFromFile","importFirstIdentityGatewayAgentFromFile","importIdentityGatewayAgentsFromFile","importIdentityGatewayAgentsFromFiles","importJavaAgentFromFile","importFirstJavaAgentFromFile","importJavaAgentsFromFile","importJavaAgentsFromFiles","importWebAgentFromFile","importFirstWebAgentFromFile","importWebAgentsFromFile","importWebAgentsFromFiles"],"sources":["ops/AgentOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport type { AgentExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\nimport {\n getTypedFilename,\n saveJsonToFile,\n titleCase,\n} from '../utils/ExportImportUtils';\n\nconst { getRealmName } = frodo.helper.utils;\nconst {\n createAgentExportTemplate,\n getAgents,\n getIdentityGatewayAgents,\n getJavaAgents,\n getWebAgents,\n exportAgents,\n exportIdentityGatewayAgents,\n exportJavaAgents,\n exportWebAgents,\n exportAgent,\n exportIdentityGatewayAgent,\n exportJavaAgent,\n exportWebAgent,\n importAgent,\n importIdentityGatewayAgent,\n importJavaAgent,\n importWebAgent,\n importAgents,\n importIdentityGatewayAgents,\n importJavaAgents,\n importWebAgents,\n} = frodo.agent;\n\nconst agentTypeToFileIdMap = {\n IdentityGatewayAgent: 'gateway.agent',\n J2EEAgent: 'java.agent',\n WebAgent: 'web.agent',\n};\n\n/**\n * List agents\n */\nexport async function listAgents(long = false) {\n try {\n const agents = await getAgents();\n if (long) {\n const table = createTable(['Agent Id', 'Status', 'Agent Type']);\n for (const agent of agents) {\n let status = 'Unknown';\n switch (agent._type._id) {\n case 'J2EEAgent':\n status = agent['globalJ2EEAgentConfig']['status'];\n break;\n case 'WebAgent':\n status = agent['globalWebAgentConfig']['status'];\n break;\n default:\n status = agent.status as string;\n break;\n }\n table.push([\n agent._id,\n status === 'Active' ? 'Active'['brightGreen'] : status['brightRed'],\n agent._type.name,\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List identity gateway agents\n */\nexport async function listIdentityGatewayAgents(long = false) {\n try {\n const agents = await getIdentityGatewayAgents();\n if (long) {\n const table = createTable(['Gateway Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent.status === 'Active'\n ? 'Active'['brightGreen']\n : agent.status['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing gateway agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List java agents\n */\nexport async function listJavaAgents(long = false) {\n try {\n const agents = await getJavaAgents();\n if (long) {\n const table = createTable(['Java Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent['globalJ2EEAgentConfig']['status'] === 'Active'\n ? 'Active'['brightGreen']\n : agent['globalJ2EEAgentConfig']['status']['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing java agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * List web agents\n */\nexport async function listWebAgents(long = false) {\n try {\n const agents = await getWebAgents();\n if (long) {\n const table = createTable(['Web Agent Id', 'Status']);\n for (const agent of agents) {\n table.push([\n agent._id,\n agent['globalWebAgentConfig']['status'] === 'Active'\n ? 'Active'['brightGreen']\n : agent['globalWebAgentConfig']['status']['brightRed'],\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n agents.forEach((agent) => {\n printMessage(`${agent._id}`, 'data');\n });\n }\n } catch (error) {\n printMessage(`Error listing web agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * Export all agents to file\n * @param {string} file file name\n */\nexport async function exportAgentsToFile(file) {\n const exportData = await exportAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}Agents`,\n 'agent'\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all identity gateway agents to file\n * @param {string} file file name\n */\nexport async function exportIdentityGatewayAgentsToFile(file) {\n const exportData = await exportIdentityGatewayAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}Agents`,\n agentTypeToFileIdMap['IdentityGatewayAgent']\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all java agents to file\n * @param {string} file file name\n */\nexport async function exportJavaAgentsToFile(file) {\n const exportData = await exportJavaAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}Agents`,\n agentTypeToFileIdMap['J2EEAgent']\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all web agents to file\n * @param {string} file file name\n */\nexport async function exportWebAgentsToFile(file) {\n const exportData = await exportWebAgents();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}Agents`,\n agentTypeToFileIdMap['WebAgent']\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportAgentToFile(agentId, file) {\n const exportData = await exportAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export identity gateway agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportIdentityGatewayAgentToFile(agentId, file) {\n const exportData = await exportIdentityGatewayAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export java agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportJavaAgentToFile(agentId, file) {\n const exportData = await exportJavaAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export web agent to file\n * @param {string} agentId agent id\n * @param {string} file file name\n */\nexport async function exportWebAgentToFile(agentId, file) {\n const exportData = await exportWebAgent(agentId);\n let fileName = getTypedFilename(\n agentId,\n agentTypeToFileIdMap[exportData.agents[agentId]._type._id]\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all agents to separate files\n */\nexport async function exportAgentsToFiles() {\n const agents = await getAgents();\n debugMessage(`exportAgentsToFiles: ${agents.length} agents`);\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n debugMessage(`exportAgentsToFiles: exporting ${agent._id} to ${fileName}`);\n saveJsonToFile(exportData, fileName);\n }\n debugMessage(`exportAgentsToFiles: done.`);\n}\n\n/**\n * Export all identity gateway agents to separate files\n */\nexport async function exportIdentityGatewayAgentsToFiles() {\n const agents = await getIdentityGatewayAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Export all java agents to separate files\n */\nexport async function exportJavaAgentsToFiles() {\n const agents = await getJavaAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Export all web agents to separate files\n */\nexport async function exportWebAgentsToFiles() {\n const agents = await getWebAgents();\n for (const agent of agents) {\n const fileName = getTypedFilename(\n agent._id,\n agentTypeToFileIdMap[agent._type._id]\n );\n const exportData = createAgentExportTemplate();\n exportData.agents[agent._id] = agent;\n saveJsonToFile(exportData, fileName);\n }\n}\n\n/**\n * Import an agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importAgentFromFile(agentId: string, file: string) {\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n });\n}\n\n/**\n * Import first agent from file\n * @param {string} file import file name\n */\nexport async function importFirstAgentFromFile(file: string) {\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n });\n}\n\n/**\n * Import agents from file\n * @param {String} file file name\n */\nexport async function importAgentsFromFile(file) {\n debugMessage(`importAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`importAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`importAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all agents from separate files\n */\nexport async function importAgentsFromFiles() {\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importAgentsFromFile(file);\n }\n}\n\n/**\n * Import an identity gateway agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importIdentityGatewayAgentFromFile(\n agentId: string,\n file: string\n) {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importIdentityGatewayAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentFromFile: end`);\n });\n}\n\n/**\n * Import first identity gateway agent from file\n * @param {string} file import file name\n */\nexport async function importFirstIdentityGatewayAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstIdentityGatewayAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importIdentityGatewayAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstIdentityGatewayAgentFromFile: end`);\n });\n}\n\n/**\n * Import identity gateway agents from file\n * @param {String} file file name\n */\nexport async function importIdentityGatewayAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(\n `cli.AgentOps.importIdentityGatewayAgentsFromFile: importing ${file}`\n );\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importIdentityGatewayAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all identity gateway agents from separate files\n */\nexport async function importIdentityGatewayAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importIdentityGatewayAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importIdentityGatewayAgentsFromFiles: end`);\n}\n\n/**\n * Import an java agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importJavaAgentFromFile(agentId: string, file: string) {\n debugMessage(`cli.AgentOps.importJavaAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importJavaAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importJavaAgentFromFile: end`);\n });\n}\n\n/**\n * Import first java agent from file\n * @param {string} file import file name\n */\nexport async function importFirstJavaAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstJavaAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importJavaAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n return;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstJavaAgentFromFile: end`);\n });\n}\n\n/**\n * Import java agents from file\n * @param {String} file file name\n */\nexport async function importJavaAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importJavaAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importJavaAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all java agents from separate files\n */\nexport async function importJavaAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importJavaAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importJavaAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importJavaAgentsFromFiles: end`);\n}\n\n/**\n * Import an web agent from file\n * @param {string} agentId agent id/name\n * @param {string} file import file name\n */\nexport async function importWebAgentFromFile(agentId: string, file: string) {\n debugMessage(`cli.AgentOps.importWebAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n let importData = JSON.parse(data);\n // check if this is a file with multiple agents and get agent by id\n if (importData.agents && importData.agents[agentId]) {\n importData = importData.agents[agentId];\n } else if (importData.agents) {\n importData = null;\n }\n // if an agentId was specified, only import the matching agent\n if (importData && agentId === importData.agents._id) {\n if (!verbose) showSpinner(`Importing ${agentId}...`);\n try {\n if (verbose) showSpinner(`Importing ${agentId}...`);\n await importWebAgent(agentId, importData);\n succeedSpinner(`Imported ${agentId}.`);\n } catch (importError) {\n failSpinner(`${importError}`);\n }\n } else {\n showSpinner(`Importing ${agentId}...`);\n failSpinner(`${agentId} not found!`);\n }\n debugMessage(`cli.AgentOps.importWebAgentFromFile: end`);\n });\n}\n\n/**\n * Import web gateway agent from file\n * @param {string} file import file name\n */\nexport async function importFirstWebAgentFromFile(file: string) {\n debugMessage(`cli.AgentOps.importFirstWebAgentFromFile: start`);\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (Object.keys(importData.agents).length > 0) {\n for (const agent of Object.values(importData.agents)) {\n if (!verbose) showSpinner(`Importing ${agent['_id']}...`);\n try {\n if (verbose) showSpinner(`Importing ${agent['_id']}...`);\n await importWebAgent(agent['_id'], importData);\n succeedSpinner(`Imported ${agent['_id']}.`);\n } catch (importError) {\n failSpinner(`caught it here ${importError}`);\n }\n break;\n }\n } else {\n showSpinner(`Importing...`);\n failSpinner(`No agents found!`);\n }\n debugMessage(`cli.AgentOps.importFirstWebAgentFromFile: end`);\n });\n}\n\n/**\n * Import web agents from file\n * @param {String} file file name\n */\nexport async function importWebAgentsFromFile(file) {\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: start`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: importing ${file}`);\n const importData = JSON.parse(data) as AgentExportInterface;\n try {\n await importWebAgents(importData);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.AgentOps.importWebAgentsFromFile: end`);\n });\n}\n\n/**\n * Import all web agents from separate files\n */\nexport async function importWebAgentsFromFiles() {\n debugMessage(`cli.AgentOps.importWebAgentsFromFiles: start`);\n const names = fs.readdirSync('.');\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.agent.json')\n );\n for (const file of agentFiles) {\n await importWebAgentsFromFile(file);\n }\n debugMessage(`cli.AgentOps.importWebAgentsFromFiles: end`);\n}\n"],"mappings":"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"}
@@ -2,6 +2,18 @@ import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import fs from 'fs';
3
3
  import { createProgressBar, createTable, debugMessage, failSpinner, printMessage, showSpinner, stopProgressBar, succeedSpinner, updateProgressBar } from '../utils/Console';
4
4
  import { getTypedFilename, saveJsonToFile, titleCase } from '../utils/ExportImportUtils';
5
+ const {
6
+ getRealmName
7
+ } = frodo.helper.utils;
8
+ const {
9
+ getCirclesOfTrust,
10
+ exportCircleOfTrust,
11
+ exportCirclesOfTrust,
12
+ importCircleOfTrust,
13
+ importCirclesOfTrust,
14
+ importFirstCircleOfTrust
15
+ } = frodo.saml2.circlesOfTrust;
16
+
5
17
  /**
6
18
  * Get a one-line description of the circle of trust object
7
19
  * @param {CircleOfTrustSkeleton} cotObj circle of trust object to describe
@@ -41,7 +53,7 @@ export async function listCirclesOfTrust(long = false) {
41
53
  let outcome = false;
42
54
  let cotList = [];
43
55
  try {
44
- cotList = await frodo.saml2.circlesOfTrust.getCirclesOfTrust();
56
+ cotList = await getCirclesOfTrust();
45
57
  } catch (error) {
46
58
  printMessage(`getCirclesOfTrust ERROR: ${error}`, 'error');
47
59
  printMessage(error, 'data');
@@ -77,7 +89,7 @@ export async function exportCircleOfTrustToFile(cotId, file = null) {
77
89
  if (file) {
78
90
  fileName = file;
79
91
  }
80
- const exportData = await frodo.saml2.circlesOfTrust.exportCircleOfTrust(cotId);
92
+ const exportData = await exportCircleOfTrust(cotId);
81
93
  saveJsonToFile(exportData, fileName);
82
94
  succeedSpinner(`Exported ${cotId} to ${fileName}.`);
83
95
  outcome = true;
@@ -97,11 +109,11 @@ export async function exportCirclesOfTrustToFile(file = null) {
97
109
  debugMessage(`cli.CirclesOfTrustOps.exportCirclesOfTrustToFile: begin`);
98
110
  showSpinner(`Exporting all circles of trust...`);
99
111
  try {
100
- let fileName = getTypedFilename(`all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}CirclesOfTrust`, 'cot.saml');
112
+ let fileName = getTypedFilename(`all${titleCase(getRealmName(state.getRealm()))}CirclesOfTrust`, 'cot.saml');
101
113
  if (file) {
102
114
  fileName = file;
103
115
  }
104
- const exportData = await frodo.saml2.circlesOfTrust.exportCirclesOfTrust();
116
+ const exportData = await exportCirclesOfTrust();
105
117
  saveJsonToFile(exportData, fileName);
106
118
  succeedSpinner(`Exported all circles of trust to ${fileName}.`);
107
119
  outcome = true;
@@ -119,12 +131,12 @@ export async function exportCirclesOfTrustToFiles() {
119
131
  debugMessage(`cli.CirclesOfTrustOps.exportCirclesOfTrustToFiles: begin`);
120
132
  const errors = [];
121
133
  try {
122
- const cots = await frodo.saml2.circlesOfTrust.getCirclesOfTrust();
134
+ const cots = await getCirclesOfTrust();
123
135
  createProgressBar(cots.length, 'Exporting circles of trust...');
124
136
  for (const cot of cots) {
125
137
  const file = getTypedFilename(cot._id, 'cot.saml');
126
138
  try {
127
- const exportData = await frodo.saml2.circlesOfTrust.exportCircleOfTrust(cot._id);
139
+ const exportData = await exportCircleOfTrust(cot._id);
128
140
  saveJsonToFile(exportData, file);
129
141
  updateProgressBar(`Exported ${cot.name}.`);
130
142
  } catch (error) {
@@ -153,7 +165,7 @@ export async function importCircleOfTrustFromFile(cotId, file) {
153
165
  if (err) throw err;
154
166
  try {
155
167
  const fileData = JSON.parse(data);
156
- await frodo.saml2.circlesOfTrust.importCircleOfTrust(cotId, fileData);
168
+ await importCircleOfTrust(cotId, fileData);
157
169
  outcome = true;
158
170
  succeedSpinner(`Imported circle of trust ${cotId} from ${file}.`);
159
171
  } catch (error) {
@@ -176,7 +188,7 @@ export async function importFirstCircleOfTrustFromFile(file) {
176
188
  if (err) throw err;
177
189
  try {
178
190
  const fileData = JSON.parse(data);
179
- await frodo.saml2.circlesOfTrust.importFirstCircleOfTrust(fileData);
191
+ await importFirstCircleOfTrust(fileData);
180
192
  outcome = true;
181
193
  succeedSpinner(`Imported first circle of trust from ${file}.`);
182
194
  } catch (error) {
@@ -199,7 +211,7 @@ export async function importCirclesOfTrustFromFile(file) {
199
211
  if (err) throw err;
200
212
  try {
201
213
  const fileData = JSON.parse(data);
202
- await frodo.saml2.circlesOfTrust.importCirclesOfTrust(fileData);
214
+ await importCirclesOfTrust(fileData);
203
215
  outcome = true;
204
216
  succeedSpinner(`Imported circles of trust from ${file}.`);
205
217
  } catch (error) {
@@ -228,7 +240,7 @@ export async function importCirclesOfTrustFromFiles() {
228
240
  const fileData = JSON.parse(data);
229
241
  const count = Object.keys(fileData.saml.cot).length;
230
242
  total += count;
231
- await frodo.saml2.circlesOfTrust.importCirclesOfTrust(fileData);
243
+ await importCirclesOfTrust(fileData);
232
244
  updateProgressBar(`Imported ${count} circles of trust from ${file}`);
233
245
  } catch (error) {
234
246
  errors.push(error);