@rockcarver/frodo-cli 2.0.0-6 → 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 (340) hide show
  1. package/CHANGELOG.md +5 -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 +4 -1
  39. package/esm/cli/admin/admin-federation-export.js.map +1 -1
  40. package/esm/cli/admin/admin-federation-import.js +7 -4
  41. package/esm/cli/admin/admin-federation-import.js.map +1 -1
  42. package/esm/cli/admin/admin-federation-list.js +4 -1
  43. package/esm/cli/admin/admin-federation-list.js.map +1 -1
  44. package/esm/cli/admin/admin-get-access-token.js +8 -2
  45. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  46. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +8 -2
  47. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  48. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +8 -2
  49. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  50. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +8 -2
  51. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  52. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +8 -2
  53. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  54. package/esm/cli/admin/admin-list-static-user-mappings.js +8 -2
  55. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  56. package/esm/cli/admin/admin-remove-static-user-mapping.js +8 -2
  57. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  58. package/esm/cli/admin/admin-repair-org-model.js +8 -2
  59. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  60. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +8 -2
  61. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-show-generic-extension-attributes.js +8 -2
  63. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  64. package/esm/cli/agent/agent-delete.js +10 -3
  65. package/esm/cli/agent/agent-delete.js.map +1 -1
  66. package/esm/cli/agent/agent-describe.js +4 -1
  67. package/esm/cli/agent/agent-describe.js.map +1 -1
  68. package/esm/cli/agent/agent-export.js +4 -1
  69. package/esm/cli/agent/agent-export.js.map +1 -1
  70. package/esm/cli/agent/agent-gateway-delete.js +10 -3
  71. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  72. package/esm/cli/agent/agent-gateway-describe.js +4 -1
  73. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  74. package/esm/cli/agent/agent-gateway-export.js +4 -1
  75. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-import.js +4 -1
  77. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-list.js +4 -1
  79. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  80. package/esm/cli/agent/agent-import.js +4 -1
  81. package/esm/cli/agent/agent-import.js.map +1 -1
  82. package/esm/cli/agent/agent-java-delete.js +10 -3
  83. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  84. package/esm/cli/agent/agent-java-describe.js +4 -1
  85. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  86. package/esm/cli/agent/agent-java-export.js +4 -1
  87. package/esm/cli/agent/agent-java-export.js.map +1 -1
  88. package/esm/cli/agent/agent-java-import.js +4 -1
  89. package/esm/cli/agent/agent-java-import.js.map +1 -1
  90. package/esm/cli/agent/agent-java-list.js +4 -1
  91. package/esm/cli/agent/agent-java-list.js.map +1 -1
  92. package/esm/cli/agent/agent-list.js +4 -1
  93. package/esm/cli/agent/agent-list.js.map +1 -1
  94. package/esm/cli/agent/agent-web-delete.js +10 -3
  95. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  96. package/esm/cli/agent/agent-web-describe.js +4 -1
  97. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  98. package/esm/cli/agent/agent-web-export.js +4 -1
  99. package/esm/cli/agent/agent-web-export.js.map +1 -1
  100. package/esm/cli/agent/agent-web-import.js +4 -1
  101. package/esm/cli/agent/agent-web-import.js.map +1 -1
  102. package/esm/cli/agent/agent-web-list.js +4 -1
  103. package/esm/cli/agent/agent-web-list.js.map +1 -1
  104. package/esm/cli/app/app-delete.js +4 -1
  105. package/esm/cli/app/app-delete.js.map +1 -1
  106. package/esm/cli/app/app-describe.js +4 -1
  107. package/esm/cli/app/app-describe.js.map +1 -1
  108. package/esm/cli/app/app-export.js +6 -3
  109. package/esm/cli/app/app-export.js.map +1 -1
  110. package/esm/cli/app/app-import.js +7 -4
  111. package/esm/cli/app/app-import.js.map +1 -1
  112. package/esm/cli/app/app-list.js +4 -1
  113. package/esm/cli/app/app-list.js.map +1 -1
  114. package/esm/cli/authz/authz-policy-delete.js +6 -3
  115. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  116. package/esm/cli/authz/authz-policy-describe.js +4 -1
  117. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  118. package/esm/cli/authz/authz-policy-export.js +8 -5
  119. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  120. package/esm/cli/authz/authz-policy-import.js +7 -4
  121. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  122. package/esm/cli/authz/authz-policy-list.js +5 -2
  123. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  124. package/esm/cli/authz/authz-set-delete.js +5 -2
  125. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  126. package/esm/cli/authz/authz-set-describe.js +4 -1
  127. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  128. package/esm/cli/authz/authz-set-export.js +6 -3
  129. package/esm/cli/authz/authz-set-export.js.map +1 -1
  130. package/esm/cli/authz/authz-set-import.js +7 -4
  131. package/esm/cli/authz/authz-set-import.js.map +1 -1
  132. package/esm/cli/authz/authz-set-list.js +4 -1
  133. package/esm/cli/authz/authz-set-list.js.map +1 -1
  134. package/esm/cli/authz/authz-type-delete.js +6 -3
  135. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  136. package/esm/cli/authz/authz-type-describe.js +5 -2
  137. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  138. package/esm/cli/authz/authz-type-export.js +7 -4
  139. package/esm/cli/authz/authz-type-export.js.map +1 -1
  140. package/esm/cli/authz/authz-type-import.js +8 -5
  141. package/esm/cli/authz/authz-type-import.js.map +1 -1
  142. package/esm/cli/authz/authz-type-list.js +4 -1
  143. package/esm/cli/authz/authz-type-list.js.map +1 -1
  144. package/esm/cli/conn/conn-save.js +18 -5
  145. package/esm/cli/conn/conn-save.js.map +1 -1
  146. package/esm/cli/email/email-template-export.js +6 -3
  147. package/esm/cli/email/email-template-export.js.map +1 -1
  148. package/esm/cli/email/email-template-import.js +7 -4
  149. package/esm/cli/email/email-template-import.js.map +1 -1
  150. package/esm/cli/email/email-template-list.js +4 -1
  151. package/esm/cli/email/email-template-list.js.map +1 -1
  152. package/esm/cli/esv/esv-apply.js +15 -5
  153. package/esm/cli/esv/esv-apply.js.map +1 -1
  154. package/esm/cli/esv/esv-secret-create.js +4 -1
  155. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  156. package/esm/cli/esv/esv-secret-delete.js +5 -2
  157. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  158. package/esm/cli/esv/esv-secret-describe.js +4 -1
  159. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  160. package/esm/cli/esv/esv-secret-export.js +4 -1
  161. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  162. package/esm/cli/esv/esv-secret-import.js +4 -1
  163. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  164. package/esm/cli/esv/esv-secret-list.js +4 -1
  165. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  166. package/esm/cli/esv/esv-secret-set.js +4 -1
  167. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  168. package/esm/cli/esv/esv-secret-version-activate.js +4 -1
  169. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  170. package/esm/cli/esv/esv-secret-version-create.js +4 -1
  171. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  172. package/esm/cli/esv/esv-secret-version-deactivate.js +4 -1
  173. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  174. package/esm/cli/esv/esv-secret-version-delete.js +5 -2
  175. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  176. package/esm/cli/esv/esv-secret-version-list.js +4 -1
  177. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  178. package/esm/cli/esv/esv-variable-create.js +4 -1
  179. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  180. package/esm/cli/esv/esv-variable-delete.js +5 -2
  181. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  182. package/esm/cli/esv/esv-variable-describe.js +4 -1
  183. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  184. package/esm/cli/esv/esv-variable-export.js +4 -1
  185. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  186. package/esm/cli/esv/esv-variable-import.js +4 -1
  187. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  188. package/esm/cli/esv/esv-variable-list.js +4 -1
  189. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  190. package/esm/cli/esv/esv-variable-set.js +5 -2
  191. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  192. package/esm/cli/idm/idm-count.js +4 -1
  193. package/esm/cli/idm/idm-count.js.map +1 -1
  194. package/esm/cli/idm/idm-export.js +6 -3
  195. package/esm/cli/idm/idm-export.js.map +1 -1
  196. package/esm/cli/idm/idm-import.js +7 -4
  197. package/esm/cli/idm/idm-import.js.map +1 -1
  198. package/esm/cli/idm/idm-list.js +4 -1
  199. package/esm/cli/idm/idm-list.js.map +1 -1
  200. package/esm/cli/idp/idp-export.js +4 -1
  201. package/esm/cli/idp/idp-export.js.map +1 -1
  202. package/esm/cli/idp/idp-import.js +7 -4
  203. package/esm/cli/idp/idp-import.js.map +1 -1
  204. package/esm/cli/idp/idp-list.js +4 -1
  205. package/esm/cli/idp/idp-list.js.map +1 -1
  206. package/esm/cli/info/info.js +8 -2
  207. package/esm/cli/info/info.js.map +1 -1
  208. package/esm/cli/journey/journey-delete.js +5 -2
  209. package/esm/cli/journey/journey-delete.js.map +1 -1
  210. package/esm/cli/journey/journey-describe.js +14 -6
  211. package/esm/cli/journey/journey-describe.js.map +1 -1
  212. package/esm/cli/journey/journey-disable.js +8 -2
  213. package/esm/cli/journey/journey-disable.js.map +1 -1
  214. package/esm/cli/journey/journey-enable.js +8 -2
  215. package/esm/cli/journey/journey-enable.js.map +1 -1
  216. package/esm/cli/journey/journey-export.js +6 -3
  217. package/esm/cli/journey/journey-export.js.map +1 -1
  218. package/esm/cli/journey/journey-import.js +7 -4
  219. package/esm/cli/journey/journey-import.js.map +1 -1
  220. package/esm/cli/journey/journey-list.js +4 -1
  221. package/esm/cli/journey/journey-list.js.map +1 -1
  222. package/esm/cli/journey/journey-prune.js +10 -3
  223. package/esm/cli/journey/journey-prune.js.map +1 -1
  224. package/esm/cli/log/log-fetch.js +16 -6
  225. package/esm/cli/log/log-fetch.js.map +1 -1
  226. package/esm/cli/log/log-key-delete.js +5 -2
  227. package/esm/cli/log/log-key-delete.js.map +1 -1
  228. package/esm/cli/log/log-key-describe.js +4 -1
  229. package/esm/cli/log/log-key-describe.js.map +1 -1
  230. package/esm/cli/log/log-key-list.js +4 -1
  231. package/esm/cli/log/log-key-list.js.map +1 -1
  232. package/esm/cli/log/log-list.js +14 -4
  233. package/esm/cli/log/log-list.js.map +1 -1
  234. package/esm/cli/log/log-tail.js +16 -6
  235. package/esm/cli/log/log-tail.js.map +1 -1
  236. package/esm/cli/realm/realm-add-custom-domain.js +4 -1
  237. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  238. package/esm/cli/realm/realm-describe.js +4 -1
  239. package/esm/cli/realm/realm-describe.js.map +1 -1
  240. package/esm/cli/realm/realm-list.js +4 -1
  241. package/esm/cli/realm/realm-list.js.map +1 -1
  242. package/esm/cli/realm/realm-remove-custom-domain.js +8 -2
  243. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  244. package/esm/cli/saml/saml-cot-export.js +6 -3
  245. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  246. package/esm/cli/saml/saml-cot-import.js +7 -4
  247. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  248. package/esm/cli/saml/saml-cot-list.js +4 -1
  249. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  250. package/esm/cli/saml/saml-delete.js +11 -4
  251. package/esm/cli/saml/saml-delete.js.map +1 -1
  252. package/esm/cli/saml/saml-describe.js +4 -1
  253. package/esm/cli/saml/saml-describe.js.map +1 -1
  254. package/esm/cli/saml/saml-export.js +6 -3
  255. package/esm/cli/saml/saml-export.js.map +1 -1
  256. package/esm/cli/saml/saml-import.js +7 -4
  257. package/esm/cli/saml/saml-import.js.map +1 -1
  258. package/esm/cli/saml/saml-list.js +4 -1
  259. package/esm/cli/saml/saml-list.js.map +1 -1
  260. package/esm/cli/saml/saml-metadata-export.js +5 -2
  261. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  262. package/esm/cli/script/script-delete.js +4 -1
  263. package/esm/cli/script/script-delete.js.map +1 -1
  264. package/esm/cli/script/script-describe.js +4 -1
  265. package/esm/cli/script/script-describe.js.map +1 -1
  266. package/esm/cli/script/script-export.js +4 -1
  267. package/esm/cli/script/script-export.js.map +1 -1
  268. package/esm/cli/script/script-import.js +4 -1
  269. package/esm/cli/script/script-import.js.map +1 -1
  270. package/esm/cli/script/script-list.js +4 -1
  271. package/esm/cli/script/script-list.js.map +1 -1
  272. package/esm/cli/service/service-delete.js +5 -2
  273. package/esm/cli/service/service-delete.js.map +1 -1
  274. package/esm/cli/service/service-export.js +6 -3
  275. package/esm/cli/service/service-export.js.map +1 -1
  276. package/esm/cli/service/service-import.js +7 -4
  277. package/esm/cli/service/service-import.js.map +1 -1
  278. package/esm/cli/service/service-list.js +4 -1
  279. package/esm/cli/service/service-list.js.map +1 -1
  280. package/esm/cli/theme/theme-delete.js +6 -3
  281. package/esm/cli/theme/theme-delete.js.map +1 -1
  282. package/esm/cli/theme/theme-export.js +7 -4
  283. package/esm/cli/theme/theme-export.js.map +1 -1
  284. package/esm/cli/theme/theme-import.js +8 -5
  285. package/esm/cli/theme/theme-import.js.map +1 -1
  286. package/esm/cli/theme/theme-list.js +4 -1
  287. package/esm/cli/theme/theme-list.js.map +1 -1
  288. package/esm/ops/AdminFederationOps.js +17 -9
  289. package/esm/ops/AdminFederationOps.js.map +1 -1
  290. package/esm/ops/AgentOps.js +62 -36
  291. package/esm/ops/AgentOps.js.map +1 -1
  292. package/esm/ops/CirclesOfTrustOps.js +22 -10
  293. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  294. package/esm/ops/ConnectionProfileOps.js +10 -3
  295. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  296. package/esm/ops/EmailTemplateOps.js +23 -15
  297. package/esm/ops/EmailTemplateOps.js.map +1 -1
  298. package/esm/ops/IdmOps.js +34 -21
  299. package/esm/ops/IdmOps.js.map +1 -1
  300. package/esm/ops/IdpOps.js +17 -9
  301. package/esm/ops/IdpOps.js.map +1 -1
  302. package/esm/ops/JourneyOps.js +46 -30
  303. package/esm/ops/JourneyOps.js.map +1 -1
  304. package/esm/ops/LogOps.js +21 -11
  305. package/esm/ops/LogOps.js.map +1 -1
  306. package/esm/ops/NodeOps.js +5 -2
  307. package/esm/ops/NodeOps.js.map +1 -1
  308. package/esm/ops/OAuth2ClientOps.js +25 -12
  309. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  310. package/esm/ops/OrganizationOps.js +8 -2
  311. package/esm/ops/OrganizationOps.js.map +1 -1
  312. package/esm/ops/PolicyOps.js +36 -21
  313. package/esm/ops/PolicyOps.js.map +1 -1
  314. package/esm/ops/PolicySetOps.js +35 -18
  315. package/esm/ops/PolicySetOps.js.map +1 -1
  316. package/esm/ops/RealmOps.js +11 -6
  317. package/esm/ops/RealmOps.js.map +1 -1
  318. package/esm/ops/ResourceTypeOps.js +34 -18
  319. package/esm/ops/ResourceTypeOps.js.map +1 -1
  320. package/esm/ops/Saml2Ops.js +43 -23
  321. package/esm/ops/Saml2Ops.js.map +1 -1
  322. package/esm/ops/ScriptOps.js +18 -10
  323. package/esm/ops/ScriptOps.js.map +1 -1
  324. package/esm/ops/SecretsOps.js +28 -14
  325. package/esm/ops/SecretsOps.js.map +1 -1
  326. package/esm/ops/ServiceOps.js +38 -17
  327. package/esm/ops/ServiceOps.js.map +1 -1
  328. package/esm/ops/ThemeOps.js +35 -19
  329. package/esm/ops/ThemeOps.js.map +1 -1
  330. package/esm/ops/VariablesOps.js +23 -12
  331. package/esm/ops/VariablesOps.js.map +1 -1
  332. package/esm/utils/Config.js +6 -3
  333. package/esm/utils/Config.js.map +1 -1
  334. package/esm/utils/Console.js +5 -2
  335. package/esm/utils/Console.js.map +1 -1
  336. package/esm/utils/ExportImportUtils.js +6 -3
  337. package/esm/utils/ExportImportUtils.js.map +1 -1
  338. package/esm/utils/Version.js +7 -3
  339. package/esm/utils/Version.js.map +1 -1
  340. package/package.json +2 -2
