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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/CHANGELOG.md +275 -4
  2. package/esm/app.js +20 -5
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +28 -6
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +7 -4
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -4
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -4
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -4
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +7 -4
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -4
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -4
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +1 -1
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +7 -4
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -4
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -4
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -4
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -4
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +7 -4
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -4
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -4
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +1 -1
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +2 -2
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -4
  43. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  44. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +14 -7
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-export.js +45 -0
  47. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-import.js +49 -0
  49. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-list.js +29 -0
  51. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  52. package/esm/cli/admin/admin-federation.js +13 -0
  53. package/esm/cli/admin/admin-federation.js.map +1 -0
  54. package/esm/cli/admin/admin-get-access-token.js +12 -6
  55. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  56. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -7
  57. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -5
  59. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  60. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +11 -5
  61. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +11 -5
  63. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-list-static-user-mappings.js +12 -6
  65. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  66. package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -5
  67. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  68. package/esm/cli/admin/admin-repair-org-model.js +11 -5
  69. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  70. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -6
  71. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  72. package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -5
  73. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  74. package/esm/cli/admin/admin-train-auto-access-model.js +33 -0
  75. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -0
  76. package/esm/cli/admin/admin.js +6 -2
  77. package/esm/cli/admin/admin.js.map +1 -1
  78. package/esm/cli/agent/agent-delete.js +13 -6
  79. package/esm/cli/agent/agent-delete.js.map +1 -1
  80. package/esm/cli/agent/agent-describe.js +7 -4
  81. package/esm/cli/agent/agent-describe.js.map +1 -1
  82. package/esm/cli/agent/agent-export.js +8 -5
  83. package/esm/cli/agent/agent-export.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-delete.js +13 -6
  85. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  86. package/esm/cli/agent/agent-gateway-describe.js +7 -4
  87. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-export.js +8 -5
  89. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-import.js +8 -5
  91. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway-list.js +7 -4
  93. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  94. package/esm/cli/agent/agent-gateway.js +1 -1
  95. package/esm/cli/agent/agent-gateway.js.map +1 -1
  96. package/esm/cli/agent/agent-import.js +8 -5
  97. package/esm/cli/agent/agent-import.js.map +1 -1
  98. package/esm/cli/agent/agent-java-delete.js +13 -6
  99. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  100. package/esm/cli/agent/agent-java-describe.js +7 -4
  101. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  102. package/esm/cli/agent/agent-java-export.js +8 -5
  103. package/esm/cli/agent/agent-java-export.js.map +1 -1
  104. package/esm/cli/agent/agent-java-import.js +8 -5
  105. package/esm/cli/agent/agent-java-import.js.map +1 -1
  106. package/esm/cli/agent/agent-java-list.js +7 -4
  107. package/esm/cli/agent/agent-java-list.js.map +1 -1
  108. package/esm/cli/agent/agent-java.js +1 -1
  109. package/esm/cli/agent/agent-java.js.map +1 -1
  110. package/esm/cli/agent/agent-list.js +7 -4
  111. package/esm/cli/agent/agent-list.js.map +1 -1
  112. package/esm/cli/agent/agent-web-delete.js +13 -6
  113. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  114. package/esm/cli/agent/agent-web-describe.js +7 -4
  115. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  116. package/esm/cli/agent/agent-web-export.js +8 -5
  117. package/esm/cli/agent/agent-web-export.js.map +1 -1
  118. package/esm/cli/agent/agent-web-import.js +8 -5
  119. package/esm/cli/agent/agent-web-import.js.map +1 -1
  120. package/esm/cli/agent/agent-web-list.js +7 -4
  121. package/esm/cli/agent/agent-web-list.js.map +1 -1
  122. package/esm/cli/agent/agent-web.js +3 -3
  123. package/esm/cli/agent/agent-web.js.map +1 -1
  124. package/esm/cli/agent/agent.js +2 -2
  125. package/esm/cli/agent/agent.js.map +1 -1
  126. package/esm/cli/app/app-delete.js +27 -8
  127. package/esm/cli/app/app-delete.js.map +1 -1
  128. package/esm/cli/app/app-describe.js +9 -5
  129. package/esm/cli/app/app-describe.js.map +1 -1
  130. package/esm/cli/app/app-export.js +17 -13
  131. package/esm/cli/app/app-export.js.map +1 -1
  132. package/esm/cli/app/app-import.js +21 -17
  133. package/esm/cli/app/app-import.js.map +1 -1
  134. package/esm/cli/app/app-list.js +12 -8
  135. package/esm/cli/app/app-list.js.map +1 -1
  136. package/esm/cli/app/app.js +8 -12
  137. package/esm/cli/app/app.js.map +1 -1
  138. package/esm/cli/authn/authn-describe.js +30 -0
  139. package/esm/cli/authn/authn-describe.js.map +1 -0
  140. package/esm/cli/authn/authn-export.js +26 -0
  141. package/esm/cli/authn/authn-export.js.map +1 -0
  142. package/esm/cli/authn/authn-import.js +26 -0
  143. package/esm/cli/authn/authn-import.js.map +1 -0
  144. package/esm/cli/authn/authn.js +12 -0
  145. package/esm/cli/authn/authn.js.map +1 -0
  146. package/esm/cli/authz/authz-policy-delete.js +11 -8
  147. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  148. package/esm/cli/authz/authz-policy-describe.js +8 -5
  149. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  150. package/esm/cli/authz/authz-policy-export.js +12 -9
  151. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  152. package/esm/cli/authz/authz-policy-import.js +10 -7
  153. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  154. package/esm/cli/authz/authz-policy-list.js +9 -6
  155. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  156. package/esm/cli/authz/authz-policy.js +1 -1
  157. package/esm/cli/authz/authz-policy.js.map +1 -1
  158. package/esm/cli/authz/authz-set-delete.js +10 -7
  159. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  160. package/esm/cli/authz/authz-set-describe.js +8 -5
  161. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  162. package/esm/cli/authz/authz-set-export.js +10 -7
  163. package/esm/cli/authz/authz-set-export.js.map +1 -1
  164. package/esm/cli/authz/authz-set-import.js +10 -7
  165. package/esm/cli/authz/authz-set-import.js.map +1 -1
  166. package/esm/cli/authz/authz-set-list.js +7 -4
  167. package/esm/cli/authz/authz-set-list.js.map +1 -1
  168. package/esm/cli/authz/authz-set.js +1 -1
  169. package/esm/cli/authz/authz-set.js.map +1 -1
  170. package/esm/cli/authz/authz-type-delete.js +12 -9
  171. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  172. package/esm/cli/authz/authz-type-describe.js +9 -6
  173. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  174. package/esm/cli/authz/authz-type-export.js +11 -8
  175. package/esm/cli/authz/authz-type-export.js.map +1 -1
  176. package/esm/cli/authz/authz-type-import.js +12 -9
  177. package/esm/cli/authz/authz-type-import.js.map +1 -1
  178. package/esm/cli/authz/authz-type-list.js +8 -5
  179. package/esm/cli/authz/authz-type-list.js.map +1 -1
  180. package/esm/cli/authz/authz-type.js +1 -1
  181. package/esm/cli/authz/authz-type.js.map +1 -1
  182. package/esm/cli/authz/authz.js +2 -2
  183. package/esm/cli/authz/authz.js.map +1 -1
  184. package/esm/cli/conn/conn-delete.js +2 -2
  185. package/esm/cli/conn/conn-delete.js.map +1 -1
  186. package/esm/cli/conn/conn-describe.js +2 -2
  187. package/esm/cli/conn/conn-describe.js.map +1 -1
  188. package/esm/cli/conn/conn-list.js +2 -2
  189. package/esm/cli/conn/conn-list.js.map +1 -1
  190. package/esm/cli/conn/conn-save.js +31 -15
  191. package/esm/cli/conn/conn-save.js.map +1 -1
  192. package/esm/cli/conn/conn.js +2 -2
  193. package/esm/cli/conn/conn.js.map +1 -1
  194. package/esm/cli/email/email-template-export.js +10 -7
  195. package/esm/cli/email/email-template-export.js.map +1 -1
  196. package/esm/cli/email/email-template-import.js +11 -8
  197. package/esm/cli/email/email-template-import.js.map +1 -1
  198. package/esm/cli/email/email-template-list.js +8 -5
  199. package/esm/cli/email/email-template-list.js.map +1 -1
  200. package/esm/cli/email/email-template.js +1 -1
  201. package/esm/cli/email/email-template.js.map +1 -1
  202. package/esm/cli/email/email.js +2 -2
  203. package/esm/cli/email/email.js.map +1 -1
  204. package/esm/cli/esv/esv-apply.js +18 -8
  205. package/esm/cli/esv/esv-apply.js.map +1 -1
  206. package/esm/cli/esv/esv-secret-create.js +8 -5
  207. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  208. package/esm/cli/esv/esv-secret-delete.js +9 -6
  209. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  210. package/esm/cli/esv/esv-secret-describe.js +8 -5
  211. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  212. package/esm/cli/esv/esv-secret-export.js +19 -5
  213. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  214. package/esm/cli/esv/esv-secret-import.js +7 -4
  215. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  216. package/esm/cli/esv/esv-secret-list.js +8 -5
  217. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  218. package/esm/cli/esv/esv-secret-set.js +8 -5
  219. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  220. package/esm/cli/esv/esv-secret-version-activate.js +8 -5
  221. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  222. package/esm/cli/esv/esv-secret-version-create.js +9 -6
  223. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  224. package/esm/cli/esv/esv-secret-version-deactivate.js +8 -5
  225. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  226. package/esm/cli/esv/esv-secret-version-delete.js +9 -6
  227. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  228. package/esm/cli/esv/esv-secret-version-list.js +8 -5
  229. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  230. package/esm/cli/esv/esv-secret-version.js +1 -1
  231. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  232. package/esm/cli/esv/esv-secret.js +2 -3
  233. package/esm/cli/esv/esv-secret.js.map +1 -1
  234. package/esm/cli/esv/esv-variable-create.js +10 -6
  235. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  236. package/esm/cli/esv/esv-variable-delete.js +10 -7
  237. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  238. package/esm/cli/esv/esv-variable-describe.js +10 -7
  239. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  240. package/esm/cli/esv/esv-variable-export.js +20 -6
  241. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  242. package/esm/cli/esv/esv-variable-import.js +7 -4
  243. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  244. package/esm/cli/esv/esv-variable-list.js +8 -5
  245. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  246. package/esm/cli/esv/esv-variable-set.js +8 -5
  247. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  248. package/esm/cli/esv/esv-variable.js +2 -3
  249. package/esm/cli/esv/esv-variable.js.map +1 -1
  250. package/esm/cli/esv/esv.js +2 -2
  251. package/esm/cli/esv/esv.js.map +1 -1
  252. package/esm/cli/idm/idm-count.js +9 -6
  253. package/esm/cli/idm/idm-count.js.map +1 -1
  254. package/esm/cli/idm/idm-export.js +21 -12
  255. package/esm/cli/idm/idm-export.js.map +1 -1
  256. package/esm/cli/idm/idm-import.js +22 -13
  257. package/esm/cli/idm/idm-import.js.map +1 -1
  258. package/esm/cli/idm/idm-list.js +7 -4
  259. package/esm/cli/idm/idm-list.js.map +1 -1
  260. package/esm/cli/idm/idm.js +2 -2
  261. package/esm/cli/idm/idm.js.map +1 -1
  262. package/esm/cli/idp/idp-export.js +11 -8
  263. package/esm/cli/idp/idp-export.js.map +1 -1
  264. package/esm/cli/idp/idp-import.js +15 -12
  265. package/esm/cli/idp/idp-import.js.map +1 -1
  266. package/esm/cli/idp/idp-list.js +7 -4
  267. package/esm/cli/idp/idp-list.js.map +1 -1
  268. package/esm/cli/idp/idp.js +2 -2
  269. package/esm/cli/idp/idp.js.map +1 -1
  270. package/esm/cli/info/info.js +16 -10
  271. package/esm/cli/info/info.js.map +1 -1
  272. package/esm/cli/journey/journey-delete.js +8 -5
  273. package/esm/cli/journey/journey-delete.js.map +1 -1
  274. package/esm/cli/journey/journey-describe.js +19 -10
  275. package/esm/cli/journey/journey-describe.js.map +1 -1
  276. package/esm/cli/journey/journey-disable.js +12 -6
  277. package/esm/cli/journey/journey-disable.js.map +1 -1
  278. package/esm/cli/journey/journey-enable.js +12 -6
  279. package/esm/cli/journey/journey-enable.js.map +1 -1
  280. package/esm/cli/journey/journey-export.js +21 -9
  281. package/esm/cli/journey/journey-export.js.map +1 -1
  282. package/esm/cli/journey/journey-import.js +11 -8
  283. package/esm/cli/journey/journey-import.js.map +1 -1
  284. package/esm/cli/journey/journey-list.js +6 -3
  285. package/esm/cli/journey/journey-list.js.map +1 -1
  286. package/esm/cli/journey/journey-prune.js +23 -12
  287. package/esm/cli/journey/journey-prune.js.map +1 -1
  288. package/esm/cli/journey/journey.js +2 -2
  289. package/esm/cli/journey/journey.js.map +1 -1
  290. package/esm/cli/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
  291. package/esm/cli/log/log-fetch.js.map +1 -0
  292. package/esm/cli/log/log-key-delete.js +35 -0
  293. package/esm/cli/log/log-key-delete.js.map +1 -0
  294. package/esm/cli/log/log-key-describe.js +22 -0
  295. package/esm/cli/log/log-key-describe.js.map +1 -0
  296. package/esm/cli/log/log-key-list.js +26 -0
  297. package/esm/cli/log/log-key-list.js.map +1 -0
  298. package/esm/cli/log/log-key.js +8 -0
  299. package/esm/cli/log/log-key.js.map +1 -0
  300. package/esm/cli/log/log-list.js +80 -0
  301. package/esm/cli/log/log-list.js.map +1 -0
  302. package/esm/cli/log/log-tail.js +77 -0
  303. package/esm/cli/log/log-tail.js.map +1 -0
  304. package/esm/cli/{logging/logs.js → log/log.js} +6 -3
  305. package/esm/cli/log/log.js.map +1 -0
  306. package/esm/cli/oauth/oauth-client-delete.js +22 -0
  307. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  308. package/esm/cli/oauth/oauth-client-describe.js +22 -0
  309. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  310. package/esm/cli/oauth/oauth-client-export.js +52 -0
  311. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  312. package/esm/cli/oauth/oauth-client-import.js +57 -0
  313. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  314. package/esm/cli/oauth/oauth-client-list.js +25 -0
  315. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  316. package/esm/cli/oauth/oauth-client.js +14 -0
  317. package/esm/cli/oauth/oauth-client.js.map +1 -0
  318. package/esm/cli/oauth/oauth.js +13 -0
  319. package/esm/cli/oauth/oauth.js.map +1 -0
  320. package/esm/cli/realm/realm-add-custom-domain.js +8 -5
  321. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  322. package/esm/cli/realm/realm-describe.js +8 -5
  323. package/esm/cli/realm/realm-describe.js.map +1 -1
  324. package/esm/cli/realm/realm-list.js +8 -5
  325. package/esm/cli/realm/realm-list.js.map +1 -1
  326. package/esm/cli/realm/realm-remove-custom-domain.js +11 -5
  327. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  328. package/esm/cli/realm/realm.js +2 -2
  329. package/esm/cli/realm/realm.js.map +1 -1
  330. package/esm/cli/saml/saml-cot-export.js +10 -7
  331. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  332. package/esm/cli/saml/saml-cot-import.js +15 -12
  333. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  334. package/esm/cli/saml/saml-cot-list.js +8 -5
  335. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  336. package/esm/cli/saml/saml-cot.js +1 -1
  337. package/esm/cli/saml/saml-cot.js.map +1 -1
  338. package/esm/cli/saml/saml-delete.js +14 -7
  339. package/esm/cli/saml/saml-delete.js.map +1 -1
  340. package/esm/cli/saml/saml-describe.js +8 -5
  341. package/esm/cli/saml/saml-describe.js.map +1 -1
  342. package/esm/cli/saml/saml-export.js +10 -7
  343. package/esm/cli/saml/saml-export.js.map +1 -1
  344. package/esm/cli/saml/saml-import.js +11 -8
  345. package/esm/cli/saml/saml-import.js.map +1 -1
  346. package/esm/cli/saml/saml-list.js +8 -5
  347. package/esm/cli/saml/saml-list.js.map +1 -1
  348. package/esm/cli/saml/saml-metadata-export.js +9 -6
  349. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  350. package/esm/cli/saml/saml-metadata.js +1 -1
  351. package/esm/cli/saml/saml-metadata.js.map +1 -1
  352. package/esm/cli/saml/saml.js +2 -2
  353. package/esm/cli/saml/saml.js.map +1 -1
  354. package/esm/cli/script/script-delete.js +7 -4
  355. package/esm/cli/script/script-delete.js.map +1 -1
  356. package/esm/cli/script/script-describe.js +7 -4
  357. package/esm/cli/script/script-describe.js.map +1 -1
  358. package/esm/cli/script/script-export.js +8 -5
  359. package/esm/cli/script/script-export.js.map +1 -1
  360. package/esm/cli/script/script-import.js +9 -6
  361. package/esm/cli/script/script-import.js.map +1 -1
  362. package/esm/cli/script/script-list.js +8 -5
  363. package/esm/cli/script/script-list.js.map +1 -1
  364. package/esm/cli/script/script.js +2 -2
  365. package/esm/cli/script/script.js.map +1 -1
  366. package/esm/cli/service/service-delete.js +8 -5
  367. package/esm/cli/service/service-delete.js.map +1 -1
  368. package/esm/cli/service/service-export.js +9 -6
  369. package/esm/cli/service/service-export.js.map +1 -1
  370. package/esm/cli/service/service-import.js +11 -9
  371. package/esm/cli/service/service-import.js.map +1 -1
  372. package/esm/cli/service/service-list.js +7 -4
  373. package/esm/cli/service/service-list.js.map +1 -1
  374. package/esm/cli/service/service.js +2 -2
  375. package/esm/cli/service/service.js.map +1 -1
  376. package/esm/cli/shell/shell.js +57 -0
  377. package/esm/cli/shell/shell.js.map +1 -0
  378. package/esm/cli/theme/theme-delete.js +10 -7
  379. package/esm/cli/theme/theme-delete.js.map +1 -1
  380. package/esm/cli/theme/theme-export.js +11 -8
  381. package/esm/cli/theme/theme-export.js.map +1 -1
  382. package/esm/cli/theme/theme-import.js +12 -9
  383. package/esm/cli/theme/theme-import.js.map +1 -1
  384. package/esm/cli/theme/theme-list.js +7 -4
  385. package/esm/cli/theme/theme-list.js.map +1 -1
  386. package/esm/cli/theme/theme.js +2 -2
  387. package/esm/cli/theme/theme.js.map +1 -1
  388. package/esm/help/SampleData.js +7 -0
  389. package/esm/help/SampleData.js.map +1 -0
  390. package/esm/launch.js +1 -1
  391. package/esm/launch.js.map +1 -1
  392. package/esm/loader.js +2 -2
  393. package/esm/loader.js.map +1 -1
  394. package/esm/ops/AdminFederationOps.js +225 -0
  395. package/esm/ops/AdminFederationOps.js.map +1 -0
  396. package/esm/ops/AgentOps.js +128 -87
  397. package/esm/ops/AgentOps.js.map +1 -1
  398. package/esm/ops/ApplicationOps.js +315 -0
  399. package/esm/ops/ApplicationOps.js.map +1 -0
  400. package/esm/ops/AuthenticationSettingsOps.js +89 -0
  401. package/esm/ops/AuthenticationSettingsOps.js.map +1 -0
  402. package/esm/ops/CirclesOfTrustOps.js +72 -59
  403. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  404. package/esm/ops/ConnectionProfileOps.js +13 -6
  405. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  406. package/esm/ops/EmailTemplateOps.js +76 -64
  407. package/esm/ops/EmailTemplateOps.js.map +1 -1
  408. package/esm/ops/IdmOps.js +70 -84
  409. package/esm/ops/IdmOps.js.map +1 -1
  410. package/esm/ops/IdpOps.js +74 -43
  411. package/esm/ops/IdpOps.js.map +1 -1
  412. package/esm/ops/JourneyOps.js +99 -67
  413. package/esm/ops/JourneyOps.js.map +1 -1
  414. package/esm/ops/LogOps.js +92 -30
  415. package/esm/ops/LogOps.js.map +1 -1
  416. package/esm/ops/NodeOps.js +6 -3
  417. package/esm/ops/NodeOps.js.map +1 -1
  418. package/esm/ops/OAuth2ClientOps.js +51 -32
  419. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  420. package/esm/ops/OrganizationOps.js +14 -22
  421. package/esm/ops/OrganizationOps.js.map +1 -1
  422. package/esm/ops/PolicyOps.js +84 -55
  423. package/esm/ops/PolicyOps.js.map +1 -1
  424. package/esm/ops/PolicySetOps.js +67 -43
  425. package/esm/ops/PolicySetOps.js.map +1 -1
  426. package/esm/ops/RealmOps.js +18 -11
  427. package/esm/ops/RealmOps.js.map +1 -1
  428. package/esm/ops/ResourceTypeOps.js +75 -66
  429. package/esm/ops/ResourceTypeOps.js.map +1 -1
  430. package/esm/ops/Saml2Ops.js +76 -54
  431. package/esm/ops/Saml2Ops.js.map +1 -1
  432. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  433. package/esm/ops/ScriptOps.js +92 -31
  434. package/esm/ops/ScriptOps.js.map +1 -1
  435. package/esm/ops/SecretsOps.js +106 -23
  436. package/esm/ops/SecretsOps.js.map +1 -1
  437. package/esm/ops/ServiceOps.js +67 -41
  438. package/esm/ops/ServiceOps.js.map +1 -1
  439. package/esm/ops/ThemeOps.js +62 -36
  440. package/esm/ops/ThemeOps.js.map +1 -1
  441. package/esm/ops/VariablesOps.js +132 -41
  442. package/esm/ops/VariablesOps.js.map +1 -1
  443. package/esm/ops/utils/OpsUtils.js +1 -1
  444. package/esm/ops/utils/OpsUtils.js.map +1 -1
  445. package/esm/ops/utils/Wordwrap.js +1 -1
  446. package/esm/ops/utils/Wordwrap.js.map +1 -1
  447. package/esm/storage/StaticStorage.js +1 -1
  448. package/esm/storage/StaticStorage.js.map +1 -1
  449. package/esm/utils/Config.js +7 -4
  450. package/esm/utils/Config.js.map +1 -1
  451. package/esm/utils/Console.js +9 -5
  452. package/esm/utils/Console.js.map +1 -1
  453. package/esm/utils/ExportImportUtils.js +32 -66
  454. package/esm/utils/ExportImportUtils.js.map +1 -1
  455. package/esm/utils/Version.js +19 -16
  456. package/esm/utils/Version.js.map +1 -1
  457. package/global-jest-setup.js +4 -0
  458. package/package.json +46 -35
  459. package/esm/cli/logging/logs-fetch.js.map +0 -1
  460. package/esm/cli/logging/logs-list.js +0 -49
  461. package/esm/cli/logging/logs-list.js.map +0 -1
  462. package/esm/cli/logging/logs-tail.js +0 -46
  463. package/esm/cli/logging/logs-tail.js.map +0 -1
  464. package/esm/cli/logging/logs.js.map +0 -1
  465. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  466. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"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":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,wBAAwB,EACxBC,eAAe,EACfC,iBAAiB,EACjBC,oBAAoB,EACpBC,qBAAqB,QAChB,oBAAoB;AAE3B,MAAMC,OAAO,GAAG,IAAIX,YAAY,CAAC,oBAAoB,CAAC;AAEtDW,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIZ,MAAM,CACR,yBAAyB,EACzB,yDACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,uBAAuB,EACvB,yDACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,mBAAmB,EACnB,+CACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,WAAW,EACX,gEACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,oBAAoB,EACpB,2GACF,CACF,CAAC,CACAa,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IACED,OAAO,CAACG,IAAI,IACZH,OAAO,CAACI,SAAS,KAChB,MAAMrB,KAAK,CAACsB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACApB,cAAc,CACX,8BACCc,OAAO,CAACI,SACT,iBAAgBpB,KAAK,CAACuB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDlB,iBAAiB,CAACW,OAAO,CAACI,SAAS,EAAEJ,OAAO,CAACG,IAAI,CAAC;EACpD;EACA;EAAA,KACK,IACHH,OAAO,CAACG,IAAI,IACZH,OAAO,CAACQ,OAAO,KACd,MAAMzB,KAAK,CAACsB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACApB,cAAc,CACX,4BACCc,OAAO,CAACQ,OACT,iBAAgBxB,KAAK,CAACuB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDnB,eAAe,CAACY,OAAO,CAACQ,OAAO,EAAER,OAAO,CAACG,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IAAIH,OAAO,CAACS,GAAG,IAAIT,OAAO,CAACG,IAAI,KAAK,MAAMpB,KAAK,CAACsB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACvEpB,cAAc,CACX,4CAA2Cc,OAAO,CAACG,IAAK,MAC3D,CAAC;IACDb,oBAAoB,CAACU,OAAO,CAACG,IAAI,CAAC;EACpC;EACA;EAAA,KACK,IACHH,OAAO,CAACU,WAAW,IACnB,CAACV,OAAO,CAACG,IAAI,KACZ,MAAMpB,KAAK,CAACsB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACApB,cAAc,CACZ,kEACF,CAAC;IACDK,qBAAqB,CAAC,CAAC;EACzB;EACA;EAAA,KACK,IAAIS,OAAO,CAACG,IAAI,KAAK,MAAMpB,KAAK,CAACsB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACxDpB,cAAc,CACX,oCACCc,OAAO,CAACG,IACT,iBAAgBnB,KAAK,CAACuB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDpB,wBAAwB,CAACa,OAAO,CAACG,IAAI,CAAC;EACxC;EACA;EAAA,KACK;IACHlB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDO,OAAO,CAACmB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHrB,OAAO,CAACsB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"theme-import.js","names":["frodo","state","Option","importFirstThemeFromFile","importThemeById","importThemeByName","importThemesFromFile","importThemesFromFiles","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","themeName","getRealm","themeId","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/theme/theme-import.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n importFirstThemeFromFile,\n importThemeById,\n importThemeByName,\n importThemesFromFile,\n importThemesFromFiles,\n} from '../../ops/ThemeOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\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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"}
