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

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 (482) hide show
  1. package/CHANGELOG.md +365 -6
  2. package/esm/app.js +20 -3
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +33 -7
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +4 -5
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +4 -5
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +4 -5
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +4 -5
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +5 -6
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +4 -5
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +4 -5
  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 +5 -6
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +4 -5
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +4 -5
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +4 -5
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +4 -5
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +5 -6
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +4 -5
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +4 -5
  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 +8 -5
  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 +12 -8
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +38 -0
  47. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-export.js +41 -0
  49. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-import.js +45 -0
  51. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  52. package/esm/cli/admin/admin-federation-list.js +25 -0
  53. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  54. package/esm/cli/admin/admin-federation.js +13 -0
  55. package/esm/cli/admin/admin-federation.js.map +1 -0
  56. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +41 -0
  57. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -0
  58. package/esm/cli/admin/admin-get-access-token.js +10 -7
  59. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  60. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +11 -8
  61. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +9 -6
  63. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  64. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +9 -6
  65. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  66. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +9 -6
  67. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  68. package/esm/cli/admin/admin-list-static-user-mappings.js +10 -7
  69. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  70. package/esm/cli/admin/admin-remove-static-user-mapping.js +10 -6
  71. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  72. package/esm/cli/admin/admin-repair-org-model.js +9 -6
  73. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  74. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +10 -7
  75. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  76. package/esm/cli/admin/admin-show-generic-extension-attributes.js +9 -6
  77. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  78. package/esm/cli/admin/admin-train-auto-access-model.js +30 -0
  79. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -0
  80. package/esm/cli/admin/admin.js +8 -2
  81. package/esm/cli/admin/admin.js.map +1 -1
  82. package/esm/cli/agent/agent-delete.js +11 -7
  83. package/esm/cli/agent/agent-delete.js.map +1 -1
  84. package/esm/cli/agent/agent-describe.js +4 -5
  85. package/esm/cli/agent/agent-describe.js.map +1 -1
  86. package/esm/cli/agent/agent-export.js +9 -10
  87. package/esm/cli/agent/agent-export.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-delete.js +11 -7
  89. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-describe.js +4 -5
  91. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway-export.js +9 -10
  93. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  94. package/esm/cli/agent/agent-gateway-import.js +5 -6
  95. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  96. package/esm/cli/agent/agent-gateway-list.js +4 -5
  97. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  98. package/esm/cli/agent/agent-gateway.js +1 -1
  99. package/esm/cli/agent/agent-gateway.js.map +1 -1
  100. package/esm/cli/agent/agent-import.js +5 -6
  101. package/esm/cli/agent/agent-import.js.map +1 -1
  102. package/esm/cli/agent/agent-java-delete.js +11 -7
  103. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  104. package/esm/cli/agent/agent-java-describe.js +4 -5
  105. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  106. package/esm/cli/agent/agent-java-export.js +9 -10
  107. package/esm/cli/agent/agent-java-export.js.map +1 -1
  108. package/esm/cli/agent/agent-java-import.js +5 -6
  109. package/esm/cli/agent/agent-java-import.js.map +1 -1
  110. package/esm/cli/agent/agent-java-list.js +4 -5
  111. package/esm/cli/agent/agent-java-list.js.map +1 -1
  112. package/esm/cli/agent/agent-java.js +1 -1
  113. package/esm/cli/agent/agent-java.js.map +1 -1
  114. package/esm/cli/agent/agent-list.js +4 -5
  115. package/esm/cli/agent/agent-list.js.map +1 -1
  116. package/esm/cli/agent/agent-web-delete.js +11 -7
  117. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  118. package/esm/cli/agent/agent-web-describe.js +4 -5
  119. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  120. package/esm/cli/agent/agent-web-export.js +9 -10
  121. package/esm/cli/agent/agent-web-export.js.map +1 -1
  122. package/esm/cli/agent/agent-web-import.js +5 -6
  123. package/esm/cli/agent/agent-web-import.js.map +1 -1
  124. package/esm/cli/agent/agent-web-list.js +4 -5
  125. package/esm/cli/agent/agent-web-list.js.map +1 -1
  126. package/esm/cli/agent/agent-web.js +3 -3
  127. package/esm/cli/agent/agent-web.js.map +1 -1
  128. package/esm/cli/agent/agent.js +2 -2
  129. package/esm/cli/agent/agent.js.map +1 -1
  130. package/esm/cli/app/app-delete.js +24 -9
  131. package/esm/cli/app/app-delete.js.map +1 -1
  132. package/esm/cli/app/app-describe.js +6 -6
  133. package/esm/cli/app/app-describe.js.map +1 -1
  134. package/esm/cli/app/app-export.js +14 -14
  135. package/esm/cli/app/app-export.js.map +1 -1
  136. package/esm/cli/app/app-import.js +18 -18
  137. package/esm/cli/app/app-import.js.map +1 -1
  138. package/esm/cli/app/app-list.js +9 -9
  139. package/esm/cli/app/app-list.js.map +1 -1
  140. package/esm/cli/app/app.js +8 -12
  141. package/esm/cli/app/app.js.map +1 -1
  142. package/esm/cli/authn/authn-describe.js +26 -0
  143. package/esm/cli/authn/authn-describe.js.map +1 -0
  144. package/esm/cli/authn/authn-export.js +22 -0
  145. package/esm/cli/authn/authn-export.js.map +1 -0
  146. package/esm/cli/authn/authn-import.js +22 -0
  147. package/esm/cli/authn/authn-import.js.map +1 -0
  148. package/esm/cli/authn/authn.js +12 -0
  149. package/esm/cli/authn/authn.js.map +1 -0
  150. package/esm/cli/authz/authz-policy-delete.js +8 -9
  151. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  152. package/esm/cli/authz/authz-policy-describe.js +5 -6
  153. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  154. package/esm/cli/authz/authz-policy-export.js +15 -16
  155. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  156. package/esm/cli/authz/authz-policy-import.js +8 -9
  157. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  158. package/esm/cli/authz/authz-policy-list.js +8 -9
  159. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  160. package/esm/cli/authz/authz-policy.js +1 -1
  161. package/esm/cli/authz/authz-policy.js.map +1 -1
  162. package/esm/cli/authz/authz-set-delete.js +8 -9
  163. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  164. package/esm/cli/authz/authz-set-describe.js +5 -6
  165. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  166. package/esm/cli/authz/authz-set-export.js +11 -12
  167. package/esm/cli/authz/authz-set-export.js.map +1 -1
  168. package/esm/cli/authz/authz-set-import.js +8 -9
  169. package/esm/cli/authz/authz-set-import.js.map +1 -1
  170. package/esm/cli/authz/authz-set-list.js +6 -7
  171. package/esm/cli/authz/authz-set-list.js.map +1 -1
  172. package/esm/cli/authz/authz-set.js +1 -1
  173. package/esm/cli/authz/authz-set.js.map +1 -1
  174. package/esm/cli/authz/authz-type-delete.js +10 -11
  175. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  176. package/esm/cli/authz/authz-type-describe.js +6 -7
  177. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  178. package/esm/cli/authz/authz-type-export.js +13 -14
  179. package/esm/cli/authz/authz-type-export.js.map +1 -1
  180. package/esm/cli/authz/authz-type-import.js +11 -12
  181. package/esm/cli/authz/authz-type-import.js.map +1 -1
  182. package/esm/cli/authz/authz-type-list.js +6 -7
  183. package/esm/cli/authz/authz-type-list.js.map +1 -1
  184. package/esm/cli/authz/authz-type.js +1 -1
  185. package/esm/cli/authz/authz-type.js.map +1 -1
  186. package/esm/cli/authz/authz.js +2 -2
  187. package/esm/cli/authz/authz.js.map +1 -1
  188. package/esm/cli/config/config-delete.js +18 -0
  189. package/esm/cli/config/config-delete.js.map +1 -0
  190. package/esm/cli/config/config-describe.js +18 -0
  191. package/esm/cli/config/config-describe.js.map +1 -0
  192. package/esm/cli/config/config-export.js +45 -0
  193. package/esm/cli/config/config-export.js.map +1 -0
  194. package/esm/cli/config/config-import.js +54 -0
  195. package/esm/cli/config/config-import.js.map +1 -0
  196. package/esm/cli/config/config-list.js +18 -0
  197. package/esm/cli/config/config-list.js.map +1 -0
  198. package/esm/cli/config/config.js +19 -0
  199. package/esm/cli/config/config.js.map +1 -0
  200. package/esm/cli/conn/conn-delete.js +2 -3
  201. package/esm/cli/conn/conn-delete.js.map +1 -1
  202. package/esm/cli/conn/conn-describe.js +2 -3
  203. package/esm/cli/conn/conn-describe.js.map +1 -1
  204. package/esm/cli/conn/conn-list.js +2 -3
  205. package/esm/cli/conn/conn-list.js.map +1 -1
  206. package/esm/cli/conn/conn-save.js +25 -15
  207. package/esm/cli/conn/conn-save.js.map +1 -1
  208. package/esm/cli/conn/conn.js +2 -2
  209. package/esm/cli/conn/conn.js.map +1 -1
  210. package/esm/cli/email/email-template-export.js +12 -12
  211. package/esm/cli/email/email-template-export.js.map +1 -1
  212. package/esm/cli/email/email-template-import.js +12 -13
  213. package/esm/cli/email/email-template-import.js.map +1 -1
  214. package/esm/cli/email/email-template-list.js +6 -7
  215. package/esm/cli/email/email-template-list.js.map +1 -1
  216. package/esm/cli/email/email-template.js +1 -1
  217. package/esm/cli/email/email-template.js.map +1 -1
  218. package/esm/cli/email/email.js +2 -2
  219. package/esm/cli/email/email.js.map +1 -1
  220. package/esm/cli/esv/esv-apply.js +16 -9
  221. package/esm/cli/esv/esv-apply.js.map +1 -1
  222. package/esm/cli/esv/esv-secret-create.js +13 -8
  223. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  224. package/esm/cli/esv/esv-secret-delete.js +10 -10
  225. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  226. package/esm/cli/esv/esv-secret-describe.js +7 -7
  227. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  228. package/esm/cli/esv/esv-secret-export.js +20 -7
  229. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  230. package/esm/cli/esv/esv-secret-import.js +4 -5
  231. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  232. package/esm/cli/esv/esv-secret-list.js +8 -8
  233. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  234. package/esm/cli/esv/esv-secret-set.js +7 -7
  235. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  236. package/esm/cli/esv/esv-secret-version-activate.js +7 -8
  237. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  238. package/esm/cli/esv/esv-secret-version-create.js +13 -8
  239. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  240. package/esm/cli/esv/esv-secret-version-deactivate.js +7 -8
  241. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  242. package/esm/cli/esv/esv-secret-version-delete.js +10 -10
  243. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  244. package/esm/cli/esv/esv-secret-version-list.js +7 -7
  245. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  246. package/esm/cli/esv/esv-secret-version.js +1 -1
  247. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  248. package/esm/cli/esv/esv-secret.js +2 -3
  249. package/esm/cli/esv/esv-secret.js.map +1 -1
  250. package/esm/cli/esv/esv-variable-create.js +9 -8
  251. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  252. package/esm/cli/esv/esv-variable-delete.js +10 -9
  253. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  254. package/esm/cli/esv/esv-variable-describe.js +8 -8
  255. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  256. package/esm/cli/esv/esv-variable-export.js +21 -7
  257. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  258. package/esm/cli/esv/esv-variable-import.js +4 -5
  259. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  260. package/esm/cli/esv/esv-variable-list.js +8 -8
  261. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  262. package/esm/cli/esv/esv-variable-set.js +10 -9
  263. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  264. package/esm/cli/esv/esv-variable.js +2 -3
  265. package/esm/cli/esv/esv-variable.js.map +1 -1
  266. package/esm/cli/esv/esv.js +2 -2
  267. package/esm/cli/esv/esv.js.map +1 -1
  268. package/esm/cli/idm/idm-count.js +7 -8
  269. package/esm/cli/idm/idm-count.js.map +1 -1
  270. package/esm/cli/idm/idm-export.js +22 -16
  271. package/esm/cli/idm/idm-export.js.map +1 -1
  272. package/esm/cli/idm/idm-import.js +20 -14
  273. package/esm/cli/idm/idm-import.js.map +1 -1
  274. package/esm/cli/idm/idm-list.js +7 -8
  275. package/esm/cli/idm/idm-list.js.map +1 -1
  276. package/esm/cli/idm/idm.js +2 -2
  277. package/esm/cli/idm/idm.js.map +1 -1
  278. package/esm/cli/idp/idp-export.js +10 -10
  279. package/esm/cli/idp/idp-export.js.map +1 -1
  280. package/esm/cli/idp/idp-import.js +22 -14
  281. package/esm/cli/idp/idp-import.js.map +1 -1
  282. package/esm/cli/idp/idp-list.js +7 -7
  283. package/esm/cli/idp/idp-list.js.map +1 -1
  284. package/esm/cli/idp/idp.js +2 -2
  285. package/esm/cli/idp/idp.js.map +1 -1
  286. package/esm/cli/info/info.js +11 -7
  287. package/esm/cli/info/info.js.map +1 -1
  288. package/esm/cli/journey/journey-delete.js +12 -8
  289. package/esm/cli/journey/journey-delete.js.map +1 -1
  290. package/esm/cli/journey/journey-describe.js +20 -12
  291. package/esm/cli/journey/journey-describe.js.map +1 -1
  292. package/esm/cli/journey/journey-disable.js +8 -12
  293. package/esm/cli/journey/journey-disable.js.map +1 -1
  294. package/esm/cli/journey/journey-enable.js +8 -12
  295. package/esm/cli/journey/journey-enable.js.map +1 -1
  296. package/esm/cli/journey/journey-export.js +27 -16
  297. package/esm/cli/journey/journey-export.js.map +1 -1
  298. package/esm/cli/journey/journey-import.js +12 -13
  299. package/esm/cli/journey/journey-import.js.map +1 -1
  300. package/esm/cli/journey/journey-list.js +6 -6
  301. package/esm/cli/journey/journey-list.js.map +1 -1
  302. package/esm/cli/journey/journey-prune.js +21 -13
  303. package/esm/cli/journey/journey-prune.js.map +1 -1
  304. package/esm/cli/journey/journey.js +2 -2
  305. package/esm/cli/journey/journey.js.map +1 -1
  306. package/esm/cli/log/log-fetch.js +65 -35
  307. package/esm/cli/log/log-fetch.js.map +1 -1
  308. package/esm/cli/log/log-key-delete.js +6 -7
  309. package/esm/cli/log/log-key-delete.js.map +1 -1
  310. package/esm/cli/log/log-key-describe.js +4 -5
  311. package/esm/cli/log/log-key-describe.js.map +1 -1
  312. package/esm/cli/log/log-key-list.js +4 -5
  313. package/esm/cli/log/log-key-list.js.map +1 -1
  314. package/esm/cli/log/log-key.js +1 -1
  315. package/esm/cli/log/log-key.js.map +1 -1
  316. package/esm/cli/log/log-list.js +62 -33
  317. package/esm/cli/log/log-list.js.map +1 -1
  318. package/esm/cli/log/log-tail.js +63 -34
  319. package/esm/cli/log/log-tail.js.map +1 -1
  320. package/esm/cli/log/log.js +2 -2
  321. package/esm/cli/log/log.js.map +1 -1
  322. package/esm/cli/oauth/oauth-client-delete.js +18 -0
  323. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  324. package/esm/cli/oauth/oauth-client-describe.js +18 -0
  325. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  326. package/esm/cli/oauth/oauth-client-export.js +48 -0
  327. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  328. package/esm/cli/oauth/oauth-client-import.js +53 -0
  329. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  330. package/esm/cli/oauth/oauth-client-list.js +21 -0
  331. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  332. package/esm/cli/oauth/oauth-client.js +14 -0
  333. package/esm/cli/oauth/oauth-client.js.map +1 -0
  334. package/esm/cli/oauth/oauth.js +13 -0
  335. package/esm/cli/oauth/oauth.js.map +1 -0
  336. package/esm/cli/realm/realm-add-custom-domain.js +6 -6
  337. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  338. package/esm/cli/realm/realm-describe.js +6 -6
  339. package/esm/cli/realm/realm-describe.js.map +1 -1
  340. package/esm/cli/realm/realm-list.js +5 -6
  341. package/esm/cli/realm/realm-list.js.map +1 -1
  342. package/esm/cli/realm/realm-remove-custom-domain.js +9 -6
  343. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  344. package/esm/cli/realm/realm.js +2 -2
  345. package/esm/cli/realm/realm.js.map +1 -1
  346. package/esm/cli/saml/saml-cot-export.js +12 -12
  347. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  348. package/esm/cli/saml/saml-cot-import.js +13 -13
  349. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  350. package/esm/cli/saml/saml-cot-list.js +7 -7
  351. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  352. package/esm/cli/saml/saml-cot.js +1 -1
  353. package/esm/cli/saml/saml-cot.js.map +1 -1
  354. package/esm/cli/saml/saml-delete.js +12 -8
  355. package/esm/cli/saml/saml-delete.js.map +1 -1
  356. package/esm/cli/saml/saml-describe.js +7 -7
  357. package/esm/cli/saml/saml-describe.js.map +1 -1
  358. package/esm/cli/saml/saml-export.js +18 -12
  359. package/esm/cli/saml/saml-export.js.map +1 -1
  360. package/esm/cli/saml/saml-import.js +22 -14
  361. package/esm/cli/saml/saml-import.js.map +1 -1
  362. package/esm/cli/saml/saml-list.js +7 -7
  363. package/esm/cli/saml/saml-list.js.map +1 -1
  364. package/esm/cli/saml/saml-metadata-export.js +8 -8
  365. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  366. package/esm/cli/saml/saml-metadata.js +1 -1
  367. package/esm/cli/saml/saml-metadata.js.map +1 -1
  368. package/esm/cli/saml/saml.js +2 -2
  369. package/esm/cli/saml/saml.js.map +1 -1
  370. package/esm/cli/script/script-delete.js +19 -8
  371. package/esm/cli/script/script-delete.js.map +1 -1
  372. package/esm/cli/script/script-describe.js +4 -5
  373. package/esm/cli/script/script-describe.js.map +1 -1
  374. package/esm/cli/script/script-export.js +10 -15
  375. package/esm/cli/script/script-export.js.map +1 -1
  376. package/esm/cli/script/script-import.js +16 -10
  377. package/esm/cli/script/script-import.js.map +1 -1
  378. package/esm/cli/script/script-list.js +8 -8
  379. package/esm/cli/script/script-list.js.map +1 -1
  380. package/esm/cli/script/script.js +3 -5
  381. package/esm/cli/script/script.js.map +1 -1
  382. package/esm/cli/service/service-delete.js +5 -5
  383. package/esm/cli/service/service-delete.js.map +1 -1
  384. package/esm/cli/service/service-export.js +10 -11
  385. package/esm/cli/service/service-export.js.map +1 -1
  386. package/esm/cli/service/service-import.js +29 -14
  387. package/esm/cli/service/service-import.js.map +1 -1
  388. package/esm/cli/service/service-list.js +4 -4
  389. package/esm/cli/service/service-list.js.map +1 -1
  390. package/esm/cli/service/service.js +2 -2
  391. package/esm/cli/service/service.js.map +1 -1
  392. package/esm/cli/shell/shell.js +55 -0
  393. package/esm/cli/shell/shell.js.map +1 -0
  394. package/esm/cli/theme/theme-delete.js +11 -11
  395. package/esm/cli/theme/theme-delete.js.map +1 -1
  396. package/esm/cli/theme/theme-export.js +14 -14
  397. package/esm/cli/theme/theme-export.js.map +1 -1
  398. package/esm/cli/theme/theme-import.js +14 -14
  399. package/esm/cli/theme/theme-import.js.map +1 -1
  400. package/esm/cli/theme/theme-list.js +6 -6
  401. package/esm/cli/theme/theme-list.js.map +1 -1
  402. package/esm/cli/theme/theme.js +2 -2
  403. package/esm/cli/theme/theme.js.map +1 -1
  404. package/esm/help/SampleData.js +1 -1
  405. package/esm/help/SampleData.js.map +1 -1
  406. package/esm/launch.js +1 -1
  407. package/esm/launch.js.map +1 -1
  408. package/esm/loader.js +2 -2
  409. package/esm/loader.js.map +1 -1
  410. package/esm/ops/AdminFederationOps.js +231 -0
  411. package/esm/ops/AdminFederationOps.js.map +1 -0
  412. package/esm/ops/AdminOps.js +151 -0
  413. package/esm/ops/AdminOps.js.map +1 -0
  414. package/esm/ops/AgentOps.js +213 -150
  415. package/esm/ops/AgentOps.js.map +1 -1
  416. package/esm/ops/ApplicationOps.js +324 -0
  417. package/esm/ops/ApplicationOps.js.map +1 -0
  418. package/esm/ops/AuthenticateOps.js +28 -0
  419. package/esm/ops/AuthenticateOps.js.map +1 -0
  420. package/esm/ops/AuthenticationSettingsOps.js +90 -0
  421. package/esm/ops/AuthenticationSettingsOps.js.map +1 -0
  422. package/esm/ops/CirclesOfTrustOps.js +98 -78
  423. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  424. package/esm/ops/ConfigOps.js +168 -0
  425. package/esm/ops/ConfigOps.js.map +1 -0
  426. package/esm/ops/ConnectionProfileOps.js +13 -6
  427. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  428. package/esm/ops/EmailTemplateOps.js +122 -127
  429. package/esm/ops/EmailTemplateOps.js.map +1 -1
  430. package/esm/ops/IdmOps.js +101 -182
  431. package/esm/ops/IdmOps.js.map +1 -1
  432. package/esm/ops/IdpOps.js +108 -75
  433. package/esm/ops/IdpOps.js.map +1 -1
  434. package/esm/ops/JourneyOps.js +182 -116
  435. package/esm/ops/JourneyOps.js.map +1 -1
  436. package/esm/ops/LogOps.js +22 -12
  437. package/esm/ops/LogOps.js.map +1 -1
  438. package/esm/ops/NodeOps.js +14 -3
  439. package/esm/ops/NodeOps.js.map +1 -1
  440. package/esm/ops/OAuth2ClientOps.js +71 -49
  441. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  442. package/esm/ops/OrganizationOps.js +14 -22
  443. package/esm/ops/OrganizationOps.js.map +1 -1
  444. package/esm/ops/PolicyOps.js +127 -86
  445. package/esm/ops/PolicyOps.js.map +1 -1
  446. package/esm/ops/PolicySetOps.js +108 -76
  447. package/esm/ops/PolicySetOps.js.map +1 -1
  448. package/esm/ops/RealmOps.js +15 -10
  449. package/esm/ops/RealmOps.js.map +1 -1
  450. package/esm/ops/ResourceTypeOps.js +105 -87
  451. package/esm/ops/ResourceTypeOps.js.map +1 -1
  452. package/esm/ops/Saml2Ops.js +138 -91
  453. package/esm/ops/Saml2Ops.js.map +1 -1
  454. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  455. package/esm/ops/ScriptOps.js +222 -90
  456. package/esm/ops/ScriptOps.js.map +1 -1
  457. package/esm/ops/SecretsOps.js +333 -79
  458. package/esm/ops/SecretsOps.js.map +1 -1
  459. package/esm/ops/ServiceOps.js +97 -54
  460. package/esm/ops/ServiceOps.js.map +1 -1
  461. package/esm/ops/ThemeOps.js +164 -158
  462. package/esm/ops/ThemeOps.js.map +1 -1
  463. package/esm/ops/VariablesOps.js +252 -65
  464. package/esm/ops/VariablesOps.js.map +1 -1
  465. package/esm/ops/utils/OpsUtils.js +1 -1
  466. package/esm/ops/utils/OpsUtils.js.map +1 -1
  467. package/esm/ops/utils/Wordwrap.js +1 -1
  468. package/esm/ops/utils/Wordwrap.js.map +1 -1
  469. package/esm/storage/StaticStorage.js +1 -1
  470. package/esm/storage/StaticStorage.js.map +1 -1
  471. package/esm/utils/Config.js +164 -4
  472. package/esm/utils/Config.js.map +1 -1
  473. package/esm/utils/Console.js +78 -35
  474. package/esm/utils/Console.js.map +1 -1
  475. package/esm/utils/Version.js +20 -17
  476. package/esm/utils/Version.js.map +1 -1
  477. package/global-jest-setup.js +5 -0
  478. package/package.json +56 -37
  479. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  480. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
  481. package/esm/utils/ExportImportUtils.js +0 -90
  482. package/esm/utils/ExportImportUtils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"idm-count.js","names":["FrodoCommand","Option","frodo","verboseMessage","countManagedObjects","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","managedObject","process","exitCode","parse"],"sources":["cli/idm/idm-count.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console';\nimport { countManagedObjects } from '../../ops/IdmOps';\n\nconst program = new FrodoCommand('frodo idm count');\n\nprogram\n .description('Count managed objects.')\n .addOption(\n new Option(\n '-m, --managed-object <type>',\n 'Type of managed object to count. E.g. \"alpha_user\", \"alpha_role\", \"user\", \"role\".'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n verboseMessage(`Counting managed ${options.managedObject} objects...`);\n countManagedObjects(options.managedObject);\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,QAAQ,uBAAuB;AAC7C,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,mBAAmB,QAAQ,kBAAkB;AAEtD,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,iBAAiB,CAAC;AAEnDK,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIN,MAAM,CACR,6BAA6B,EAC7B,mFACF,CACF,CAAC,CACAO,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,KAAK,CAACc,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCd,cAAc,CAAE,oBAAmBU,OAAO,CAACK,aAAc,aAAY,CAAC;IACtEd,mBAAmB,CAACS,OAAO,CAACK,aAAa,CAAC;EAC5C,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"idm-count.js","names":["Option","getTokens","countManagedObjects","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","managedObject","process","exitCode","parse"],"sources":["../../../src/cli/idm/idm-count.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { countManagedObjects } from '../../ops/IdmOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo idm count');\n\nprogram\n .description('Count managed objects.')\n .addOption(\n new Option(\n '-o, --managed-object <type>',\n 'Type of managed object to count. E.g. \"alpha_user\", \"alpha_role\", \"user\", \"role\".'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Counting managed ${options.managedObject} objects...`);\n await countManagedObjects(options.managedObject);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,mBAAmB,QAAQ,kBAAkB;AACtD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,iBAAiB,CAAC;AAEnDC,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIP,MAAM,CACR,6BAA6B,EAC7B,mFACF,CACF,CAAC,CACAQ,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,SAAS,CAAC,CAAC,EAAE;IACrBE,cAAc,CAAE,oBAAmBU,OAAO,CAACG,aAAc,aAAY,CAAC;IACtE,MAAMd,mBAAmB,CAACW,OAAO,CAACG,aAAa,CAAC;EAClD,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHb,OAAO,CAACc,KAAK,CAAC,CAAC"}
@@ -1,29 +1,36 @@
1
- import { FrodoCommand } from '../FrodoCommand';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { frodo } from '@rockcarver/frodo-lib';
4
- import { printMessage, verboseMessage } from '../../utils/Console';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
5
4
  import { exportAllConfigEntities, exportAllRawConfigEntities, exportConfigEntity, warnAboutOfflineConnectorServers } from '../../ops/IdmOps';
5
+ import { printMessage, verboseMessage } from '../../utils/Console';
6
+ import { FrodoCommand } from '../FrodoCommand';
6
7
  const program = new FrodoCommand('frodo idm export');
7
- program.description('Export IDM configuration objects.').addOption(new Option('-N, --name <name>', 'Config entity name. E.g. "managed", "sync", "provisioner-<connector-name>", etc.')).addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.')).addOption(new Option('-E, --entities-file [entities-file]', 'Name of the entity file. Ignored with -A.')).addOption(new Option('-e, --env-file [envfile]', 'Name of the env file. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.')).addOption(new Option('-A, --all-separate', 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.')).addOption(new Option('-D, --directory <directory>', 'Export directory. Required with and ignored without -a/-A.')).action(
8
+ program.description('Export IDM configuration objects.').addOption(new Option('-N, --name <name>', 'Config entity name. E.g. "managed", "sync", "provisioner-<connector-name>", etc.')).addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.')).addOption(new Option('-E, --entities-file [entities-file]', 'Name of the entity file. Ignored with -A.')).addOption(new Option('-e, --env-file [envfile]', 'Name of the env file. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.')).addOption(new Option('-A, --all-separate', 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.')).action(
8
9
  // implement command logic inside action handler
9
10
  async (host, realm, user, password, options, command) => {
10
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
12
  // export by id/name
12
- if (options.name && (await frodo.login.getTokens())) {
13
+ if (options.name && (await getTokens())) {
13
14
  verboseMessage(`Exporting object "${options.name}"...`);
14
- exportConfigEntity(options.name, options.file);
15
+ await exportConfigEntity(options.name, options.file);
16
+ }
17
+ // require --directory -D for all-separate functions
18
+ else if (options.allSeparate && !state.getDirectory()) {
19
+ printMessage('-D or --directory required when using -A or --all-separate', 'error');
20
+ program.help();
21
+ process.exitCode = 1;
15
22
  }
16
23
  // --all-separate -A
17
- else if (options.allSeparate && options.directory && options.entitiesFile && options.envFile && (await frodo.login.getTokens())) {
18
- verboseMessage(`Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`);
19
- exportAllConfigEntities(options.directory, options.entitiesFile, options.envFile);
20
- warnAboutOfflineConnectorServers();
24
+ else if (options.allSeparate && options.entitiesFile && options.envFile && (await getTokens())) {
25
+ verboseMessage(`Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${state.getDirectory()} using ${options.envFile} for variable replacement...`);
26
+ await exportAllConfigEntities(options.entitiesFile, options.envFile);
27
+ await warnAboutOfflineConnectorServers();
21
28
  }
22
29
  // --all-separate -A without variable replacement
23
- else if (options.allSeparate && options.directory && (await frodo.login.getTokens())) {
24
- verboseMessage(`Exporting all IDM configuration objects into separate files in ${options.directory}...`);
25
- exportAllRawConfigEntities(options.directory);
26
- warnAboutOfflineConnectorServers();
30
+ else if (options.allSeparate && (await getTokens())) {
31
+ verboseMessage(`Exporting all IDM configuration objects into separate files in ${state.getDirectory()}...`);
32
+ await exportAllRawConfigEntities();
33
+ await warnAboutOfflineConnectorServers();
27
34
  }
28
35
  // unrecognized combination of options or no options
29
36
  else {
@@ -34,6 +41,5 @@ async (host, realm, user, password, options, command) => {
34
41
  }
35
42
  // end command logic inside action handler
36
43
  );
37
-
38
44
  program.parse();
39
- //# sourceMappingURL=idm-export.js.map
45
+ //# sourceMappingURL=idm-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idm-export.js","names":["FrodoCommand","Option","frodo","printMessage","verboseMessage","exportAllConfigEntities","exportAllRawConfigEntities","exportConfigEntity","warnAboutOfflineConnectorServers","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","login","getTokens","file","allSeparate","directory","entitiesFile","envFile","help","process","exitCode","parse"],"sources":["cli/idm/idm-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n exportAllConfigEntities,\n exportAllRawConfigEntities,\n exportConfigEntity,\n warnAboutOfflineConnectorServers,\n} from '../../ops/IdmOps';\n\nconst program = new FrodoCommand('frodo idm export');\n\nprogram\n .description('Export IDM configuration objects.')\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -a.'\n )\n )\n .addOption(\n new Option(\n '-D, --directory <directory>',\n 'Export directory. Required with and ignored without -a/-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 // export by id/name\n if (options.name && (await frodo.login.getTokens())) {\n verboseMessage(`Exporting object \"${options.name}\"...`);\n exportConfigEntity(options.name, options.file);\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.directory &&\n options.entitiesFile &&\n options.envFile &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`\n );\n exportAllConfigEntities(\n options.directory,\n options.entitiesFile,\n options.envFile\n );\n warnAboutOfflineConnectorServers();\n }\n // --all-separate -A without variable replacement\n else if (\n options.allSeparate &&\n options.directory &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Exporting all IDM configuration objects into separate files in ${options.directory}...`\n );\n exportAllRawConfigEntities(options.directory);\n warnAboutOfflineConnectorServers();\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,QAAQ,uBAAuB;AAC7C,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,kBAAkB,EAClBC,gCAAgC,QAC3B,kBAAkB;AAEzB,MAAMC,OAAO,GAAG,IAAIT,YAAY,CAAC,kBAAkB,CAAC;AAEpDS,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,kFACF,CACF,CAAC,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EU,SAAS,CACR,IAAIV,MAAM,CACR,qCAAqC,EACrC,2CACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,0BAA0B,EAC1B,wCACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,2FACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,yGACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,6BAA6B,EAC7B,4DACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMlB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDlB,cAAc,CAAE,qBAAoBa,OAAO,CAACG,IAAK,MAAK,CAAC;IACvDb,kBAAkB,CAACU,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACM,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IACHN,OAAO,CAACO,WAAW,IACnBP,OAAO,CAACQ,SAAS,IACjBR,OAAO,CAACS,YAAY,IACpBT,OAAO,CAACU,OAAO,KACd,MAAMzB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CACX,oDAAmDa,OAAO,CAACS,YAAa,2BAA0BT,OAAO,CAACQ,SAAU,UAASR,OAAO,CAACU,OAAQ,8BAChJ,CAAC;IACDtB,uBAAuB,CACrBY,OAAO,CAACQ,SAAS,EACjBR,OAAO,CAACS,YAAY,EACpBT,OAAO,CAACU,OACV,CAAC;IACDnB,gCAAgC,CAAC,CAAC;EACpC;EACA;EAAA,KACK,IACHS,OAAO,CAACO,WAAW,IACnBP,OAAO,CAACQ,SAAS,KAChB,MAAMvB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CACX,kEAAiEa,OAAO,CAACQ,SAAU,KACtF,CAAC;IACDnB,0BAA0B,CAACW,OAAO,CAACQ,SAAS,CAAC;IAC7CjB,gCAAgC,CAAC,CAAC;EACpC;EACA;EAAA,KACK;IACHL,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDM,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":"idm-export.js","names":["state","Option","getTokens","exportAllConfigEntities","exportAllRawConfigEntities","exportConfigEntity","warnAboutOfflineConnectorServers","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","file","allSeparate","getDirectory","help","process","exitCode","entitiesFile","envFile","parse"],"sources":["../../../src/cli/idm/idm-export.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n exportAllConfigEntities,\n exportAllRawConfigEntities,\n exportConfigEntity,\n warnAboutOfflineConnectorServers,\n} from '../../ops/IdmOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo idm export');\n\nprogram\n .description('Export IDM configuration objects.')\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Export file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all IDM configuration objects into a single file in directory -D. Ignored with -N.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all IDM configuration objects into separate JSON files in directory -D. Ignored with -N, and -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 // export by id/name\n if (options.name && (await getTokens())) {\n verboseMessage(`Exporting object \"${options.name}\"...`);\n await exportConfigEntity(options.name, options.file);\n }\n // require --directory -D for all-separate functions\n else if (options.allSeparate && !state.getDirectory()) {\n printMessage(\n '-D or --directory required when using -A or --all-separate',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.entitiesFile &&\n options.envFile &&\n (await getTokens())\n ) {\n verboseMessage(\n `Exporting IDM configuration objects specified in ${\n options.entitiesFile\n } into separate files in ${state.getDirectory()} using ${\n options.envFile\n } for variable replacement...`\n );\n await exportAllConfigEntities(options.entitiesFile, options.envFile);\n await warnAboutOfflineConnectorServers();\n }\n // --all-separate -A without variable replacement\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage(\n `Exporting all IDM configuration objects into separate files in ${state.getDirectory()}...`\n );\n await exportAllRawConfigEntities();\n await warnAboutOfflineConnectorServers();\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,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,kBAAkB,EAClBC,gCAAgC,QAC3B,kBAAkB;AACzB,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,kBAAkB,CAAC;AAEpDC,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,kFACF,CACF,CAAC,CACAW,SAAS,CAAC,IAAIX,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EW,SAAS,CACR,IAAIX,MAAM,CACR,qCAAqC,EACrC,2CACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,0BAA0B,EAC1B,wCACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,2FACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,yGACF,CACF,CAAC,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IACvCM,cAAc,CAAE,qBAAoBU,OAAO,CAACG,IAAK,MAAK,CAAC;IACvD,MAAMhB,kBAAkB,CAACa,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACI,IAAI,CAAC;EACtD;EACA;EAAA,KACK,IAAIJ,OAAO,CAACK,WAAW,IAAI,CAACvB,KAAK,CAACwB,YAAY,CAAC,CAAC,EAAE;IACrDjB,YAAY,CACV,4DAA4D,EAC5D,OACF,CAAC;IACDG,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;EACA;EAAA,KACK,IACHT,OAAO,CAACK,WAAW,IACnBL,OAAO,CAACU,YAAY,IACpBV,OAAO,CAACW,OAAO,KACd,MAAM3B,SAAS,CAAC,CAAC,CAAC,EACnB;IACAM,cAAc,CACX,oDACCU,OAAO,CAACU,YACT,2BAA0B5B,KAAK,CAACwB,YAAY,CAAC,CAAE,UAC9CN,OAAO,CAACW,OACT,8BACH,CAAC;IACD,MAAM1B,uBAAuB,CAACe,OAAO,CAACU,YAAY,EAAEV,OAAO,CAACW,OAAO,CAAC;IACpE,MAAMvB,gCAAgC,CAAC,CAAC;EAC1C;EACA;EAAA,KACK,IAAIY,OAAO,CAACK,WAAW,KAAK,MAAMrB,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDM,cAAc,CACX,kEAAiER,KAAK,CAACwB,YAAY,CAAC,CAAE,KACzF,CAAC;IACD,MAAMpB,0BAA0B,CAAC,CAAC;IAClC,MAAME,gCAAgC,CAAC,CAAC;EAC1C;EACA;EAAA,KACK;IACHC,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDG,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHjB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
@@ -1,32 +1,39 @@
1
- import { FrodoCommand } from '../FrodoCommand';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { frodo } from '@rockcarver/frodo-lib';
4
- import { printMessage, verboseMessage } from '../../utils/Console';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
5
4
  import { importAllConfigEntities, importAllRawConfigEntities, importConfigEntityByIdFromFile, importConfigEntityFromFile } from '../../ops/IdmOps';
5
+ import { printMessage, verboseMessage } from '../../utils/Console';
6
+ import { FrodoCommand } from '../FrodoCommand';
6
7
  const program = new FrodoCommand('frodo idm import');
7
- program.description('Import IDM configuration objects.').addOption(new Option('-N, --name <name>', 'Config entity name. E.g. "managed", "sync", "provisioner-<connector-name>", etc.')).addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.')).addOption(new Option('-E, --entities-file [entities-file]', 'Name of the entity file. Ignored with -A.')).addOption(new Option('-e, --env-file [envfile]', 'Name of the env file. Ignored with -A.')).addOption(new Option('-A, --all-separate', 'Import all IDM configuration objects from separate files in directory -D. Ignored with -N, and -a.')).addOption(new Option('-D, --directory <directory>', 'Import directory. Required with and ignored without -a/-A.')).action(
8
+ program.description('Import IDM configuration objects.').addOption(new Option('-N, --name <name>', 'Config entity name. E.g. "managed", "sync", "provisioner-<connector-name>", etc.')).addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.')).addOption(new Option('-E, --entities-file [entities-file]', 'Name of the entity file. Ignored with -A.')).addOption(new Option('-e, --env-file [envfile]', 'Name of the env file. Ignored with -A.')).addOption(new Option('-A, --all-separate', 'Import all IDM configuration objects from separate files in directory -D. Ignored with -N, and -a.')).action(
8
9
  // implement command logic inside action handler
9
10
  async (host, realm, user, password, options, command) => {
10
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
12
  // import by id/name
12
- if (options.name && (await frodo.login.getTokens())) {
13
+ if (options.name && (await getTokens())) {
13
14
  verboseMessage(`Importing object "${options.name}"...`);
14
15
  await importConfigEntityByIdFromFile(options.name, options.file);
15
16
  }
16
17
  // import from file
17
- if (options.file && (await frodo.login.getTokens())) {
18
+ else if (options.file && (await getTokens())) {
18
19
  verboseMessage(`Importing object from file...`);
19
20
  await importConfigEntityFromFile(options.file);
20
21
  }
22
+ // require --directory -D for all-separate functions
23
+ else if (options.allSeparate && !state.getDirectory()) {
24
+ printMessage('-D or --directory required when using -A or --all-separate', 'error');
25
+ program.help();
26
+ process.exitCode = 1;
27
+ }
21
28
  // --all-separate -A
22
- else if (options.allSeparate && options.directory && options.entitiesFile && options.envFile && (await frodo.login.getTokens())) {
23
- verboseMessage(`Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`);
24
- await importAllConfigEntities(options.directory, options.entitiesFile, options.envFile);
29
+ else if (options.allSeparate && options.entitiesFile && options.envFile && (await getTokens())) {
30
+ verboseMessage(`Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${state.getDirectory()} using ${options.envFile} for variable replacement...`);
31
+ await importAllConfigEntities(options.entitiesFile, options.envFile);
25
32
  }
26
33
  // --all-separate -A without variable replacement
27
- else if (options.allSeparate && options.directory && (await frodo.login.getTokens())) {
28
- verboseMessage(`Importing all IDM configuration objects from separate files in ${options.directory}...`);
29
- await importAllRawConfigEntities(options.directory);
34
+ else if (options.allSeparate && (await getTokens())) {
35
+ verboseMessage(`Importing all IDM configuration objects from separate files in ${state.getDirectory()}...`);
36
+ await importAllRawConfigEntities();
30
37
  }
31
38
  // unrecognized combination of options or no options
32
39
  else {
@@ -37,6 +44,5 @@ async (host, realm, user, password, options, command) => {
37
44
  }
38
45
  // end command logic inside action handler
39
46
  );
40
-
41
47
  program.parse();
42
- //# sourceMappingURL=idm-import.js.map
48
+ //# sourceMappingURL=idm-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idm-import.js","names":["FrodoCommand","Option","frodo","printMessage","verboseMessage","importAllConfigEntities","importAllRawConfigEntities","importConfigEntityByIdFromFile","importConfigEntityFromFile","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","login","getTokens","file","allSeparate","directory","entitiesFile","envFile","help","process","exitCode","parse"],"sources":["cli/idm/idm-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n importAllConfigEntities,\n importAllRawConfigEntities,\n importConfigEntityByIdFromFile,\n importConfigEntityFromFile,\n} from '../../ops/IdmOps';\n\nconst program = new FrodoCommand('frodo idm import');\n\ninterface IdmImportOptions {\n type?: string;\n insecure?: boolean;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n name?: string;\n file?: string;\n entitiesFile?: string;\n envFile?: string;\n all?: string;\n allSeparate?: string;\n directory?: string;\n}\n\nprogram\n .description('Import IDM configuration objects.')\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all IDM configuration objects from separate files in directory -D. Ignored with -N, and -a.'\n )\n )\n .addOption(\n new Option(\n '-D, --directory <directory>',\n 'Import directory. Required with and ignored without -a/-A.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: IdmImportOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import by id/name\n if (options.name && (await frodo.login.getTokens())) {\n verboseMessage(`Importing object \"${options.name}\"...`);\n await importConfigEntityByIdFromFile(options.name, options.file);\n }\n // import from file\n if (options.file && (await frodo.login.getTokens())) {\n verboseMessage(`Importing object from file...`);\n await importConfigEntityFromFile(options.file);\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.directory &&\n options.entitiesFile &&\n options.envFile &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`\n );\n await importAllConfigEntities(\n options.directory,\n options.entitiesFile,\n options.envFile\n );\n }\n // --all-separate -A without variable replacement\n else if (\n options.allSeparate &&\n options.directory &&\n (await frodo.login.getTokens())\n ) {\n verboseMessage(\n `Importing all IDM configuration objects from separate files in ${options.directory}...`\n );\n await importAllRawConfigEntities(options.directory);\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,QAAQ,uBAAuB;AAC7C,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,8BAA8B,EAC9BC,0BAA0B,QACrB,kBAAkB;AAEzB,MAAMC,OAAO,GAAG,IAAIT,YAAY,CAAC,kBAAkB,CAAC;AAiBpDS,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,kFACF,CACF,CAAC,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EU,SAAS,CACR,IAAIV,MAAM,CACR,qCAAqC,EACrC,2CACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,0BAA0B,EAC1B,wCACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,oGACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,6BAA6B,EAC7B,4DACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAAyB,EACzBC,OAAO,KACJ;EACHA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMlB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDlB,cAAc,CAAE,qBAAoBa,OAAO,CAACG,IAAK,MAAK,CAAC;IACvD,MAAMb,8BAA8B,CAACU,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACM,IAAI,CAAC;EAClE;EACA;EACA,IAAIN,OAAO,CAACM,IAAI,KAAK,MAAMrB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDlB,cAAc,CAAE,+BAA8B,CAAC;IAC/C,MAAMI,0BAA0B,CAACS,OAAO,CAACM,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IACHN,OAAO,CAACO,WAAW,IACnBP,OAAO,CAACQ,SAAS,IACjBR,OAAO,CAACS,YAAY,IACpBT,OAAO,CAACU,OAAO,KACd,MAAMzB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CACX,oDAAmDa,OAAO,CAACS,YAAa,2BAA0BT,OAAO,CAACQ,SAAU,UAASR,OAAO,CAACU,OAAQ,8BAChJ,CAAC;IACD,MAAMtB,uBAAuB,CAC3BY,OAAO,CAACQ,SAAS,EACjBR,OAAO,CAACS,YAAY,EACpBT,OAAO,CAACU,OACV,CAAC;EACH;EACA;EAAA,KACK,IACHV,OAAO,CAACO,WAAW,IACnBP,OAAO,CAACQ,SAAS,KAChB,MAAMvB,KAAK,CAACmB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAlB,cAAc,CACX,kEAAiEa,OAAO,CAACQ,SAAU,KACtF,CAAC;IACD,MAAMnB,0BAA0B,CAACW,OAAO,CAACQ,SAAS,CAAC;EACrD;EACA;EAAA,KACK;IACHtB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDM,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":"idm-import.js","names":["state","Option","getTokens","importAllConfigEntities","importAllRawConfigEntities","importConfigEntityByIdFromFile","importConfigEntityFromFile","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","file","allSeparate","getDirectory","help","process","exitCode","entitiesFile","envFile","parse"],"sources":["../../../src/cli/idm/idm-import.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n importAllConfigEntities,\n importAllRawConfigEntities,\n importConfigEntityByIdFromFile,\n importConfigEntityFromFile,\n} from '../../ops/IdmOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo idm import');\n\ninterface IdmImportOptions {\n type?: string;\n insecure?: boolean;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n name?: string;\n file?: string;\n entitiesFile?: string;\n envFile?: string;\n all?: string;\n allSeparate?: string;\n directory?: string;\n}\n\nprogram\n .description('Import IDM configuration objects.')\n .addOption(\n new Option(\n '-N, --name <name>',\n 'Config entity name. E.g. \"managed\", \"sync\", \"provisioner-<connector-name>\", etc.'\n )\n )\n .addOption(new Option('-f, --file [file]', 'Import file. Ignored with -A.'))\n .addOption(\n new Option(\n '-E, --entities-file [entities-file]',\n 'Name of the entity file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-e, --env-file [envfile]',\n 'Name of the env file. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all IDM configuration objects from separate files in directory -D. Ignored with -N, and -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: IdmImportOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import by id/name\n if (options.name && (await getTokens())) {\n verboseMessage(`Importing object \"${options.name}\"...`);\n await importConfigEntityByIdFromFile(options.name, options.file);\n }\n // import from file\n else if (options.file && (await getTokens())) {\n verboseMessage(`Importing object from file...`);\n await importConfigEntityFromFile(options.file);\n }\n // require --directory -D for all-separate functions\n else if (options.allSeparate && !state.getDirectory()) {\n printMessage(\n '-D or --directory required when using -A or --all-separate',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n // --all-separate -A\n else if (\n options.allSeparate &&\n options.entitiesFile &&\n options.envFile &&\n (await getTokens())\n ) {\n verboseMessage(\n `Importing IDM configuration objects specified in ${\n options.entitiesFile\n } into separate files in ${state.getDirectory()} using ${\n options.envFile\n } for variable replacement...`\n );\n await importAllConfigEntities(options.entitiesFile, options.envFile);\n }\n // --all-separate -A without variable replacement\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage(\n `Importing all IDM configuration objects from separate files in ${state.getDirectory()}...`\n );\n await importAllRawConfigEntities();\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,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,8BAA8B,EAC9BC,0BAA0B,QACrB,kBAAkB;AACzB,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,kBAAkB,CAAC;AAiBpDC,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,kFACF,CACF,CAAC,CACAW,SAAS,CAAC,IAAIX,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EW,SAAS,CACR,IAAIX,MAAM,CACR,qCAAqC,EACrC,2CACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,0BAA0B,EAC1B,wCACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,oGACF,CACF,CAAC,CACAY,MAAM;AACL;AACA,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAAyB,EACzBC,OAAO,KACJ;EACHA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IACvCM,cAAc,CAAE,qBAAoBU,OAAO,CAACG,IAAK,MAAK,CAAC;IACvD,MAAMhB,8BAA8B,CAACa,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACI,IAAI,CAAC;EAClE;EACA;EAAA,KACK,IAAIJ,OAAO,CAACI,IAAI,KAAK,MAAMpB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CM,cAAc,CAAE,+BAA8B,CAAC;IAC/C,MAAMF,0BAA0B,CAACY,OAAO,CAACI,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IAAIJ,OAAO,CAACK,WAAW,IAAI,CAACvB,KAAK,CAACwB,YAAY,CAAC,CAAC,EAAE;IACrDjB,YAAY,CACV,4DAA4D,EAC5D,OACF,CAAC;IACDG,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;EACA;EAAA,KACK,IACHT,OAAO,CAACK,WAAW,IACnBL,OAAO,CAACU,YAAY,IACpBV,OAAO,CAACW,OAAO,KACd,MAAM3B,SAAS,CAAC,CAAC,CAAC,EACnB;IACAM,cAAc,CACX,oDACCU,OAAO,CAACU,YACT,2BAA0B5B,KAAK,CAACwB,YAAY,CAAC,CAAE,UAC9CN,OAAO,CAACW,OACT,8BACH,CAAC;IACD,MAAM1B,uBAAuB,CAACe,OAAO,CAACU,YAAY,EAAEV,OAAO,CAACW,OAAO,CAAC;EACtE;EACA;EAAA,KACK,IAAIX,OAAO,CAACK,WAAW,KAAK,MAAMrB,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDM,cAAc,CACX,kEAAiER,KAAK,CAACwB,YAAY,CAAC,CAAE,KACzF,CAAC;IACD,MAAMpB,0BAA0B,CAAC,CAAC;EACpC;EACA;EAAA,KACK;IACHG,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDG,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHjB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { frodo } from '@rockcarver/frodo-lib';
3
- import { verboseMessage } from '../../utils/Console';
1
+ import { getTokens } from '../../ops/AuthenticateOps';
4
2
  import { listAllConfigEntities, warnAboutOfflineConnectorServers } from '../../ops/IdmOps';
3
+ import { verboseMessage } from '../../utils/Console';
4
+ import { FrodoCommand } from '../FrodoCommand';
5
5
  const program = new FrodoCommand('frodo idm list');
6
6
  program.description('List IDM configuration objects.')
7
7
  // .addOption(
@@ -11,16 +11,15 @@ program.description('List IDM configuration objects.')
11
11
  // implement command logic inside action handler
12
12
  async (host, realm, user, password, options, command) => {
13
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
14
- if (await frodo.login.getTokens()) {
14
+ if (await getTokens()) {
15
15
  verboseMessage('Listing all IDM configuration objects...');
16
- listAllConfigEntities();
17
- warnAboutOfflineConnectorServers();
16
+ await listAllConfigEntities();
17
+ await warnAboutOfflineConnectorServers();
18
18
  } else {
19
19
  process.exitCode = 1;
20
20
  }
21
21
  }
22
22
  // end command logic inside action handler
23
23
  );
24
-
25
24
  program.parse();
26
- //# sourceMappingURL=idm-list.js.map
25
+ //# sourceMappingURL=idm-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idm-list.js","names":["FrodoCommand","frodo","verboseMessage","listAllConfigEntities","warnAboutOfflineConnectorServers","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","process","exitCode","parse"],"sources":["cli/idm/idm-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { frodo } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console';\nimport {\n listAllConfigEntities,\n warnAboutOfflineConnectorServers,\n} from '../../ops/IdmOps';\n\nconst program = new FrodoCommand('frodo idm list');\n\nprogram\n .description('List IDM configuration objects.')\n // .addOption(\n // new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n // )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n verboseMessage('Listing all IDM configuration objects...');\n listAllConfigEntities();\n warnAboutOfflineConnectorServers();\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,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SACEC,qBAAqB,EACrBC,gCAAgC,QAC3B,kBAAkB;AAEzB,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,gBAAgB,CAAC;AAElDK,OAAO,CACJC,WAAW,CAAC,iCAAiC;AAC9C;AACA;AACA;AAAA,CACCC,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,KAAK,CAACc,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCd,cAAc,CAAC,0CAA0C,CAAC;IAC1DC,qBAAqB,CAAC,CAAC;IACvBC,gCAAgC,CAAC,CAAC;EACpC,CAAC,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHb,OAAO,CAACc,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"idm-list.js","names":["getTokens","listAllConfigEntities","warnAboutOfflineConnectorServers","verboseMessage","FrodoCommand","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/idm/idm-list.ts"],"sourcesContent":["import { getTokens } from '../../ops/AuthenticateOps';\nimport {\n listAllConfigEntities,\n warnAboutOfflineConnectorServers,\n} from '../../ops/IdmOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo idm list');\n\nprogram\n .description('List IDM configuration objects.')\n // .addOption(\n // new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n // )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage('Listing all IDM configuration objects...');\n await listAllConfigEntities();\n await warnAboutOfflineConnectorServers();\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,2BAA2B;AACrD,SACEC,qBAAqB,EACrBC,gCAAgC,QAC3B,kBAAkB;AACzB,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,gBAAgB,CAAC;AAElDC,OAAO,CACJC,WAAW,CAAC,iCAAiC;AAC9C;AACA;AACA;AAAA,CACCC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMb,SAAS,CAAC,CAAC,EAAE;IACrBG,cAAc,CAAC,0CAA0C,CAAC;IAC1D,MAAMF,qBAAqB,CAAC,CAAC;IAC7B,MAAMC,gCAAgC,CAAC,CAAC;EAC1C,CAAC,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHX,OAAO,CAACY,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('idm').description('Manage IDM configuration.').executableDir(__dirname);
@@ -10,4 +10,4 @@ export default function setup() {
10
10
  program.command('count', 'Count number of managed objects of a given type.');
11
11
  return program;
12
12
  }
13
- //# sourceMappingURL=idm.js.map
13
+ //# sourceMappingURL=idm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idm.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/idm/idm.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('idm')\n .description('Manage IDM configuration.')\n .executableDir(__dirname);\n\n program.command('list', 'List all IDM configuration objects.');\n\n program.command('export', 'Export IDM configuration objects.');\n\n program.command('import', 'Import IDM configuration objects.');\n\n program.command('count', 'Count number of managed objects of a given type.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,KAAK,CAAC,CACxCU,WAAW,CAAC,2BAA2B,CAAC,CACxCC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,qCAAqC,CAAC;EAE9DH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mCAAmC,CAAC;EAE9DH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mCAAmC,CAAC;EAE9DH,OAAO,CAACG,OAAO,CAAC,OAAO,EAAE,kDAAkD,CAAC;EAE5E,OAAOH,OAAO;AAChB"}
1
+ {"version":3,"file":"idm.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["../../../src/cli/idm/idm.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('idm')\n .description('Manage IDM configuration.')\n .executableDir(__dirname);\n\n program.command('list', 'List all IDM configuration objects.');\n\n program.command('export', 'Export IDM configuration objects.');\n\n program.command('import', 'Import IDM configuration objects.');\n\n program.command('count', 'Count number of managed objects of a given type.');\n\n return program;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,KAAK,CAAC,CACxCQ,WAAW,CAAC,2BAA2B,CAAC,CACxCC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,qCAAqC,CAAC;EAE9DH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mCAAmC,CAAC;EAE9DH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mCAAmC,CAAC;EAE9DH,OAAO,CAACG,OAAO,CAAC,OAAO,EAAE,kDAAkD,CAAC;EAE5E,OAAOH,OAAO;AAChB"}
@@ -1,28 +1,29 @@
1
- import { FrodoCommand } from '../FrodoCommand';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { frodo, state } from '@rockcarver/frodo-lib';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
4
+ import { exportSocialIdentityProvidersToFile, exportSocialIdentityProvidersToFiles, exportSocialIdentityProviderToFile } from '../../ops/IdpOps';
4
5
  import { printMessage, verboseMessage } from '../../utils/Console';
5
- import { exportSocialProvidersToFile, exportSocialProvidersToFiles, exportSocialProviderToFile } from '../../ops/IdpOps';
6
+ import { FrodoCommand } from '../FrodoCommand';
6
7
  const program = new FrodoCommand('frodo idp export');
7
- program.description('Export (social) identity providers.').addOption(new Option('-i, --idp-id <idp-id>', 'Id/name of a provider. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the file to write the exported provider(s) to. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all the providers in a realm to a single file. Ignored with -t and -i.')).addOption(new Option('-A, --all-separate', 'Export all the providers in a realm as separate files <provider name>.idp.json. Ignored with -t, -i, and -a.')).action(
8
+ program.description('Export (social) identity providers.').addOption(new Option('-i, --idp-id <idp-id>', 'Id/name of a provider. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the file to write the exported provider(s) to. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all the providers in a realm to a single file. Ignored with -t and -i.')).addOption(new Option('-A, --all-separate', 'Export all the providers in a realm as separate files <provider name>.idp.json. Ignored with -t, -i, and -a.')).addOption(new Option('-N, --no-metadata', 'Does not include metadata in the export file.')).action(
8
9
  // implement command logic inside action handler
9
10
  async (host, realm, user, password, options, command) => {
10
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
- if (await frodo.login.getTokens()) {
12
+ if (await getTokens()) {
12
13
  // export by id/name
13
14
  if (options.idpId) {
14
15
  verboseMessage(`Exporting provider "${options.idpId}" from realm "${state.getRealm()}"...`);
15
- exportSocialProviderToFile(options.idpId, options.file);
16
+ await exportSocialIdentityProviderToFile(options.idpId, options.file, options.metadata);
16
17
  }
17
18
  // --all -a
18
19
  else if (options.all) {
19
20
  verboseMessage('Exporting all providers to a single file...');
20
- exportSocialProvidersToFile(options.file);
21
+ await exportSocialIdentityProvidersToFile(options.file, options.metadata);
21
22
  }
22
23
  // --all-separate -A
23
24
  else if (options.allSeparate) {
24
25
  verboseMessage('Exporting all providers to separate files...');
25
- exportSocialProvidersToFiles();
26
+ await exportSocialIdentityProvidersToFiles(options.metadata);
26
27
  }
27
28
  // unrecognized combination of options or no options
28
29
  else {
@@ -34,6 +35,5 @@ async (host, realm, user, password, options, command) => {
34
35
  }
35
36
  // end command logic inside action handler
36
37
  );
37
-
38
38
  program.parse();
39
- //# sourceMappingURL=idp-export.js.map
39
+ //# sourceMappingURL=idp-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idp-export.js","names":["FrodoCommand","Option","frodo","state","printMessage","verboseMessage","exportSocialProvidersToFile","exportSocialProvidersToFiles","exportSocialProviderToFile","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","idpId","getRealm","file","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/idp/idp-export.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 exportSocialProvidersToFile,\n exportSocialProvidersToFiles,\n exportSocialProviderToFile,\n} from '../../ops/IdpOps';\n\nconst program = new FrodoCommand('frodo idp export');\n\nprogram\n .description('Export (social) identity providers.')\n .addOption(\n new Option(\n '-i, --idp-id <idp-id>',\n 'Id/name of a provider. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the file to write the exported provider(s) to. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the providers in a realm to a single file. Ignored with -t and -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the providers in a realm as separate files <provider name>.idp.json. Ignored with -t, -i, and -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 if (await frodo.login.getTokens()) {\n // export by id/name\n if (options.idpId) {\n verboseMessage(\n `Exporting provider \"${\n options.idpId\n }\" from realm \"${state.getRealm()}\"...`\n );\n exportSocialProviderToFile(options.idpId, options.file);\n }\n // --all -a\n else if (options.all) {\n verboseMessage('Exporting all providers to a single file...');\n exportSocialProvidersToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate) {\n verboseMessage('Exporting all providers to separate files...');\n exportSocialProvidersToFiles();\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 }\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,2BAA2B,EAC3BC,4BAA4B,EAC5BC,0BAA0B,QACrB,kBAAkB;AAEzB,MAAMC,OAAO,GAAG,IAAIT,YAAY,CAAC,kBAAkB,CAAC;AAEpDS,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,SAAS,CACR,IAAIV,MAAM,CACR,uBAAuB,EACvB,6DACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,yEACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,+EACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,8GACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMhB,KAAK,CAACkB,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjC;IACA,IAAIJ,OAAO,CAACK,KAAK,EAAE;MACjBjB,cAAc,CACX,uBACCY,OAAO,CAACK,KACT,iBAAgBnB,KAAK,CAACoB,QAAQ,CAAC,CAAE,MACpC,CAAC;MACDf,0BAA0B,CAACS,OAAO,CAACK,KAAK,EAAEL,OAAO,CAACO,IAAI,CAAC;IACzD;IACA;IAAA,KACK,IAAIP,OAAO,CAACQ,GAAG,EAAE;MACpBpB,cAAc,CAAC,6CAA6C,CAAC;MAC7DC,2BAA2B,CAACW,OAAO,CAACO,IAAI,CAAC;IAC3C;IACA;IAAA,KACK,IAAIP,OAAO,CAACS,WAAW,EAAE;MAC5BrB,cAAc,CAAC,8CAA8C,CAAC;MAC9DE,4BAA4B,CAAC,CAAC;IAChC;IACA;IAAA,KACK;MACHH,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;MACDK,OAAO,CAACkB,IAAI,CAAC,CAAC;MACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;AACF;AACA;AACF,CAAC;;AAEHpB,OAAO,CAACqB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"idp-export.js","names":["state","Option","getTokens","exportSocialIdentityProvidersToFile","exportSocialIdentityProvidersToFiles","exportSocialIdentityProviderToFile","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","idpId","getRealm","file","metadata","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/idp/idp-export.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n exportSocialIdentityProvidersToFile,\n exportSocialIdentityProvidersToFiles,\n exportSocialIdentityProviderToFile,\n} from '../../ops/IdpOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo idp export');\n\nprogram\n .description('Export (social) identity providers.')\n .addOption(\n new Option(\n '-i, --idp-id <idp-id>',\n 'Id/name of a provider. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the file to write the exported provider(s) to. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the providers in a realm to a single file. Ignored with -t and -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the providers in a realm as separate files <provider name>.idp.json. Ignored with -t, -i, and -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export file.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // export by id/name\n if (options.idpId) {\n verboseMessage(\n `Exporting provider \"${\n options.idpId\n }\" from realm \"${state.getRealm()}\"...`\n );\n await exportSocialIdentityProviderToFile(\n options.idpId,\n options.file,\n options.metadata\n );\n }\n // --all -a\n else if (options.all) {\n verboseMessage('Exporting all providers to a single file...');\n await exportSocialIdentityProvidersToFile(\n options.file,\n options.metadata\n );\n }\n // --all-separate -A\n else if (options.allSeparate) {\n verboseMessage('Exporting all providers to separate files...');\n await exportSocialIdentityProvidersToFiles(options.metadata);\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 }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SACEC,mCAAmC,EACnCC,oCAAoC,EACpCC,kCAAkC,QAC7B,kBAAkB;AACzB,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,kBAAkB,CAAC;AAEpDC,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,SAAS,CACR,IAAIV,MAAM,CACR,uBAAuB,EACvB,6DACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,yEACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,+EACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,8GACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,+CACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMhB,SAAS,CAAC,CAAC,EAAE;IACrB;IACA,IAAIe,OAAO,CAACG,KAAK,EAAE;MACjBb,cAAc,CACX,uBACCU,OAAO,CAACG,KACT,iBAAgBpB,KAAK,CAACqB,QAAQ,CAAC,CAAE,MACpC,CAAC;MACD,MAAMhB,kCAAkC,CACtCY,OAAO,CAACG,KAAK,EACbH,OAAO,CAACK,IAAI,EACZL,OAAO,CAACM,QACV,CAAC;IACH;IACA;IAAA,KACK,IAAIN,OAAO,CAACO,GAAG,EAAE;MACpBjB,cAAc,CAAC,6CAA6C,CAAC;MAC7D,MAAMJ,mCAAmC,CACvCc,OAAO,CAACK,IAAI,EACZL,OAAO,CAACM,QACV,CAAC;IACH;IACA;IAAA,KACK,IAAIN,OAAO,CAACQ,WAAW,EAAE;MAC5BlB,cAAc,CAAC,8CAA8C,CAAC;MAC9D,MAAMH,oCAAoC,CAACa,OAAO,CAACM,QAAQ,CAAC;IAC9D;IACA;IAAA,KACK;MACHjB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;MACDG,OAAO,CAACiB,IAAI,CAAC,CAAC;MACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;AACF;AACA;AACF,CAAC;AAEHnB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
@@ -1,32 +1,41 @@
1
- import { FrodoCommand } from '../FrodoCommand';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { frodo, state } from '@rockcarver/frodo-lib';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
4
+ import { importFirstSocialIdentityProviderFromFile, importSocialIdentityProviderFromFile, importSocialIdentityProvidersFromFile, importSocialIdentityProvidersFromFiles } from '../../ops/IdpOps';
4
5
  import { printMessage, verboseMessage } from '../../utils/Console';
5
- import { importFirstSocialProviderFromFile, importSocialProviderFromFile, importSocialProvidersFromFile, importSocialProvidersFromFiles } from '../../ops/IdpOps';
6
+ import { FrodoCommand } from '../FrodoCommand';
6
7
  const program = new FrodoCommand('frodo idp import');
7
- program.description('Import (social) identity providers.').addOption(new Option('-i, --idp-id <id>', 'Provider id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the provider(s) from.')).addOption(new Option('-a, --all', 'Import all the providers from single file. Ignored with -t or -i.')).addOption(new Option('-A, --all-separate', 'Import all the providers from separate files (*.json) in the current directory. Ignored with -t or -i or -a.')).action(
8
+ program.description('Import (social) identity providers.').addOption(new Option('-i, --idp-id <id>', 'Provider id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the provider(s) from.')).addOption(new Option('-a, --all', 'Import all the providers from single file. Ignored with -t or -i.')).addOption(new Option('-A, --all-separate', 'Import all the providers from separate files (*.json) in the current directory. Ignored with -t or -i or -a.')).addOption(new Option('--no-deps', 'Do not include any dependencies (scripts).')).action(
8
9
  // implement command logic inside action handler
9
10
  async (host, realm, user, password, options, command) => {
10
11
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
12
  // import by id
12
- if (options.file && options.idpId && (await frodo.login.getTokens())) {
13
+ if (options.file && options.idpId && (await getTokens())) {
13
14
  verboseMessage(`Importing provider "${options.idpId}" into realm "${state.getRealm()}"...`);
14
- importSocialProviderFromFile(options.idpId, options.file);
15
+ await importSocialIdentityProviderFromFile(options.idpId, options.file, {
16
+ deps: options.deps
17
+ });
15
18
  }
16
19
  // --all -a
17
- else if (options.all && options.file && (await frodo.login.getTokens())) {
20
+ else if (options.all && options.file && (await getTokens())) {
18
21
  verboseMessage(`Importing all providers from a single file (${options.file})...`);
19
- importSocialProvidersFromFile(options.file);
22
+ await importSocialIdentityProvidersFromFile(options.file, {
23
+ deps: options.deps
24
+ });
20
25
  }
21
26
  // --all-separate -A
22
- else if (options.allSeparate && !options.file && (await frodo.login.getTokens())) {
27
+ else if (options.allSeparate && !options.file && (await getTokens())) {
23
28
  verboseMessage('Importing all providers from separate files in current directory...');
24
- importSocialProvidersFromFiles();
29
+ await importSocialIdentityProvidersFromFiles({
30
+ deps: options.deps
31
+ });
25
32
  }
26
33
  // import first provider from file
27
- else if (options.file && (await frodo.login.getTokens())) {
34
+ else if (options.file && (await getTokens())) {
28
35
  verboseMessage(`Importing first provider from file "${options.file}" into realm "${state.getRealm()}"...`);
29
- importFirstSocialProviderFromFile(options.file);
36
+ await importFirstSocialIdentityProviderFromFile(options.file, {
37
+ deps: options.deps
38
+ });
30
39
  }
31
40
  // unrecognized combination of options or no options
32
41
  else {
@@ -37,6 +46,5 @@ async (host, realm, user, password, options, command) => {
37
46
  }
38
47
  // end command logic inside action handler
39
48
  );
40
-
41
49
  program.parse();
42
- //# sourceMappingURL=idp-import.js.map
50
+ //# sourceMappingURL=idp-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idp-import.js","names":["FrodoCommand","Option","frodo","state","printMessage","verboseMessage","importFirstSocialProviderFromFile","importSocialProviderFromFile","importSocialProvidersFromFile","importSocialProvidersFromFiles","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","idpId","login","getTokens","getRealm","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/idp/idp-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 importFirstSocialProviderFromFile,\n importSocialProviderFromFile,\n importSocialProvidersFromFile,\n importSocialProvidersFromFiles,\n} from '../../ops/IdpOps';\n\nconst program = new FrodoCommand('frodo idp import');\n\nprogram\n .description('Import (social) identity providers.')\n .addOption(\n new Option(\n '-i, --idp-id <id>',\n 'Provider id. 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 provider(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the providers from single file. Ignored with -t or -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the providers from separate files (*.json) in the current directory. Ignored with -t 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 id\n if (options.file && options.idpId && (await frodo.login.getTokens())) {\n verboseMessage(\n `Importing provider \"${\n options.idpId\n }\" into realm \"${state.getRealm()}\"...`\n );\n importSocialProviderFromFile(options.idpId, options.file);\n }\n // --all -a\n else if (options.all && options.file && (await frodo.login.getTokens())) {\n verboseMessage(\n `Importing all providers from a single file (${options.file})...`\n );\n importSocialProvidersFromFile(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 providers from separate files in current directory...'\n );\n importSocialProvidersFromFiles();\n }\n // import first provider from file\n else if (options.file && (await frodo.login.getTokens())) {\n verboseMessage(\n `Importing first provider from file \"${\n options.file\n }\" into realm \"${state.getRealm()}\"...`\n );\n importFirstSocialProviderFromFile(options.file);\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,iCAAiC,EACjCC,4BAA4B,EAC5BC,6BAA6B,EAC7BC,8BAA8B,QACzB,kBAAkB;AAEzB,MAAMC,OAAO,GAAG,IAAIV,YAAY,CAAC,kBAAkB,CAAC;AAEpDU,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,mDACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,kDACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,mEACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,8GACF,CACF,CAAC,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,IAAIH,OAAO,CAACI,KAAK,KAAK,MAAMpB,KAAK,CAACqB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACpEnB,cAAc,CACX,uBACCa,OAAO,CAACI,KACT,iBAAgBnB,KAAK,CAACsB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDlB,4BAA4B,CAACW,OAAO,CAACI,KAAK,EAAEJ,OAAO,CAACG,IAAI,CAAC;EAC3D;EACA;EAAA,KACK,IAAIH,OAAO,CAACQ,GAAG,IAAIR,OAAO,CAACG,IAAI,KAAK,MAAMnB,KAAK,CAACqB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACvEnB,cAAc,CACX,+CAA8Ca,OAAO,CAACG,IAAK,MAC9D,CAAC;IACDb,6BAA6B,CAACU,OAAO,CAACG,IAAI,CAAC;EAC7C;EACA;EAAA,KACK,IACHH,OAAO,CAACS,WAAW,IACnB,CAACT,OAAO,CAACG,IAAI,KACZ,MAAMnB,KAAK,CAACqB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAC/B;IACAnB,cAAc,CACZ,qEACF,CAAC;IACDI,8BAA8B,CAAC,CAAC;EAClC;EACA;EAAA,KACK,IAAIS,OAAO,CAACG,IAAI,KAAK,MAAMnB,KAAK,CAACqB,KAAK,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE;IACxDnB,cAAc,CACX,uCACCa,OAAO,CAACG,IACT,iBAAgBlB,KAAK,CAACsB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDnB,iCAAiC,CAACY,OAAO,CAACG,IAAI,CAAC;EACjD;EACA;EAAA,KACK;IACHjB,YAAY,CAAC,sDAAsD,CAAC;IACpEM,OAAO,CAACkB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHpB,OAAO,CAACqB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"idp-import.js","names":["state","Option","getTokens","importFirstSocialIdentityProviderFromFile","importSocialIdentityProviderFromFile","importSocialIdentityProvidersFromFile","importSocialIdentityProvidersFromFiles","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","idpId","getRealm","deps","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/idp/idp-import.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n importFirstSocialIdentityProviderFromFile,\n importSocialIdentityProviderFromFile,\n importSocialIdentityProvidersFromFile,\n importSocialIdentityProvidersFromFiles,\n} from '../../ops/IdpOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo idp import');\n\nprogram\n .description('Import (social) identity providers.')\n .addOption(\n new Option(\n '-i, --idp-id <id>',\n 'Provider id. 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 provider(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the providers from single file. Ignored with -t or -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the providers from separate files (*.json) in the current directory. Ignored with -t or -i or -a.'\n )\n )\n .addOption(\n new Option('--no-deps', 'Do not include any dependencies (scripts).')\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 id\n if (options.file && options.idpId && (await getTokens())) {\n verboseMessage(\n `Importing provider \"${\n options.idpId\n }\" into realm \"${state.getRealm()}\"...`\n );\n await importSocialIdentityProviderFromFile(\n options.idpId,\n options.file,\n {\n deps: options.deps,\n }\n );\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage(\n `Importing all providers from a single file (${options.file})...`\n );\n await importSocialIdentityProvidersFromFile(options.file, {\n deps: options.deps,\n });\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n verboseMessage(\n 'Importing all providers from separate files in current directory...'\n );\n await importSocialIdentityProvidersFromFiles({\n deps: options.deps,\n });\n }\n // import first provider from file\n else if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing first provider from file \"${\n options.file\n }\" into realm \"${state.getRealm()}\"...`\n );\n await importFirstSocialIdentityProviderFromFile(options.file, {\n deps: options.deps,\n });\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SACEC,yCAAyC,EACzCC,oCAAoC,EACpCC,qCAAqC,EACrCC,sCAAsC,QACjC,kBAAkB;AACzB,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,kBAAkB,CAAC;AAEpDC,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,mDACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,kDACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,mEACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,8GACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CAAC,WAAW,EAAE,4CAA4C,CACtE,CAAC,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,IAAIH,OAAO,CAACI,KAAK,KAAK,MAAMpB,SAAS,CAAC,CAAC,CAAC,EAAE;IACxDM,cAAc,CACX,uBACCU,OAAO,CAACI,KACT,iBAAgBtB,KAAK,CAACuB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACD,MAAMnB,oCAAoC,CACxCc,OAAO,CAACI,KAAK,EACbJ,OAAO,CAACG,IAAI,EACZ;MACEG,IAAI,EAAEN,OAAO,CAACM;IAChB,CACF,CAAC;EACH;EACA;EAAA,KACK,IAAIN,OAAO,CAACO,GAAG,IAAIP,OAAO,CAACG,IAAI,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3DM,cAAc,CACX,+CAA8CU,OAAO,CAACG,IAAK,MAC9D,CAAC;IACD,MAAMhB,qCAAqC,CAACa,OAAO,CAACG,IAAI,EAAE;MACxDG,IAAI,EAAEN,OAAO,CAACM;IAChB,CAAC,CAAC;EACJ;EACA;EAAA,KACK,IAAIN,OAAO,CAACQ,WAAW,IAAI,CAACR,OAAO,CAACG,IAAI,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IACpEM,cAAc,CACZ,qEACF,CAAC;IACD,MAAMF,sCAAsC,CAAC;MAC3CkB,IAAI,EAAEN,OAAO,CAACM;IAChB,CAAC,CAAC;EACJ;EACA;EAAA,KACK,IAAIN,OAAO,CAACG,IAAI,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CM,cAAc,CACX,uCACCU,OAAO,CAACG,IACT,iBAAgBrB,KAAK,CAACuB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACD,MAAMpB,yCAAyC,CAACe,OAAO,CAACG,IAAI,EAAE;MAC5DG,IAAI,EAAEN,OAAO,CAACM;IAChB,CAAC,CAAC;EACJ;EACA;EAAA,KACK;IACHjB,YAAY,CAAC,sDAAsD,CAAC;IACpEG,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHnB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { frodo, state } from '@rockcarver/frodo-lib';
3
- import { verboseMessage } from '../../utils/Console';
1
+ import { state } from '@rockcarver/frodo-lib';
2
+ import { getTokens } from '../../ops/AuthenticateOps';
4
3
  import { listSocialProviders } from '../../ops/IdpOps';
4
+ import { verboseMessage } from '../../utils/Console';
5
+ import { FrodoCommand } from '../FrodoCommand';
5
6
  const program = new FrodoCommand('frodo idp list');
6
7
  program.description('List (social) identity providers.')
7
8
  // .addOption(
@@ -11,15 +12,14 @@ program.description('List (social) identity providers.')
11
12
  // implement command logic inside action handler
12
13
  async (host, realm, user, password, options, command) => {
13
14
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
14
- if (await frodo.login.getTokens()) {
15
+ if (await getTokens()) {
15
16
  verboseMessage(`Listing providers in realm "${state.getRealm()}"...`);
16
- listSocialProviders();
17
+ await listSocialProviders();
17
18
  } else {
18
19
  process.exitCode = 1;
19
20
  }
20
21
  }
21
22
  // end command logic inside action handler
22
23
  );
23
-
24
24
  program.parse();
25
- //# sourceMappingURL=idp-list.js.map
25
+ //# sourceMappingURL=idp-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idp-list.js","names":["FrodoCommand","frodo","state","verboseMessage","listSocialProviders","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","login","getTokens","getRealm","process","exitCode","parse"],"sources":["cli/idp/idp-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { frodo, state } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console';\nimport { listSocialProviders } from '../../ops/IdpOps';\n\nconst program = new FrodoCommand('frodo idp list');\n\nprogram\n .description('List (social) identity providers.')\n // .addOption(\n // new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n // )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await frodo.login.getTokens()) {\n verboseMessage(`Listing providers in realm \"${state.getRealm()}\"...`);\n listSocialProviders();\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,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,mBAAmB,QAAQ,kBAAkB;AAEtD,MAAMC,OAAO,GAAG,IAAIL,YAAY,CAAC,gBAAgB,CAAC;AAElDK,OAAO,CACJC,WAAW,CAAC,mCAAmC;AAChD;AACA;AACA;AAAA,CACCC,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,KAAK,CAACc,KAAK,CAACC,SAAS,CAAC,CAAC,EAAE;IACjCb,cAAc,CAAE,+BAA8BD,KAAK,CAACe,QAAQ,CAAC,CAAE,MAAK,CAAC;IACrEb,mBAAmB,CAAC,CAAC;EACvB,CAAC,MAAM;IACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"idp-list.js","names":["state","getTokens","listSocialProviders","verboseMessage","FrodoCommand","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","process","exitCode","parse"],"sources":["../../../src/cli/idp/idp-list.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { listSocialProviders } from '../../ops/IdpOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo idp list');\n\nprogram\n .description('List (social) identity providers.')\n // .addOption(\n // new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n // )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing providers in realm \"${state.getRealm()}\"...`);\n await listSocialProviders();\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAE7C,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,mBAAmB,QAAQ,kBAAkB;AACtD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,gBAAgB,CAAC;AAElDC,OAAO,CACJC,WAAW,CAAC,mCAAmC;AAChD;AACA;AACA;AAAA,CACCC,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;IACrBE,cAAc,CAAE,+BAA8BH,KAAK,CAACe,QAAQ,CAAC,CAAE,MAAK,CAAC;IACrE,MAAMb,mBAAmB,CAAC,CAAC;EAC7B,CAAC,MAAM;IACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,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('idp').description('Manage (social) identity providers.').executableDir(__dirname);
@@ -9,4 +9,4 @@ export default function setup() {
9
9
  program.command('import', 'Import identity providers.');
10
10
  return program;
11
11
  }
12
- //# sourceMappingURL=idp.js.map
12
+ //# sourceMappingURL=idp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idp.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/idp/idp.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('idp')\n .description('Manage (social) identity providers.')\n .executableDir(__dirname);\n\n program.command('list', 'List identity providers.');\n\n program.command('export', 'Export identity providers.');\n\n program.command('import', 'Import identity providers.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,KAAK,CAAC,CACxCU,WAAW,CAAC,qCAAqC,CAAC,CAClDC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,4BAA4B,CAAC;EAEvDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,4BAA4B,CAAC;EAEvD,OAAOH,OAAO;AAChB"}
1
+ {"version":3,"file":"idp.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["../../../src/cli/idp/idp.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('idp')\n .description('Manage (social) identity providers.')\n .executableDir(__dirname);\n\n program.command('list', 'List identity providers.');\n\n program.command('export', 'Export identity providers.');\n\n program.command('import', 'Import identity providers.');\n\n return program;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,KAAK,CAAC,CACxCQ,WAAW,CAAC,qCAAqC,CAAC,CAClDC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,4BAA4B,CAAC;EAEvDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,4BAA4B,CAAC;EAEvD,OAAOH,OAAO;AAChB"}
@@ -1,14 +1,18 @@
1
- import { FrodoCommand } from '../FrodoCommand';
2
- import { Option } from 'commander';
3
1
  import { frodo, state } from '@rockcarver/frodo-lib';
4
- import { createObjectTable, printMessage, verboseMessage } from '../../utils/Console';
2
+ import { Option } from 'commander';
5
3
  import * as s from '../../help/SampleData';
4
+ import { getTokens } from '../../ops/AuthenticateOps';
5
+ import { createObjectTable, printMessage, verboseMessage } from '../../utils/Console';
6
+ import { FrodoCommand } from '../FrodoCommand';
7
+ const {
8
+ getInfo
9
+ } = frodo.info;
6
10
  export default function setup() {
7
11
  const program = new FrodoCommand('info', ['realm']);
8
- program.description('Print versions and tokens.').addOption(new Option('--json', 'Output in JSON format.')).addOption(new Option('-s, --scriptFriendly', 'Send output of operation to STDOUT in a script-friendly format (JSON) which can be piped to other commands. User messages/warnings are output to STDERR, and are not piped. For example, to only get bearer token: \n<<< frodo info my-tenant -s 2>/dev/null | jq -r .bearerToken >>>').default(false, 'Output as plain text').hideHelp()).addHelpText('after', `Usage Examples:\n` + ` Show human-readable output and login using AM base URL, username, and password (note the quotes around password to allow special characters):\n` + ` $ frodo info ${s.amBaseUrl} ${s.username} '${s.password}'\n`['brightCyan'] + ` Show human-readable output and login using a connection profile (identified by the full AM base URL):\n` + ` $ frodo info ${s.amBaseUrl}'\n`['brightCyan'] + ` Show human-readable output and login using a connection profile (identified by a unique substring of the AM base URL):\n` + ` $ frodo info ${s.connId}'\n`['brightCyan'] + ` Show JSON output and login using the AM base URL's unique substring to identify the connection profile:\n` + ` $ frodo info --json ${s.connId}'\n`['brightCyan']).action(async (host, user, password, options, command) => {
12
+ program.description('Print versions and tokens.').addOption(new Option('--json', 'Output in JSON format.')).addOption(new Option('-s, --scriptFriendly', 'Send output of operation to STDOUT in a script-friendly format (JSON) which can be piped to other commands. User messages/warnings are output to STDERR, and are not piped. For example, to only get bearer token: \n<<< frodo info my-tenant -s 2>/dev/null | jq -r .bearerToken >>>').default(false, 'Output as plain text').hideHelp()).addHelpText('after', `Usage Examples:\n` + ` Show human-readable output and login using AM base URL, username, and password (note the quotes around password to allow special characters):\n` + ` $ frodo info ${s.amBaseUrl} ${s.username} '${s.password}'\n`['brightCyan'] + ` Show human-readable output and login using a connection profile (identified by the full AM base URL):\n` + ` $ frodo info ${s.amBaseUrl}\n`['brightCyan'] + ` Show human-readable output and login using a connection profile (identified by a unique substring of the AM base URL):\n` + ` $ frodo info ${s.connId}\n`['brightCyan'] + ` Show JSON output and login using the AM base URL's unique substring to identify the connection profile:\n` + ` $ frodo info --json ${s.connId}\n`['brightCyan']).action(async (host, user, password, options, command) => {
9
13
  command.handleDefaultArgsAndOpts(host, user, password, options, command);
10
- if (await frodo.login.getTokens()) {
11
- const info = await frodo.info.getInfo();
14
+ if (await getTokens()) {
15
+ const info = await getInfo();
12
16
  if (!options.scriptFriendly && !options.json) {
13
17
  verboseMessage('Printing info, versions, and tokens...');
14
18
  delete info.sessionToken;
@@ -45,4 +49,4 @@ export default function setup() {
45
49
  });
46
50
  return program;
47
51
  }
48
- //# sourceMappingURL=info.js.map
52
+ //# sourceMappingURL=info.js.map