@@ -3,33 +3,36 @@ import { Option } from 'commander';
3
3
  import { frodo, state } from '@rockcarver/frodo-lib';
4
4
  import { printMessage, verboseMessage } from '../../utils/Console';
5
5
  import { importFirstThemeFromFile, importThemeById, importThemeByName, importThemesFromFile, importThemesFromFiles } from '../../ops/ThemeOps';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo theme import');
7
10
  program.description('Import themes.').addOption(new Option('-n, --theme-name <name>', 'Name of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-i, --theme-id <uuid>', 'Uuid of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the theme(s) from.')).addOption(new Option('-a, --all', 'Import all the themes from single file. Ignored with -n or -i.')).addOption(new Option('-A, --all-separate', 'Import all the themes from separate files (*.json) in the current directory. Ignored with -n or -i or -a.')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
14
  // import by name
12
- if (options.file && options.themeName && (await frodo.login.getTokens())) {
15
+ if (options.file && options.themeName && (await getTokens())) {
13
16
  verboseMessage(`Importing theme with name "${options.themeName}" into realm "${state.getRealm()}"...`);
14
17
  importThemeByName(options.themeName, options.file);
15
18
  }
16
19
  // import by id
17
- else if (options.file && options.themeId && (await frodo.login.getTokens())) {
20
+ else if (options.file && options.themeId && (await getTokens())) {
18
21
  verboseMessage(`Importing theme with id "${options.themeId}" into realm "${state.getRealm()}"...`);
19
22
  importThemeById(options.themeId, options.file);
20
23
  }
21
24
  // --all -a
22
- else if (options.all && options.file && (await frodo.login.getTokens())) {
25
+ else if (options.all && options.file && (await getTokens())) {
23
26
  verboseMessage(`Importing all themes from a single file (${options.file})...`);
24
27
  importThemesFromFile(options.file);
25
28
  }
26
29
  // --all-separate -A
27
- else if (options.allSeparate && !options.file && (await frodo.login.getTokens())) {
30
+ else if (options.allSeparate && !options.file && (await getTokens())) {
28
31
  verboseMessage('Importing all themes from separate files in current directory...');
29
32
  importThemesFromFiles();
30
33
  }
31
34
  // import single theme from file
32
- else if (options.file && (await frodo.login.getTokens())) {
35
+ else if (options.file && (await getTokens())) {
33
36
  verboseMessage(`Importing first theme from file "${options.file}" into realm "${state.getRealm()}"...`);
34
37
  importFirstThemeFromFile(options.file);
35
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"theme-import.js","names":["FrodoCommand","Option","frodo","state","printMessage","verboseMessage","importFirstThemeFromFile","importThemeById","importThemeByName","importThemesFromFile","importThemesFromFiles","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","themeName","login","getTokens","getRealm","themeId","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/theme/theme-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n importFirstThemeFromFile,\n importThemeById,\n importThemeByName,\n importThemesFromFile,\n importThemesFromFiles,\n} from '../../ops/ThemeOps';\n\nconst program = new FrodoCommand('frodo theme import');\n\nprogram\n .description('Import themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the theme(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the themes from single file. Ignored with -n or -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the themes from separate files (*.json) in the current directory. Ignored with -n or -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import by name\n if (\n options.file &&\n options.themeName &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Importing theme with name \"${\n options.themeName\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeByName(options.themeName, options.file);\n }\n // import by id\n else if (\n options.file &&\n options.themeId &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Importing theme with id \"${\n options.themeId\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all && options.file && (await frodo.login.getTokens())) {\n verboseMessage(\n `Importing all themes from a single file (${options.file})...`\n );\n importThemesFromFile(options.file);\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n !options.file &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n 'Importing all themes from separate files in current directory...'\n );\n importThemesFromFiles();\n }\n // import single theme from file\n else if (options.file && (await frodo.login.getTokens())) {\n verboseMessage(\n `Importing first theme from file \"${\n options.file\n }\" into realm \"${state.getRealm()}\"...`\n );\n importFirstThemeFromFile(options.file);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"theme-import.js","names":["FrodoCommand","Option","frodo","state","printMessage","verboseMessage","importFirstThemeFromFile","importThemeById","importThemeByName","importThemesFromFile","importThemesFromFiles","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","themeName","getRealm","themeId","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/theme/theme-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n importFirstThemeFromFile,\n importThemeById,\n importThemeByName,\n importThemesFromFile,\n importThemesFromFiles,\n} from '../../ops/ThemeOps';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo theme import');\n\nprogram\n .description('Import themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the theme(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the themes from single file. Ignored with -n or -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the themes from separate files (*.json) in the current directory. Ignored with -n or -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import by name\n if (options.file && options.themeName && (await getTokens())) {\n verboseMessage(\n `Importing theme with name \"${\n options.themeName\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeByName(options.themeName, options.file);\n }\n // import by id\n else if (options.file && options.themeId && (await getTokens())) {\n verboseMessage(\n `Importing theme with id \"${\n options.themeId\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage(\n `Importing all themes from a single file (${options.file})...`\n );\n importThemesFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n verboseMessage(\n 'Importing all themes from separate files in current directory...'\n );\n importThemesFromFiles();\n }\n // import single theme from file\n else if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing first theme from file \"${\n options.file\n }\" into realm \"${state.getRealm()}\"...`\n );\n importFirstThemeFromFile(options.file);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -3,12 +3,15 @@ import { Option } from 'commander';
3
3
  import { frodo, state } from '@rockcarver/frodo-lib';
4
4
  import { listThemes } from '../../ops/ThemeOps';
5
5
  import { verboseMessage } from '../../utils/Console';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo theme list');
7
10
  program.description('List themes.').addOption(new Option('-l, --long', 'Long with more fields.').default(false, 'false')).action(
8
11
  // implement command logic inside action handler
9
12
  async (host, realm, user, password, options, command) => {
10
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
- if (await frodo.login.getTokens()) {
14
+ if (await getTokens()) {
12
15
  verboseMessage(`Listing themes in realm "${state.getRealm()}"...`);
13
16
  listThemes(options.long);
14
17
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"theme-list.js","names":["FrodoCommand","Option","frodo","state","listThemes","verboseMessage","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","getRealm","long","process","exitCode","parse"],"sources":["cli/theme/theme-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { listThemes } from '../../ops/ThemeOps';\nimport { verboseMessage } from '../../utils/Console';\n\nconst program = new FrodoCommand('frodo theme list');\n\nprogram\n .description('List themes.')\n .addOption(\n new Option('-l, --long', 'Long with more fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n verboseMessage(`Listing themes in realm \"${state.getRealm()}\"...`);\n listThemes(options.long);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,cAAc,QAAQ,qBAAqB;AAEpD,MAAMC,OAAO,GAAG,IAAIN,YAAY,CAAC,kBAAkB,CAAC;AAEpDM,OAAO,CACJC,WAAW,CAAC,cAAc,CAAC,CAC3BC,SAAS,CACR,IAAIP,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAACQ,OAAO,CAAC,KAAK,EAAE,OAAO,CAC3E,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,KAAK,CAACgB,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCd,cAAc,CAAE,4BAA2BF,KAAK,CAACiB,QAAQ,CAAC,CAAE,MAAK,CAAC;IAClEhB,UAAU,CAACW,OAAO,CAACM,IAAI,CAAC;EAC1B,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHjB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"theme-list.js","names":["FrodoCommand","Option","frodo","state","listThemes","verboseMessage","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","long","process","exitCode","parse"],"sources":["cli/theme/theme-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { listThemes } from '../../ops/ThemeOps';\nimport { verboseMessage } from '../../utils/Console';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo theme list');\n\nprogram\n .description('List themes.')\n .addOption(\n new Option('-l, --long', 'Long with more fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing themes in realm \"${state.getRealm()}\"...`);\n listThemes(options.long);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,cAAc,QAAQ,qBAAqB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGJ,KAAK,CAACK,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIR,YAAY,CAAC,kBAAkB,CAAC;AAEpDQ,OAAO,CACJC,WAAW,CAAC,cAAc,CAAC,CAC3BC,SAAS,CACR,IAAIT,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAACU,OAAO,CAAC,KAAK,EAAE,OAAO,CAC3E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBD,cAAc,CAAE,4BAA2BF,KAAK,CAACiB,QAAQ,CAAC,CAAE,MAAK,CAAC;IAClEhB,UAAU,CAACa,OAAO,CAACI,IAAI,CAAC;EAC1B,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
@@ -2,6 +2,14 @@ import { frodo } from '@rockcarver/frodo-lib';
2
2
  import fs from 'fs';
3
3
  import { createProgressBar, debugMessage, failSpinner, printMessage, showSpinner, stopProgressBar, succeedSpinner, updateProgressBar } from '../utils/Console';
4
4
  import { getTypedFilename, saveJsonToFile } from '../utils/ExportImportUtils';
5
+ const {
6
+ getAdminFederationProviders,
7
+ exportAdminFederationProvider,
8
+ exportAdminFederationProviders,
9
+ importAdminFederationProvider,
10
+ importAdminFederationProviders,
11
+ importFirstAdminFederationProvider
12
+ } = frodo.cloud.adminFed;
5
13
 
6
14
  /**
7
15
  * List providers
@@ -10,7 +18,7 @@ import { getTypedFilename, saveJsonToFile } from '../utils/ExportImportUtils';
10
18
  export async function listAdminFederationProviders() {
11
19
  let outcome = false;
12
20
  try {
13
- const providers = await frodo.cloud.adminFed.getAdminFederationProviders();
21
+ const providers = await getAdminFederationProviders();
14
22
  providers.sort((a, b) => a._id.localeCompare(b._id));
15
23
  providers.forEach(socialIdentityProvider => {
16
24
  printMessage(`${socialIdentityProvider._id}`, 'data');
@@ -38,7 +46,7 @@ export async function exportAdminFederationProviderToFile(providerId, file = '')
38
46
  createProgressBar(1, `Exporting ${providerId}`);
39
47
  try {
40
48
  updateProgressBar(`Writing file ${fileName}`);
41
- const fileData = await frodo.cloud.adminFed.exportAdminFederationProvider(providerId);
49
+ const fileData = await exportAdminFederationProvider(providerId);
42
50
  saveJsonToFile(fileData, fileName);
43
51
  stopProgressBar(`Exported ${providerId['brightCyan']} to ${fileName['brightCyan']}.`);
44
52
  outcome = true;
@@ -62,7 +70,7 @@ export async function exportAdminFederationProvidersToFile(file = '') {
62
70
  if (!fileName) {
63
71
  fileName = getTypedFilename(`allProviders`, 'admin.federation');
64
72
  }
65
- const fileData = await frodo.cloud.adminFed.exportAdminFederationProviders();
73
+ const fileData = await exportAdminFederationProviders();
66
74
  saveJsonToFile(fileData, fileName);
67
75
  succeedSpinner(`Exported all providers to ${fileName}`);
68
76
  outcome = true;
@@ -81,12 +89,12 @@ export async function exportAdminFederationProvidersToFile(file = '') {
81
89
  export async function exportAdminFederationProvidersToFiles() {
82
90
  let outcome = false;
83
91
  try {
84
- const allIdpsData = await frodo.cloud.adminFed.getAdminFederationProviders();
92
+ const allIdpsData = await getAdminFederationProviders();
85
93
  createProgressBar(allIdpsData.length, 'Exporting providers');
86
94
  for (const idpData of allIdpsData) {
87
95
  updateProgressBar(`Writing provider ${idpData._id}`);
88
96
  const fileName = getTypedFilename(idpData._id, 'admin.federation');
89
- const fileData = await frodo.cloud.adminFed.exportAdminFederationProvider(idpData._id);
97
+ const fileData = await exportAdminFederationProvider(idpData._id);
90
98
  saveJsonToFile(fileData, fileName);
91
99
  }
92
100
  stopProgressBar(`${allIdpsData.length} providers exported.`);
@@ -111,7 +119,7 @@ export async function importAdminFederationProviderFromFile(providerId, file) {
111
119
  try {
112
120
  const data = fs.readFileSync(file, 'utf8');
113
121
  const fileData = JSON.parse(data);
114
- await frodo.cloud.adminFed.importAdminFederationProvider(providerId, fileData);
122
+ await importAdminFederationProvider(providerId, fileData);
115
123
  succeedSpinner(`Successfully imported provider ${providerId} from ${file}.`);
116
124
  outcome = true;
117
125
  } catch (error) {
@@ -134,7 +142,7 @@ export async function importFirstAdminFederationProviderFromFile(file) {
134
142
  try {
135
143
  const data = fs.readFileSync(file, 'utf8');
136
144
  const fileData = JSON.parse(data);
137
- await frodo.cloud.adminFed.importFirstAdminFederationProvider(fileData);
145
+ await importFirstAdminFederationProvider(fileData);
138
146
  succeedSpinner(`Successfully imported first provider from ${file}.`);
139
147
  outcome = true;
140
148
  } catch (error) {
@@ -158,7 +166,7 @@ export async function importAdminFederationProvidersFromFile(file) {
158
166
  try {
159
167
  const data = fs.readFileSync(file, 'utf8');
160
168
  const fileData = JSON.parse(data);
161
- await frodo.cloud.adminFed.importAdminFederationProviders(fileData);
169
+ await importAdminFederationProviders(fileData);
162
170
  succeedSpinner(`Imported providers from ${file}.`);
163
171
  outcome = true;
164
172
  } catch (error) {
@@ -188,7 +196,7 @@ export async function importAdminFederationProvidersFromFiles() {
188
196
  const fileData = JSON.parse(data);
189
197
  const count = Object.keys(fileData.idp).length;
190
198
  total += count;
191
- await frodo.cloud.adminFed.importAdminFederationProviders(fileData);
199
+ await importAdminFederationProviders(fileData);
192
200
  updateProgressBar(`Imported ${count} provider(s) from ${file}`);
193
201
  } catch (error) {
194
202
  errors.push(error);
@@ -1 +1 @@
1
- {"version":3,"file":"AdminFederationOps.js","names":["frodo","fs","createProgressBar","debugMessage","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","getTypedFilename","saveJsonToFile","listAdminFederationProviders","outcome","providers","cloud","adminFed","getAdminFederationProviders","sort","a","b","_id","localeCompare","forEach","socialIdentityProvider","err","message","exportAdminFederationProviderToFile","providerId","file","fileName","fileData","exportAdminFederationProvider","exportAdminFederationProvidersToFile","exportAdminFederationProviders","error","_error$response","response","data","exportAdminFederationProvidersToFiles","allIdpsData","length","idpData","_error$response2","importAdminFederationProviderFromFile","readFileSync","JSON","parse","importAdminFederationProvider","_error$response3","importFirstAdminFederationProviderFromFile","importFirstAdminFederationProvider","_error$response4","importAdminFederationProvidersFromFile","importAdminFederationProviders","_error$response5","importAdminFederationProvidersFromFiles","errors","names","readdirSync","files","filter","name","toLowerCase","endsWith","total","count","Object","keys","idp","push"],"sources":["ops/AdminFederationOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport {\n createProgressBar,\n debugMessage,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport { getTypedFilename, saveJsonToFile } from '../utils/ExportImportUtils';\n\n/**\n * List providers\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listAdminFederationProviders(): Promise<boolean> {\n let outcome = false;\n try {\n const providers = await frodo.cloud.adminFed.getAdminFederationProviders();\n providers.sort((a, b) => a._id.localeCompare(b._id));\n providers.forEach((socialIdentityProvider) => {\n printMessage(`${socialIdentityProvider._id}`, 'data');\n });\n outcome = true;\n } catch (err) {\n printMessage(`listAdminFederationProviders ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * Export provider by id\n * @param {string} providerId provider id/name\n * @param {string} file optional export file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportAdminFederationProviderToFile(\n providerId: string,\n file = ''\n): Promise<boolean> {\n let outcome = false;\n let fileName = file;\n if (!fileName) {\n fileName = getTypedFilename(providerId, 'admin.federation');\n }\n createProgressBar(1, `Exporting ${providerId}`);\n try {\n updateProgressBar(`Writing file ${fileName}`);\n const fileData = await frodo.cloud.adminFed.exportAdminFederationProvider(\n providerId\n );\n saveJsonToFile(fileData, fileName);\n stopProgressBar(\n `Exported ${providerId['brightCyan']} to ${fileName['brightCyan']}.`\n );\n outcome = true;\n } catch (err) {\n stopProgressBar(`${err}`);\n printMessage(`${err}`, 'error');\n }\n return outcome;\n}\n\n/**\n * Export all providers\n * @param {string} file optional export file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportAdminFederationProvidersToFile(\n file = ''\n): Promise<boolean> {\n let outcome = false;\n showSpinner(`Exporting all providers...`);\n try {\n let fileName = file;\n if (!fileName) {\n fileName = getTypedFilename(`allProviders`, 'admin.federation');\n }\n const fileData =\n await frodo.cloud.adminFed.exportAdminFederationProviders();\n saveJsonToFile(fileData, fileName);\n succeedSpinner(`Exported all providers to ${fileName}`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting all providers.`);\n printMessage(error.response?.data || error, 'error');\n }\n return outcome;\n}\n\n/**\n * Export all providers to individual files\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportAdminFederationProvidersToFiles(): Promise<boolean> {\n let outcome = false;\n try {\n const allIdpsData =\n await frodo.cloud.adminFed.getAdminFederationProviders();\n createProgressBar(allIdpsData.length, 'Exporting providers');\n for (const idpData of allIdpsData) {\n updateProgressBar(`Writing provider ${idpData._id}`);\n const fileName = getTypedFilename(idpData._id, 'admin.federation');\n const fileData = await frodo.cloud.adminFed.exportAdminFederationProvider(\n idpData._id\n );\n saveJsonToFile(fileData, fileName);\n }\n stopProgressBar(`${allIdpsData.length} providers exported.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting all providers.`);\n printMessage(error.response?.data || error, 'error');\n }\n return outcome;\n}\n\n/**\n * Import provider by id/name\n * @param {string} providerId provider id/name\n * @param {string} file import file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importAdminFederationProviderFromFile(\n providerId: string,\n file: string\n): Promise<boolean> {\n let outcome = false;\n showSpinner(`Importing provider ${providerId} from ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await frodo.cloud.adminFed.importAdminFederationProvider(\n providerId,\n fileData\n );\n succeedSpinner(\n `Successfully imported provider ${providerId} from ${file}.`\n );\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing provider ${providerId} from ${file}.`);\n printMessage(error.response?.data || error, 'error');\n }\n return outcome;\n}\n\n/**\n * Import first provider from file\n * @param {String} file import file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importFirstAdminFederationProviderFromFile(\n file: string\n): Promise<boolean> {\n let outcome = false;\n debugMessage(\n `cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: begin`\n );\n showSpinner(`Importing first provider from ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await frodo.cloud.adminFed.importFirstAdminFederationProvider(fileData);\n succeedSpinner(`Successfully imported first provider from ${file}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing first provider from ${file}.`);\n printMessage(error.response?.data || error, 'error');\n }\n debugMessage(\n `cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: end`\n );\n return outcome;\n}\n\n/**\n * Import all providers from file\n * @param {string} file import file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importAdminFederationProvidersFromFile(\n file: string\n): Promise<boolean> {\n let outcome = false;\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFile: begin`\n );\n showSpinner(`Importing providers from ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await frodo.cloud.adminFed.importAdminFederationProviders(fileData);\n succeedSpinner(`Imported providers from ${file}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error.response?.data || error, 'error');\n }\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFile: end`\n );\n return outcome;\n}\n\n/**\n * Import providers from *.idp.json files in current working directory\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importAdminFederationProvidersFromFiles(): Promise<boolean> {\n const errors = [];\n try {\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFiles: begin`\n );\n const names = fs.readdirSync('.');\n const files = names.filter((name) =>\n name.toLowerCase().endsWith('.admin.federation.json')\n );\n createProgressBar(files.length, 'Importing providers...');\n let total = 0;\n for (const file of files) {\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n const count = Object.keys(fileData.idp).length;\n total += count;\n await frodo.cloud.adminFed.importAdminFederationProviders(fileData);\n updateProgressBar(`Imported ${count} provider(s) from ${file}`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error importing provider(s) from ${file}`);\n printMessage(error, 'error');\n }\n }\n stopProgressBar(\n `Finished importing ${total} provider(s) from ${files.length} file(s).`\n );\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error importing provider(s) from file(s).`);\n printMessage(error, 'error');\n }\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFiles: end`\n );\n return 0 === errors.length;\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,OAAOC,EAAE,MAAM,IAAI;AACnB,SACEC,iBAAiB,EACjBC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,eAAe,EACfC,cAAc,EACdC,iBAAiB,QACZ,kBAAkB;AACzB,SAASC,gBAAgB,EAAEC,cAAc,QAAQ,4BAA4B;;AAE7E;AACA;AACA;AACA;AACA,OAAO,eAAeC,4BAA4BA,CAAA,EAAqB;EACrE,IAAIC,OAAO,GAAG,KAAK;EACnB,IAAI;IACF,MAAMC,SAAS,GAAG,MAAMd,KAAK,CAACe,KAAK,CAACC,QAAQ,CAACC,2BAA2B,CAAC,CAAC;IAC1EH,SAAS,CAACI,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,GAAG,CAACC,aAAa,CAACF,CAAC,CAACC,GAAG,CAAC,CAAC;IACpDP,SAAS,CAACS,OAAO,CAAEC,sBAAsB,IAAK;MAC5CnB,YAAY,CAAE,GAAEmB,sBAAsB,CAACH,GAAI,EAAC,EAAE,MAAM,CAAC;IACvD,CAAC,CAAC;IACFR,OAAO,GAAG,IAAI;EAChB,CAAC,CAAC,OAAOY,GAAG,EAAE;IACZpB,YAAY,CAAE,uCAAsCoB,GAAG,CAACC,OAAQ,EAAC,EAAE,OAAO,CAAC;IAC3ErB,YAAY,CAACoB,GAAG,EAAE,OAAO,CAAC;EAC5B;EACA,OAAOZ,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAec,mCAAmCA,CACvDC,UAAkB,EAClBC,IAAI,GAAG,EAAE,EACS;EAClB,IAAIhB,OAAO,GAAG,KAAK;EACnB,IAAIiB,QAAQ,GAAGD,IAAI;EACnB,IAAI,CAACC,QAAQ,EAAE;IACbA,QAAQ,GAAGpB,gBAAgB,CAACkB,UAAU,EAAE,kBAAkB,CAAC;EAC7D;EACA1B,iBAAiB,CAAC,CAAC,EAAG,aAAY0B,UAAW,EAAC,CAAC;EAC/C,IAAI;IACFnB,iBAAiB,CAAE,gBAAeqB,QAAS,EAAC,CAAC;IAC7C,MAAMC,QAAQ,GAAG,MAAM/B,KAAK,CAACe,KAAK,CAACC,QAAQ,CAACgB,6BAA6B,CACvEJ,UACF,CAAC;IACDjB,cAAc,CAACoB,QAAQ,EAAED,QAAQ,CAAC;IAClCvB,eAAe,CACZ,YAAWqB,UAAU,CAAC,YAAY,CAAE,OAAME,QAAQ,CAAC,YAAY,CAAE,GACpE,CAAC;IACDjB,OAAO,GAAG,IAAI;EAChB,CAAC,CAAC,OAAOY,GAAG,EAAE;IACZlB,eAAe,CAAE,GAAEkB,GAAI,EAAC,CAAC;IACzBpB,YAAY,CAAE,GAAEoB,GAAI,EAAC,EAAE,OAAO,CAAC;EACjC;EACA,OAAOZ,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeoB,oCAAoCA,CACxDJ,IAAI,GAAG,EAAE,EACS;EAClB,IAAIhB,OAAO,GAAG,KAAK;EACnBP,WAAW,CAAE,4BAA2B,CAAC;EACzC,IAAI;IACF,IAAIwB,QAAQ,GAAGD,IAAI;IACnB,IAAI,CAACC,QAAQ,EAAE;MACbA,QAAQ,GAAGpB,gBAAgB,CAAE,cAAa,EAAE,kBAAkB,CAAC;IACjE;IACA,MAAMqB,QAAQ,GACZ,MAAM/B,KAAK,CAACe,KAAK,CAACC,QAAQ,CAACkB,8BAA8B,CAAC,CAAC;IAC7DvB,cAAc,CAACoB,QAAQ,EAAED,QAAQ,CAAC;IAClCtB,cAAc,CAAE,6BAA4BsB,QAAS,EAAC,CAAC;IACvDjB,OAAO,GAAG,IAAI;EAChB,CAAC,CAAC,OAAOsB,KAAK,EAAE;IAAA,IAAAC,eAAA;IACdhC,WAAW,CAAE,gCAA+B,CAAC;IAC7CC,YAAY,CAAC,EAAA+B,eAAA,GAAAD,KAAK,CAACE,QAAQ,cAAAD,eAAA,uBAAdA,eAAA,CAAgBE,IAAI,KAAIH,KAAK,EAAE,OAAO,CAAC;EACtD;EACA,OAAOtB,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAe0B,qCAAqCA,CAAA,EAAqB;EAC9E,IAAI1B,OAAO,GAAG,KAAK;EACnB,IAAI;IACF,MAAM2B,WAAW,GACf,MAAMxC,KAAK,CAACe,KAAK,CAACC,QAAQ,CAACC,2BAA2B,CAAC,CAAC;IAC1Df,iBAAiB,CAACsC,WAAW,CAACC,MAAM,EAAE,qBAAqB,CAAC;IAC5D,KAAK,MAAMC,OAAO,IAAIF,WAAW,EAAE;MACjC/B,iBAAiB,CAAE,oBAAmBiC,OAAO,CAACrB,GAAI,EAAC,CAAC;MACpD,MAAMS,QAAQ,GAAGpB,gBAAgB,CAACgC,OAAO,CAACrB,GAAG,EAAE,kBAAkB,CAAC;MAClE,MAAMU,QAAQ,GAAG,MAAM/B,KAAK,CAACe,KAAK,CAACC,QAAQ,CAACgB,6BAA6B,CACvEU,OAAO,CAACrB,GACV,CAAC;MACDV,cAAc,CAACoB,QAAQ,EAAED,QAAQ,CAAC;IACpC;IACAvB,eAAe,CAAE,GAAEiC,WAAW,CAACC,MAAO,sBAAqB,CAAC;IAC5D5B,OAAO,GAAG,IAAI;EAChB,CAAC,CAAC,OAAOsB,KAAK,EAAE;IAAA,IAAAQ,gBAAA;IACdvC,WAAW,CAAE,gCAA+B,CAAC;IAC7CC,YAAY,CAAC,EAAAsC,gBAAA,GAAAR,KAAK,CAACE,QAAQ,cAAAM,gBAAA,uBAAdA,gBAAA,CAAgBL,IAAI,KAAIH,KAAK,EAAE,OAAO,CAAC;EACtD;EACA,OAAOtB,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe+B,qCAAqCA,CACzDhB,UAAkB,EAClBC,IAAY,EACM;EAClB,IAAIhB,OAAO,GAAG,KAAK;EACnBP,WAAW,CAAE,sBAAqBsB,UAAW,SAAQC,IAAK,KAAI,CAAC;EAC/D,IAAI;IACF,MAAMS,IAAI,GAAGrC,EAAE,CAAC4C,YAAY,CAAChB,IAAI,EAAE,MAAM,CAAC;IAC1C,MAAME,QAAQ,GAAGe,IAAI,CAACC,KAAK,CAACT,IAAI,CAAC;IACjC,MAAMtC,KAAK,CAACe,KAAK,CAACC,QAAQ,CAACgC,6BAA6B,CACtDpB,UAAU,EACVG,QACF,CAAC;IACDvB,cAAc,CACX,kCAAiCoB,UAAW,SAAQC,IAAK,GAC5D,CAAC;IACDhB,OAAO,GAAG,IAAI;EAChB,CAAC,CAAC,OAAOsB,KAAK,EAAE;IAAA,IAAAc,gBAAA;IACd7C,WAAW,CAAE,4BAA2BwB,UAAW,SAAQC,IAAK,GAAE,CAAC;IACnExB,YAAY,CAAC,EAAA4C,gBAAA,GAAAd,KAAK,CAACE,QAAQ,cAAAY,gBAAA,uBAAdA,gBAAA,CAAgBX,IAAI,KAAIH,KAAK,EAAE,OAAO,CAAC;EACtD;EACA,OAAOtB,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeqC,0CAA0CA,CAC9DrB,IAAY,EACM;EAClB,IAAIhB,OAAO,GAAG,KAAK;EACnBV,YAAY,CACT,0EACH,CAAC;EACDG,WAAW,CAAE,iCAAgCuB,IAAK,KAAI,CAAC;EACvD,IAAI;IACF,MAAMS,IAAI,GAAGrC,EAAE,CAAC4C,YAAY,CAAChB,IAAI,EAAE,MAAM,CAAC;IAC1C,MAAME,QAAQ,GAAGe,IAAI,CAACC,KAAK,CAACT,IAAI,CAAC;IACjC,MAAMtC,KAAK,CAACe,KAAK,CAACC,QAAQ,CAACmC,kCAAkC,CAACpB,QAAQ,CAAC;IACvEvB,cAAc,CAAE,6CAA4CqB,IAAK,GAAE,CAAC;IACpEhB,OAAO,GAAG,IAAI;EAChB,CAAC,CAAC,OAAOsB,KAAK,EAAE;IAAA,IAAAiB,gBAAA;IACdhD,WAAW,CAAE,uCAAsCyB,IAAK,GAAE,CAAC;IAC3DxB,YAAY,CAAC,EAAA+C,gBAAA,GAAAjB,KAAK,CAACE,QAAQ,cAAAe,gBAAA,uBAAdA,gBAAA,CAAgBd,IAAI,KAAIH,KAAK,EAAE,OAAO,CAAC;EACtD;EACAhC,YAAY,CACT,wEACH,CAAC;EACD,OAAOU,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAewC,sCAAsCA,CAC1DxB,IAAY,EACM;EAClB,IAAIhB,OAAO,GAAG,KAAK;EACnBV,YAAY,CACT,sEACH,CAAC;EACDG,WAAW,CAAE,4BAA2BuB,IAAK,KAAI,CAAC;EAClD,IAAI;IACF,MAAMS,IAAI,GAAGrC,EAAE,CAAC4C,YAAY,CAAChB,IAAI,EAAE,MAAM,CAAC;IAC1C,MAAME,QAAQ,GAAGe,IAAI,CAACC,KAAK,CAACT,IAAI,CAAC;IACjC,MAAMtC,KAAK,CAACe,KAAK,CAACC,QAAQ,CAACsC,8BAA8B,CAACvB,QAAQ,CAAC;IACnEvB,cAAc,CAAE,2BAA0BqB,IAAK,GAAE,CAAC;IAClDhB,OAAO,GAAG,IAAI;EAChB,CAAC,CAAC,OAAOsB,KAAK,EAAE;IAAA,IAAAoB,gBAAA;IACdnD,WAAW,CAAE,mBAAkByB,IAAK,GAAE,CAAC;IACvCxB,YAAY,CAAC,EAAAkD,gBAAA,GAAApB,KAAK,CAACE,QAAQ,cAAAkB,gBAAA,uBAAdA,gBAAA,CAAgBjB,IAAI,KAAIH,KAAK,EAAE,OAAO,CAAC;EACtD;EACAhC,YAAY,CACT,oEACH,CAAC;EACD,OAAOU,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAe2C,uCAAuCA,CAAA,EAAqB;EAChF,MAAMC,MAAM,GAAG,EAAE;EACjB,IAAI;IACFtD,YAAY,CACT,uEACH,CAAC;IACD,MAAMuD,KAAK,GAAGzD,EAAE,CAAC0D,WAAW,CAAC,GAAG,CAAC;IACjC,MAAMC,KAAK,GAAGF,KAAK,CAACG,MAAM,CAAEC,IAAI,IAC9BA,IAAI,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,wBAAwB,CACtD,CAAC;IACD9D,iBAAiB,CAAC0D,KAAK,CAACnB,MAAM,EAAE,wBAAwB,CAAC;IACzD,IAAIwB,KAAK,GAAG,CAAC;IACb,KAAK,MAAMpC,IAAI,IAAI+B,KAAK,EAAE;MACxB,IAAI;QACF,MAAMtB,IAAI,GAAGrC,EAAE,CAAC4C,YAAY,CAAChB,IAAI,EAAE,MAAM,CAAC;QAC1C,MAAME,QAAQ,GAAGe,IAAI,CAACC,KAAK,CAACT,IAAI,CAAC;QACjC,MAAM4B,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACrC,QAAQ,CAACsC,GAAG,CAAC,CAAC5B,MAAM;QAC9CwB,KAAK,IAAIC,KAAK;QACd,MAAMlE,KAAK,CAACe,KAAK,CAACC,QAAQ,CAACsC,8BAA8B,CAACvB,QAAQ,CAAC;QACnEtB,iBAAiB,CAAE,YAAWyD,KAAM,qBAAoBrC,IAAK,EAAC,CAAC;MACjE,CAAC,CAAC,OAAOM,KAAK,EAAE;QACdsB,MAAM,CAACa,IAAI,CAACnC,KAAK,CAAC;QAClB1B,iBAAiB,CAAE,oCAAmCoB,IAAK,EAAC,CAAC;QAC7DxB,YAAY,CAAC8B,KAAK,EAAE,OAAO,CAAC;MAC9B;IACF;IACA5B,eAAe,CACZ,sBAAqB0D,KAAM,qBAAoBL,KAAK,CAACnB,MAAO,WAC/D,CAAC;EACH,CAAC,CAAC,OAAON,KAAK,EAAE;IACdsB,MAAM,CAACa,IAAI,CAACnC,KAAK,CAAC;IAClB5B,eAAe,CAAE,2CAA0C,CAAC;IAC5DF,YAAY,CAAC8B,KAAK,EAAE,OAAO,CAAC;EAC9B;EACAhC,YAAY,CACT,qEACH,CAAC;EACD,OAAO,CAAC,KAAKsD,MAAM,CAAChB,MAAM;AAC5B"}
1
+ {"version":3,"file":"AdminFederationOps.js","names":["frodo","fs","createProgressBar","debugMessage","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","getTypedFilename","saveJsonToFile","getAdminFederationProviders","exportAdminFederationProvider","exportAdminFederationProviders","importAdminFederationProvider","importAdminFederationProviders","importFirstAdminFederationProvider","cloud","adminFed","listAdminFederationProviders","outcome","providers","sort","a","b","_id","localeCompare","forEach","socialIdentityProvider","err","message","exportAdminFederationProviderToFile","providerId","file","fileName","fileData","exportAdminFederationProvidersToFile","error","_error$response","response","data","exportAdminFederationProvidersToFiles","allIdpsData","length","idpData","_error$response2","importAdminFederationProviderFromFile","readFileSync","JSON","parse","_error$response3","importFirstAdminFederationProviderFromFile","_error$response4","importAdminFederationProvidersFromFile","_error$response5","importAdminFederationProvidersFromFiles","errors","names","readdirSync","files","filter","name","toLowerCase","endsWith","total","count","Object","keys","idp","push"],"sources":["ops/AdminFederationOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport {\n createProgressBar,\n debugMessage,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport { getTypedFilename, saveJsonToFile } from '../utils/ExportImportUtils';\n\nconst {\n getAdminFederationProviders,\n exportAdminFederationProvider,\n exportAdminFederationProviders,\n importAdminFederationProvider,\n importAdminFederationProviders,\n importFirstAdminFederationProvider,\n} = frodo.cloud.adminFed;\n\n/**\n * List providers\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listAdminFederationProviders(): Promise<boolean> {\n let outcome = false;\n try {\n const providers = await getAdminFederationProviders();\n providers.sort((a, b) => a._id.localeCompare(b._id));\n providers.forEach((socialIdentityProvider) => {\n printMessage(`${socialIdentityProvider._id}`, 'data');\n });\n outcome = true;\n } catch (err) {\n printMessage(`listAdminFederationProviders ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * Export provider by id\n * @param {string} providerId provider id/name\n * @param {string} file optional export file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportAdminFederationProviderToFile(\n providerId: string,\n file = ''\n): Promise<boolean> {\n let outcome = false;\n let fileName = file;\n if (!fileName) {\n fileName = getTypedFilename(providerId, 'admin.federation');\n }\n createProgressBar(1, `Exporting ${providerId}`);\n try {\n updateProgressBar(`Writing file ${fileName}`);\n const fileData = await exportAdminFederationProvider(providerId);\n saveJsonToFile(fileData, fileName);\n stopProgressBar(\n `Exported ${providerId['brightCyan']} to ${fileName['brightCyan']}.`\n );\n outcome = true;\n } catch (err) {\n stopProgressBar(`${err}`);\n printMessage(`${err}`, 'error');\n }\n return outcome;\n}\n\n/**\n * Export all providers\n * @param {string} file optional export file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportAdminFederationProvidersToFile(\n file = ''\n): Promise<boolean> {\n let outcome = false;\n showSpinner(`Exporting all providers...`);\n try {\n let fileName = file;\n if (!fileName) {\n fileName = getTypedFilename(`allProviders`, 'admin.federation');\n }\n const fileData = await exportAdminFederationProviders();\n saveJsonToFile(fileData, fileName);\n succeedSpinner(`Exported all providers to ${fileName}`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting all providers.`);\n printMessage(error.response?.data || error, 'error');\n }\n return outcome;\n}\n\n/**\n * Export all providers to individual files\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportAdminFederationProvidersToFiles(): Promise<boolean> {\n let outcome = false;\n try {\n const allIdpsData = await getAdminFederationProviders();\n createProgressBar(allIdpsData.length, 'Exporting providers');\n for (const idpData of allIdpsData) {\n updateProgressBar(`Writing provider ${idpData._id}`);\n const fileName = getTypedFilename(idpData._id, 'admin.federation');\n const fileData = await exportAdminFederationProvider(idpData._id);\n saveJsonToFile(fileData, fileName);\n }\n stopProgressBar(`${allIdpsData.length} providers exported.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting all providers.`);\n printMessage(error.response?.data || error, 'error');\n }\n return outcome;\n}\n\n/**\n * Import provider by id/name\n * @param {string} providerId provider id/name\n * @param {string} file import file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importAdminFederationProviderFromFile(\n providerId: string,\n file: string\n): Promise<boolean> {\n let outcome = false;\n showSpinner(`Importing provider ${providerId} from ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importAdminFederationProvider(providerId, fileData);\n succeedSpinner(\n `Successfully imported provider ${providerId} from ${file}.`\n );\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing provider ${providerId} from ${file}.`);\n printMessage(error.response?.data || error, 'error');\n }\n return outcome;\n}\n\n/**\n * Import first provider from file\n * @param {String} file import file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importFirstAdminFederationProviderFromFile(\n file: string\n): Promise<boolean> {\n let outcome = false;\n debugMessage(\n `cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: begin`\n );\n showSpinner(`Importing first provider from ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importFirstAdminFederationProvider(fileData);\n succeedSpinner(`Successfully imported first provider from ${file}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing first provider from ${file}.`);\n printMessage(error.response?.data || error, 'error');\n }\n debugMessage(\n `cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: end`\n );\n return outcome;\n}\n\n/**\n * Import all providers from file\n * @param {string} file import file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importAdminFederationProvidersFromFile(\n file: string\n): Promise<boolean> {\n let outcome = false;\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFile: begin`\n );\n showSpinner(`Importing providers from ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importAdminFederationProviders(fileData);\n succeedSpinner(`Imported providers from ${file}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error.response?.data || error, 'error');\n }\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFile: end`\n );\n return outcome;\n}\n\n/**\n * Import providers from *.idp.json files in current working directory\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importAdminFederationProvidersFromFiles(): Promise<boolean> {\n const errors = [];\n try {\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFiles: begin`\n );\n const names = fs.readdirSync('.');\n const files = names.filter((name) =>\n name.toLowerCase().endsWith('.admin.federation.json')\n );\n createProgressBar(files.length, 'Importing providers...');\n let total = 0;\n for (const file of files) {\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n const count = Object.keys(fileData.idp).length;\n total += count;\n await importAdminFederationProviders(fileData);\n updateProgressBar(`Imported ${count} provider(s) from ${file}`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error importing provider(s) from ${file}`);\n printMessage(error, 'error');\n }\n }\n stopProgressBar(\n `Finished importing ${total} provider(s) from ${files.length} file(s).`\n );\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error importing provider(s) from file(s).`);\n printMessage(error, 'error');\n }\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFiles: end`\n );\n return 0 === errors.length;\n}\n"],"mappings":"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"}
@@ -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');