@@ -1,14 +1,17 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo, state } from '@rockcarver/frodo-lib';
2
+ import { Option } from 'commander';
4
3
  import { listThemes } from '../../ops/ThemeOps';
5
4
  import { verboseMessage } from '../../utils/Console';
5
+ import { FrodoCommand } from '../FrodoCommand';
6
+ const {
7
+ getTokens
8
+ } = frodo.login;
6
9
  const program = new FrodoCommand('frodo 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 {
@@ -19,4 +22,4 @@ async (host, realm, user, password, options, command) => {
19
22
  );
20
23
 
21
24
  program.parse();
22
- //# sourceMappingURL=theme-list.js.map
25
+ //# sourceMappingURL=theme-list.js.map
@@ -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":["frodo","state","Option","listThemes","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","long","process","exitCode","parse"],"sources":["../../../src/cli/theme/theme-list.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { listThemes } from '../../ops/ThemeOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\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,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGN,KAAK,CAACO,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,kBAAkB,CAAC;AAEpDG,OAAO,CACJC,WAAW,CAAC,cAAc,CAAC,CAC3BC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAACS,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;IACrBF,cAAc,CAAE,4BAA2BH,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAAK,CAAC;IAClEjB,UAAU,CAACc,OAAO,CAACI,IAAI,CAAC;EAC1B,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { FrodoStubCommand } from '../FrodoCommand';
2
1
  import path from 'path';
3
2
  import { fileURLToPath } from 'url';
3
+ import { FrodoStubCommand } from '../FrodoCommand';
4
4
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  export default function setup() {
6
6
  const program = new FrodoStubCommand('theme').description('Manage themes.').executableDir(__dirname);
@@ -10,4 +10,4 @@ export default function setup() {
10
10
  program.command('delete', 'Delete themes.');
11
11
  return program;
12
12
  }
13
- //# sourceMappingURL=theme.js.map
13
+ //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/theme/theme.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('theme')\n .description('Manage themes.')\n .executableDir(__dirname);\n\n program.command('list', 'List themes.');\n\n program.command('export', 'Export themes.');\n\n program.command('import', 'Import themes.');\n\n program.command('delete', 'Delete themes.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,OAAO,CAAC,CAC1CU,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;EAEvCH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3C,OAAOH,OAAO;AAChB"}
1
+ {"version":3,"file":"theme.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["../../../src/cli/theme/theme.ts"],"sourcesContent":["import path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FrodoStubCommand } from '../FrodoCommand';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('theme')\n .description('Manage themes.')\n .executableDir(__dirname);\n\n program.command('list', 'List themes.');\n\n program.command('export', 'Export themes.');\n\n program.command('import', 'Import themes.');\n\n program.command('delete', 'Delete themes.');\n\n return program;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,OAAO,CAAC,CAC1CQ,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;EAEvCH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3C,OAAOH,OAAO;AAChB"}
@@ -0,0 +1,7 @@
1
+ export const amBaseUrl = 'https://openam-matrix.id.forgerock.io/am';
2
+ export const connId = 'matrix';
3
+ export const username = 'thomas.anderson@metacortex.com';
4
+ export const password = 'Blu3P!ll3d';
5
+ export const saId = 'b672336b-41ef-428d-ae4a-e0c082875377';
6
+ export const saJwkFile = './matrix-sa_privateKey.jwk';
7
+ //# sourceMappingURL=SampleData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SampleData.js","names":["amBaseUrl","connId","username","password","saId","saJwkFile"],"sources":["../../src/help/SampleData.ts"],"sourcesContent":["export const amBaseUrl = 'https://openam-matrix.id.forgerock.io/am';\nexport const connId = 'matrix';\nexport const username = 'thomas.anderson@metacortex.com';\nexport const password = 'Blu3P!ll3d';\nexport const saId = 'b672336b-41ef-428d-ae4a-e0c082875377';\nexport const saJwkFile = './matrix-sa_privateKey.jwk';\n"],"mappings":"AAAA,OAAO,MAAMA,SAAS,GAAG,0CAA0C;AACnE,OAAO,MAAMC,MAAM,GAAG,QAAQ;AAC9B,OAAO,MAAMC,QAAQ,GAAG,gCAAgC;AACxD,OAAO,MAAMC,QAAQ,GAAG,YAAY;AACpC,OAAO,MAAMC,IAAI,GAAG,sCAAsC;AAC1D,OAAO,MAAMC,SAAS,GAAG,4BAA4B"}
package/esm/launch.js CHANGED
@@ -12,4 +12,4 @@ const frodo = spawn(process.execPath, [...launchArgs, ...frodoArgs], {
12
12
  frodo.on('exit', code => {
13
13
  process.exitCode = code;
14
14
  });
15
- //# sourceMappingURL=launch.js.map
15
+ //# sourceMappingURL=launch.js.map
package/esm/launch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","names":["spawn","fileURLToPath","launchArgs","URL","import","meta","url","href","frodoArgs","process","argv","slice","frodo","execPath","stdio","shell","on","code","exitCode"],"sources":["launch.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { spawn } from 'node:child_process';\nimport { fileURLToPath } from 'node:url';\n\nconst launchArgs = [\n // '--inspect-brk=2000',\n '--no-warnings',\n '--enable-source-maps',\n '--experimental-loader',\n new URL('./loader.js', import.meta.url).href,\n fileURLToPath(new URL('./app.js', import.meta.url)),\n];\nconst frodoArgs = process.argv.slice(2);\n\nconst frodo = spawn(process.execPath, [...launchArgs, ...frodoArgs], {\n stdio: 'inherit',\n shell: false,\n});\n\nfrodo.on('exit', (code) => {\n process.exitCode = code;\n});\n"],"mappings":"AAAA;AACA,SAASA,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,aAAa,QAAQ,UAAU;AAExC,MAAMC,UAAU,GAAG;AACjB;AACA,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,IAAIC,GAAG,CAAC,aAAa,EAAEC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,IAAI,EAC5CN,aAAa,CAAC,IAAIE,GAAG,CAAC,UAAU,EAAEC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CACpD;AACD,MAAME,SAAS,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;AAEvC,MAAMC,KAAK,GAAGZ,KAAK,CAACS,OAAO,CAACI,QAAQ,EAAE,CAAC,GAAGX,UAAU,EAAE,GAAGM,SAAS,CAAC,EAAE;EACnEM,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE;AACT,CAAC,CAAC;AAEFH,KAAK,CAACI,EAAE,CAAC,MAAM,EAAGC,IAAI,IAAK;EACzBR,OAAO,CAACS,QAAQ,GAAGD,IAAI;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"launch.js","names":["spawn","fileURLToPath","launchArgs","URL","import","meta","url","href","frodoArgs","process","argv","slice","frodo","execPath","stdio","shell","on","code","exitCode"],"sources":["../src/launch.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { spawn } from 'node:child_process';\nimport { fileURLToPath } from 'node:url';\n\nconst launchArgs = [\n // '--inspect-brk=2000',\n '--no-warnings',\n '--enable-source-maps',\n '--experimental-loader',\n new URL('./loader.js', import.meta.url).href,\n fileURLToPath(new URL('./app.js', import.meta.url)),\n];\nconst frodoArgs = process.argv.slice(2);\n\nconst frodo = spawn(process.execPath, [...launchArgs, ...frodoArgs], {\n stdio: 'inherit',\n shell: false,\n});\n\nfrodo.on('exit', (code) => {\n process.exitCode = code;\n});\n"],"mappings":"AAAA;AACA,SAASA,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,aAAa,QAAQ,UAAU;AAExC,MAAMC,UAAU,GAAG;AACjB;AACA,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,IAAIC,GAAG,CAAC,aAAa,EAAEC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,IAAI,EAC5CN,aAAa,CAAC,IAAIE,GAAG,CAAC,UAAU,EAAEC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CACpD;AACD,MAAME,SAAS,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;AAEvC,MAAMC,KAAK,GAAGZ,KAAK,CAACS,OAAO,CAACI,QAAQ,EAAE,CAAC,GAAGX,UAAU,EAAE,GAAGM,SAAS,CAAC,EAAE;EACnEM,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE;AACT,CAAC,CAAC;AAEFH,KAAK,CAACI,EAAE,CAAC,MAAM,EAAGC,IAAI,IAAK;EACzBR,OAAO,CAACS,QAAQ,GAAGD,IAAI;AACzB,CAAC,CAAC"}
package/esm/loader.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { builtinModules } from 'node:module';
2
2
  import { dirname } from 'path';
3
3
  import { cwd } from 'process';
4
+ import resolveCallback from 'resolve/async.js';
4
5
  import { fileURLToPath, pathToFileURL } from 'url';
5
6
  import { promisify } from 'util';
6
- import resolveCallback from 'resolve/async.js';
7
7
  const resolveAsync = promisify(resolveCallback);
8
8
  const baseURL = pathToFileURL(cwd() + '/').href;
9
9
  export async function resolve(specifier, context, next) {
@@ -37,4 +37,4 @@ export async function resolve(specifier, context, next) {
37
37
  }
38
38
  return next(url, context);
39
39
  }
40
- //# sourceMappingURL=loader.js.map
40
+ //# sourceMappingURL=loader.js.map
package/esm/loader.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","names":["builtinModules","dirname","cwd","fileURLToPath","pathToFileURL","promisify","resolveCallback","resolveAsync","baseURL","href","resolve","specifier","context","next","parentURL","startsWith","includes","parentPath","url","resolution","basedir","extensions","error","code"],"sources":["loader.ts"],"sourcesContent":["import { builtinModules } from 'node:module';\nimport { dirname } from 'path';\nimport { cwd } from 'process';\nimport { fileURLToPath, pathToFileURL } from 'url';\nimport { promisify } from 'util';\n\nimport resolveCallback from 'resolve/async.js';\n\nconst resolveAsync = promisify(resolveCallback);\n\nconst baseURL = pathToFileURL(cwd() + '/').href;\n\nexport async function resolve(specifier, context, next) {\n const { parentURL = baseURL } = context;\n\n if (specifier.startsWith('node:') || builtinModules.includes(specifier)) {\n return next(specifier, context);\n }\n\n // `resolveAsync` works with paths, not URLs\n if (specifier.startsWith('file://')) {\n specifier = fileURLToPath(specifier);\n }\n const parentPath = fileURLToPath(parentURL);\n\n let url;\n try {\n const resolution = await resolveAsync(specifier, {\n basedir: dirname(parentPath),\n // For whatever reason, --experimental-specifier-resolution=node doesn't search for .mjs extensions\n // but it does search for index.mjs files within directories\n extensions: ['.js', '.json', '.node', '.mjs'],\n });\n url = pathToFileURL(resolution).href;\n } catch (error) {\n if (error.code === 'MODULE_NOT_FOUND') {\n // Match Node's error code\n error.code = 'ERR_MODULE_NOT_FOUND';\n }\n throw error;\n }\n\n return next(url, context);\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,aAAa;AAC5C,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,GAAG,QAAQ,SAAS;AAC7B,SAASC,aAAa,EAAEC,aAAa,QAAQ,KAAK;AAClD,SAASC,SAAS,QAAQ,MAAM;AAEhC,OAAOC,eAAe,MAAM,kBAAkB;AAE9C,MAAMC,YAAY,GAAGF,SAAS,CAACC,eAAe,CAAC;AAE/C,MAAME,OAAO,GAAGJ,aAAa,CAACF,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAACO,IAAI;AAE/C,OAAO,eAAeC,OAAOA,CAACC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAAE;EACtD,MAAM;IAAEC,SAAS,GAAGN;EAAQ,CAAC,GAAGI,OAAO;EAEvC,IAAID,SAAS,CAACI,UAAU,CAAC,OAAO,CAAC,IAAIf,cAAc,CAACgB,QAAQ,CAACL,SAAS,CAAC,EAAE;IACvE,OAAOE,IAAI,CAACF,SAAS,EAAEC,OAAO,CAAC;EACjC;;EAEA;EACA,IAAID,SAAS,CAACI,UAAU,CAAC,SAAS,CAAC,EAAE;IACnCJ,SAAS,GAAGR,aAAa,CAACQ,SAAS,CAAC;EACtC;EACA,MAAMM,UAAU,GAAGd,aAAa,CAACW,SAAS,CAAC;EAE3C,IAAII,GAAG;EACP,IAAI;IACF,MAAMC,UAAU,GAAG,MAAMZ,YAAY,CAACI,SAAS,EAAE;MAC/CS,OAAO,EAAEnB,OAAO,CAACgB,UAAU,CAAC;MAC5B;MACA;MACAI,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAC9C,CAAC,CAAC;IACFH,GAAG,GAAGd,aAAa,CAACe,UAAU,CAAC,CAACV,IAAI;EACtC,CAAC,CAAC,OAAOa,KAAK,EAAE;IACd,IAAIA,KAAK,CAACC,IAAI,KAAK,kBAAkB,EAAE;MACrC;MACAD,KAAK,CAACC,IAAI,GAAG,sBAAsB;IACrC;IACA,MAAMD,KAAK;EACb;EAEA,OAAOT,IAAI,CAACK,GAAG,EAAEN,OAAO,CAAC;AAC3B"}
1
+ {"version":3,"file":"loader.js","names":["builtinModules","dirname","cwd","resolveCallback","fileURLToPath","pathToFileURL","promisify","resolveAsync","baseURL","href","resolve","specifier","context","next","parentURL","startsWith","includes","parentPath","url","resolution","basedir","extensions","error","code"],"sources":["../src/loader.ts"],"sourcesContent":["import { builtinModules } from 'node:module';\n\nimport { dirname } from 'path';\nimport { cwd } from 'process';\nimport resolveCallback from 'resolve/async.js';\nimport { fileURLToPath, pathToFileURL } from 'url';\nimport { promisify } from 'util';\n\nconst resolveAsync = promisify(resolveCallback);\n\nconst baseURL = pathToFileURL(cwd() + '/').href;\n\nexport async function resolve(specifier, context, next) {\n const { parentURL = baseURL } = context;\n\n if (specifier.startsWith('node:') || builtinModules.includes(specifier)) {\n return next(specifier, context);\n }\n\n // `resolveAsync` works with paths, not URLs\n if (specifier.startsWith('file://')) {\n specifier = fileURLToPath(specifier);\n }\n const parentPath = fileURLToPath(parentURL);\n\n let url;\n try {\n const resolution = await resolveAsync(specifier, {\n basedir: dirname(parentPath),\n // For whatever reason, --experimental-specifier-resolution=node doesn't search for .mjs extensions\n // but it does search for index.mjs files within directories\n extensions: ['.js', '.json', '.node', '.mjs'],\n });\n url = pathToFileURL(resolution).href;\n } catch (error) {\n if (error.code === 'MODULE_NOT_FOUND') {\n // Match Node's error code\n error.code = 'ERR_MODULE_NOT_FOUND';\n }\n throw error;\n }\n\n return next(url, context);\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,aAAa;AAE5C,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,GAAG,QAAQ,SAAS;AAC7B,OAAOC,eAAe,MAAM,kBAAkB;AAC9C,SAASC,aAAa,EAAEC,aAAa,QAAQ,KAAK;AAClD,SAASC,SAAS,QAAQ,MAAM;AAEhC,MAAMC,YAAY,GAAGD,SAAS,CAACH,eAAe,CAAC;AAE/C,MAAMK,OAAO,GAAGH,aAAa,CAACH,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAACO,IAAI;AAE/C,OAAO,eAAeC,OAAOA,CAACC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAAE;EACtD,MAAM;IAAEC,SAAS,GAAGN;EAAQ,CAAC,GAAGI,OAAO;EAEvC,IAAID,SAAS,CAACI,UAAU,CAAC,OAAO,CAAC,IAAIf,cAAc,CAACgB,QAAQ,CAACL,SAAS,CAAC,EAAE;IACvE,OAAOE,IAAI,CAACF,SAAS,EAAEC,OAAO,CAAC;EACjC;;EAEA;EACA,IAAID,SAAS,CAACI,UAAU,CAAC,SAAS,CAAC,EAAE;IACnCJ,SAAS,GAAGP,aAAa,CAACO,SAAS,CAAC;EACtC;EACA,MAAMM,UAAU,GAAGb,aAAa,CAACU,SAAS,CAAC;EAE3C,IAAII,GAAG;EACP,IAAI;IACF,MAAMC,UAAU,GAAG,MAAMZ,YAAY,CAACI,SAAS,EAAE;MAC/CS,OAAO,EAAEnB,OAAO,CAACgB,UAAU,CAAC;MAC5B;MACA;MACAI,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAC9C,CAAC,CAAC;IACFH,GAAG,GAAGb,aAAa,CAACc,UAAU,CAAC,CAACV,IAAI;EACtC,CAAC,CAAC,OAAOa,KAAK,EAAE;IACd,IAAIA,KAAK,CAACC,IAAI,KAAK,kBAAkB,EAAE;MACrC;MACAD,KAAK,CAACC,IAAI,GAAG,sBAAsB;IACrC;IACA,MAAMD,KAAK;EACb;EAEA,OAAOT,IAAI,CAACK,GAAG,EAAEN,OAAO,CAAC;AAC3B"}
@@ -0,0 +1,225 @@
1
+ import { frodo } from '@rockcarver/frodo-lib';
2
+ import fs from 'fs';
3
+ import { createProgressBar, debugMessage, failSpinner, printMessage, showSpinner, stopProgressBar, succeedSpinner, updateProgressBar } from '../utils/Console';
4
+ import { getTypedFilename, saveJsonToFile } from '../utils/ExportImportUtils';
5
+ const {
6
+ readAdminFederationProviders,
7
+ exportAdminFederationProvider,
8
+ exportAdminFederationProviders,
9
+ importAdminFederationProvider,
10
+ importAdminFederationProviders,
11
+ importFirstAdminFederationProvider
12
+ } = frodo.cloud.adminFed;
13
+ const {
14
+ getFilePath,
15
+ getWorkingDirectory
16
+ } = frodo.utils;
17
+
18
+ /**
19
+ * List providers
20
+ * @returns {Promise<boolean>} true if successful, false otherwise
21
+ */
22
+ export async function listAdminFederationProviders() {
23
+ let outcome = false;
24
+ try {
25
+ const providers = await readAdminFederationProviders();
26
+ providers.sort((a, b) => a._id.localeCompare(b._id));
27
+ providers.forEach(socialIdentityProvider => {
28
+ printMessage(`${socialIdentityProvider._id}`, 'data');
29
+ });
30
+ outcome = true;
31
+ } catch (err) {
32
+ printMessage(`listAdminFederationProviders ERROR: ${err.message}`, 'error');
33
+ printMessage(err, 'error');
34
+ }
35
+ return outcome;
36
+ }
37
+
38
+ /**
39
+ * Export provider by id
40
+ * @param {string} providerId provider id/name
41
+ * @param {string} file optional export file name
42
+ * @returns {Promise<boolean>} true if successful, false otherwise
43
+ */
44
+ export async function exportAdminFederationProviderToFile(providerId, file = '') {
45
+ let outcome = false;
46
+ let fileName = file;
47
+ if (!fileName) {
48
+ fileName = getTypedFilename(providerId, 'admin.federation');
49
+ }
50
+ const filePath = getFilePath(fileName, true);
51
+ createProgressBar(1, `Exporting ${providerId}`);
52
+ try {
53
+ updateProgressBar(`Writing file ${filePath}`);
54
+ const fileData = await exportAdminFederationProvider(providerId);
55
+ saveJsonToFile(fileData, filePath);
56
+ stopProgressBar(`Exported ${providerId['brightCyan']} to ${filePath['brightCyan']}.`);
57
+ outcome = true;
58
+ } catch (err) {
59
+ stopProgressBar(`${err}`);
60
+ printMessage(`${err}`, 'error');
61
+ }
62
+ return outcome;
63
+ }
64
+
65
+ /**
66
+ * Export all providers
67
+ * @param {string} file optional export file name
68
+ * @returns {Promise<boolean>} true if successful, false otherwise
69
+ */
70
+ export async function exportAdminFederationProvidersToFile(file = '') {
71
+ let outcome = false;
72
+ showSpinner(`Exporting all providers...`);
73
+ try {
74
+ let fileName = file;
75
+ if (!fileName) {
76
+ fileName = getTypedFilename(`allProviders`, 'admin.federation');
77
+ }
78
+ const filePath = getFilePath(fileName, true);
79
+ const fileData = await exportAdminFederationProviders();
80
+ saveJsonToFile(fileData, filePath);
81
+ succeedSpinner(`Exported all providers to ${filePath}`);
82
+ outcome = true;
83
+ } catch (error) {
84
+ var _error$response;
85
+ failSpinner(`Error exporting all providers.`);
86
+ printMessage(((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) || error, 'error');
87
+ }
88
+ return outcome;
89
+ }
90
+
91
+ /**
92
+ * Export all providers to individual files
93
+ * @returns {Promise<boolean>} true if successful, false otherwise
94
+ */
95
+ export async function exportAdminFederationProvidersToFiles() {
96
+ let outcome = false;
97
+ try {
98
+ const allIdpsData = await readAdminFederationProviders();
99
+ createProgressBar(allIdpsData.length, 'Exporting providers');
100
+ for (const idpData of allIdpsData) {
101
+ updateProgressBar(`Writing provider ${idpData._id}`);
102
+ const fileName = getTypedFilename(idpData._id, 'admin.federation');
103
+ const fileData = await exportAdminFederationProvider(idpData._id);
104
+ saveJsonToFile(fileData, getFilePath(fileName, true));
105
+ }
106
+ stopProgressBar(`${allIdpsData.length} providers exported.`);
107
+ outcome = true;
108
+ } catch (error) {
109
+ var _error$response2;
110
+ failSpinner(`Error exporting all providers.`);
111
+ printMessage(((_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.data) || error, 'error');
112
+ }
113
+ return outcome;
114
+ }
115
+
116
+ /**
117
+ * Import provider by id/name
118
+ * @param {string} providerId provider id/name
119
+ * @param {string} file import file name
120
+ * @returns {Promise<boolean>} true if successful, false otherwise
121
+ */
122
+ export async function importAdminFederationProviderFromFile(providerId, file) {
123
+ let outcome = false;
124
+ const filePath = getFilePath(file);
125
+ showSpinner(`Importing provider ${providerId} from ${filePath}...`);
126
+ try {
127
+ const data = fs.readFileSync(filePath, 'utf8');
128
+ const fileData = JSON.parse(data);
129
+ await importAdminFederationProvider(providerId, fileData);
130
+ succeedSpinner(`Successfully imported provider ${providerId} from ${filePath}.`);
131
+ outcome = true;
132
+ } catch (error) {
133
+ var _error$response3;
134
+ failSpinner(`Error importing provider ${providerId} from ${filePath}.`);
135
+ printMessage(((_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.data) || error, 'error');
136
+ }
137
+ return outcome;
138
+ }
139
+
140
+ /**
141
+ * Import first provider from file
142
+ * @param {String} file import file name
143
+ * @returns {Promise<boolean>} true if successful, false otherwise
144
+ */
145
+ export async function importFirstAdminFederationProviderFromFile(file) {
146
+ let outcome = false;
147
+ debugMessage(`cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: begin`);
148
+ const filePath = getFilePath(file);
149
+ showSpinner(`Importing first provider from ${filePath}...`);
150
+ try {
151
+ const data = fs.readFileSync(filePath, 'utf8');
152
+ const fileData = JSON.parse(data);
153
+ await importFirstAdminFederationProvider(fileData);
154
+ succeedSpinner(`Successfully imported first provider from ${filePath}.`);
155
+ outcome = true;
156
+ } catch (error) {
157
+ var _error$response4;
158
+ failSpinner(`Error importing first provider from ${filePath}.`);
159
+ printMessage(((_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.data) || error, 'error');
160
+ }
161
+ debugMessage(`cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: end`);
162
+ return outcome;
163
+ }
164
+
165
+ /**
166
+ * Import all providers from file
167
+ * @param {string} file import file name
168
+ * @returns {Promise<boolean>} true if successful, false otherwise
169
+ */
170
+ export async function importAdminFederationProvidersFromFile(file) {
171
+ let outcome = false;
172
+ debugMessage(`cli.AdminFederationOps.importAdminFederationProvidersFromFile: begin`);
173
+ const filePath = getFilePath(file);
174
+ showSpinner(`Importing providers from ${filePath}...`);
175
+ try {
176
+ const data = fs.readFileSync(filePath, 'utf8');
177
+ const fileData = JSON.parse(data);
178
+ await importAdminFederationProviders(fileData);
179
+ succeedSpinner(`Imported providers from ${filePath}.`);
180
+ outcome = true;
181
+ } catch (error) {
182
+ var _error$response5;
183
+ failSpinner(`Error importing ${filePath}.`);
184
+ printMessage(((_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : _error$response5.data) || error, 'error');
185
+ }
186
+ debugMessage(`cli.AdminFederationOps.importAdminFederationProvidersFromFile: end`);
187
+ return outcome;
188
+ }
189
+
190
+ /**
191
+ * Import providers from *.idp.json files in current working directory
192
+ * @returns {Promise<boolean>} true if successful, false otherwise
193
+ */
194
+ export async function importAdminFederationProvidersFromFiles() {
195
+ const errors = [];
196
+ try {
197
+ debugMessage(`cli.AdminFederationOps.importAdminFederationProvidersFromFiles: begin`);
198
+ const names = fs.readdirSync(getWorkingDirectory());
199
+ const files = names.filter(name => name.toLowerCase().endsWith('.admin.federation.json')).map(name => getFilePath(name));
200
+ createProgressBar(files.length, 'Importing providers...');
201
+ let total = 0;
202
+ for (const file of files) {
203
+ try {
204
+ const data = fs.readFileSync(file, 'utf8');
205
+ const fileData = JSON.parse(data);
206
+ const count = Object.keys(fileData.idp).length;
207
+ total += count;
208
+ await importAdminFederationProviders(fileData);
209
+ updateProgressBar(`Imported ${count} provider(s) from ${file}`);
210
+ } catch (error) {
211
+ errors.push(error);
212
+ updateProgressBar(`Error importing provider(s) from ${file}`);
213
+ printMessage(error, 'error');
214
+ }
215
+ }
216
+ stopProgressBar(`Finished importing ${total} provider(s) from ${files.length} file(s).`);
217
+ } catch (error) {
218
+ errors.push(error);
219
+ stopProgressBar(`Error importing provider(s) from file(s).`);
220
+ printMessage(error, 'error');
221
+ }
222
+ debugMessage(`cli.AdminFederationOps.importAdminFederationProvidersFromFiles: end`);
223
+ return 0 === errors.length;
224
+ }
225
+ //# sourceMappingURL=AdminFederationOps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminFederationOps.js","names":["frodo","fs","createProgressBar","debugMessage","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","getTypedFilename","saveJsonToFile","readAdminFederationProviders","exportAdminFederationProvider","exportAdminFederationProviders","importAdminFederationProvider","importAdminFederationProviders","importFirstAdminFederationProvider","cloud","adminFed","getFilePath","getWorkingDirectory","utils","listAdminFederationProviders","outcome","providers","sort","a","b","_id","localeCompare","forEach","socialIdentityProvider","err","message","exportAdminFederationProviderToFile","providerId","file","fileName","filePath","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","map","total","count","Object","keys","idp","push"],"sources":["../../src/ops/AdminFederationOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\n\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 readAdminFederationProviders,\n exportAdminFederationProvider,\n exportAdminFederationProviders,\n importAdminFederationProvider,\n importAdminFederationProviders,\n importFirstAdminFederationProvider,\n} = frodo.cloud.adminFed;\n\nconst { getFilePath, getWorkingDirectory } = frodo.utils;\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 readAdminFederationProviders();\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 const filePath = getFilePath(fileName, true);\n createProgressBar(1, `Exporting ${providerId}`);\n try {\n updateProgressBar(`Writing file ${filePath}`);\n const fileData = await exportAdminFederationProvider(providerId);\n saveJsonToFile(fileData, filePath);\n stopProgressBar(\n `Exported ${providerId['brightCyan']} to ${filePath['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 filePath = getFilePath(fileName, true);\n const fileData = await exportAdminFederationProviders();\n saveJsonToFile(fileData, filePath);\n succeedSpinner(`Exported all providers to ${filePath}`);\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 readAdminFederationProviders();\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, getFilePath(fileName, true));\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 const filePath = getFilePath(file);\n showSpinner(`Importing provider ${providerId} from ${filePath}...`);\n try {\n const data = fs.readFileSync(filePath, 'utf8');\n const fileData = JSON.parse(data);\n await importAdminFederationProvider(providerId, fileData);\n succeedSpinner(\n `Successfully imported provider ${providerId} from ${filePath}.`\n );\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing provider ${providerId} from ${filePath}.`);\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 const filePath = getFilePath(file);\n showSpinner(`Importing first provider from ${filePath}...`);\n try {\n const data = fs.readFileSync(filePath, 'utf8');\n const fileData = JSON.parse(data);\n await importFirstAdminFederationProvider(fileData);\n succeedSpinner(`Successfully imported first provider from ${filePath}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing first provider from ${filePath}.`);\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 const filePath = getFilePath(file);\n showSpinner(`Importing providers from ${filePath}...`);\n try {\n const data = fs.readFileSync(filePath, 'utf8');\n const fileData = JSON.parse(data);\n await importAdminFederationProviders(fileData);\n succeedSpinner(`Imported providers from ${filePath}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing ${filePath}.`);\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(getWorkingDirectory());\n const files = names\n .filter((name) => name.toLowerCase().endsWith('.admin.federation.json'))\n .map((name) => getFilePath(name));\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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"}