@rockcarver/frodo-cli 0.18.2-9 → 0.19.0

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 (324) hide show
  1. package/CHANGELOG.md +112 -1
  2. package/esm/app.js +4 -1
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +133 -0
  5. package/esm/cli/FrodoCommand.js.map +1 -0
  6. package/esm/cli/_template/something-delete.js +9 -15
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +9 -15
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +9 -15
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +9 -15
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +9 -15
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +9 -15
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +9 -15
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +8 -8
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +9 -15
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +9 -15
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +9 -15
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +9 -15
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +9 -15
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +9 -15
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +9 -15
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +9 -15
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +8 -8
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +9 -10
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +8 -15
  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 +9 -15
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-get-access-token.js +9 -15
  47. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  48. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +9 -15
  49. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  50. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +9 -15
  51. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  52. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +8 -15
  53. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  54. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +8 -15
  55. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  56. package/esm/cli/admin/admin-list-static-user-mappings.js +9 -15
  57. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  58. package/esm/cli/admin/admin-remove-static-user-mapping.js +8 -15
  59. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  60. package/esm/cli/admin/admin-repair-org-model.js +9 -15
  61. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  62. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +9 -15
  63. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-show-generic-extension-attributes.js +9 -15
  65. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  66. package/esm/cli/admin/admin.js +14 -15
  67. package/esm/cli/admin/admin.js.map +1 -1
  68. package/esm/cli/agent/agent-delete.js +8 -15
  69. package/esm/cli/agent/agent-delete.js.map +1 -1
  70. package/esm/cli/agent/agent-describe.js +9 -15
  71. package/esm/cli/agent/agent-describe.js.map +1 -1
  72. package/esm/cli/agent/agent-export.js +8 -15
  73. package/esm/cli/agent/agent-export.js.map +1 -1
  74. package/esm/cli/agent/agent-gateway-delete.js +8 -15
  75. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-describe.js +9 -15
  77. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-export.js +8 -15
  79. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  80. package/esm/cli/agent/agent-gateway-import.js +8 -15
  81. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-list.js +9 -15
  83. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway.js +8 -8
  85. package/esm/cli/agent/agent-gateway.js.map +1 -1
  86. package/esm/cli/agent/agent-import.js +8 -15
  87. package/esm/cli/agent/agent-import.js.map +1 -1
  88. package/esm/cli/agent/agent-java-delete.js +8 -15
  89. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-java-describe.js +9 -15
  91. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-java-export.js +8 -15
  93. package/esm/cli/agent/agent-java-export.js.map +1 -1
  94. package/esm/cli/agent/agent-java-import.js +8 -15
  95. package/esm/cli/agent/agent-java-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-list.js +9 -15
  97. package/esm/cli/agent/agent-java-list.js.map +1 -1
  98. package/esm/cli/agent/agent-java.js +8 -8
  99. package/esm/cli/agent/agent-java.js.map +1 -1
  100. package/esm/cli/agent/agent-list.js +9 -15
  101. package/esm/cli/agent/agent-list.js.map +1 -1
  102. package/esm/cli/agent/agent-web-delete.js +8 -15
  103. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  104. package/esm/cli/agent/agent-web-describe.js +9 -15
  105. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  106. package/esm/cli/agent/agent-web-export.js +8 -15
  107. package/esm/cli/agent/agent-web-export.js.map +1 -1
  108. package/esm/cli/agent/agent-web-import.js +8 -15
  109. package/esm/cli/agent/agent-web-import.js.map +1 -1
  110. package/esm/cli/agent/agent-web-list.js +9 -15
  111. package/esm/cli/agent/agent-web-list.js.map +1 -1
  112. package/esm/cli/agent/agent-web.js +8 -8
  113. package/esm/cli/agent/agent-web.js.map +1 -1
  114. package/esm/cli/agent/agent.js +10 -11
  115. package/esm/cli/agent/agent.js.map +1 -1
  116. package/esm/cli/app/app-delete.js +9 -12
  117. package/esm/cli/app/app-delete.js.map +1 -1
  118. package/esm/cli/app/app-describe.js +9 -12
  119. package/esm/cli/app/app-describe.js.map +1 -1
  120. package/esm/cli/app/app-export.js +28 -34
  121. package/esm/cli/app/app-export.js.map +1 -1
  122. package/esm/cli/app/app-import.js +11 -14
  123. package/esm/cli/app/app-import.js.map +1 -1
  124. package/esm/cli/app/app-list.js +11 -14
  125. package/esm/cli/app/app-list.js.map +1 -1
  126. package/esm/cli/app/app.js +8 -10
  127. package/esm/cli/app/app.js.map +1 -1
  128. package/esm/cli/conn/conn-delete.js +5 -5
  129. package/esm/cli/conn/conn-delete.js.map +1 -1
  130. package/esm/cli/conn/conn-describe.js +6 -5
  131. package/esm/cli/conn/conn-describe.js.map +1 -1
  132. package/esm/cli/conn/conn-list.js +6 -8
  133. package/esm/cli/conn/conn-list.js.map +1 -1
  134. package/esm/cli/conn/conn-save.js +72 -0
  135. package/esm/cli/conn/conn-save.js.map +1 -0
  136. package/esm/cli/conn/conn.js +10 -8
  137. package/esm/cli/conn/conn.js.map +1 -1
  138. package/esm/cli/email/email-template-export.js +27 -33
  139. package/esm/cli/email/email-template-export.js.map +1 -1
  140. package/esm/cli/email/email-template-import.js +33 -39
  141. package/esm/cli/email/email-template-import.js.map +1 -1
  142. package/esm/cli/email/email-template-list.js +11 -14
  143. package/esm/cli/email/email-template-list.js.map +1 -1
  144. package/esm/cli/email/email-template.js +6 -6
  145. package/esm/cli/email/email-template.js.map +1 -1
  146. package/esm/cli/email/email.js +2 -2
  147. package/esm/cli/email/email.js.map +1 -1
  148. package/esm/cli/esv/esv-apply.js +9 -12
  149. package/esm/cli/esv/esv-apply.js.map +1 -1
  150. package/esm/cli/esv/esv-secret-create.js +11 -14
  151. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  152. package/esm/cli/esv/esv-secret-delete.js +23 -29
  153. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  154. package/esm/cli/esv/esv-secret-describe.js +11 -14
  155. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  156. package/esm/cli/esv/esv-secret-export.js +9 -12
  157. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  158. package/esm/cli/esv/esv-secret-import.js +9 -12
  159. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  160. package/esm/cli/esv/esv-secret-list.js +11 -14
  161. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  162. package/esm/cli/esv/esv-secret-set.js +11 -14
  163. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  164. package/esm/cli/esv/esv-secret-version-activate.js +18 -24
  165. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  166. package/esm/cli/esv/esv-secret-version-create.js +11 -14
  167. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  168. package/esm/cli/esv/esv-secret-version-deactivate.js +18 -24
  169. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  170. package/esm/cli/esv/esv-secret-version-delete.js +23 -29
  171. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  172. package/esm/cli/esv/esv-secret-version-list.js +11 -14
  173. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  174. package/esm/cli/esv/esv-secret-version.js +8 -8
  175. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  176. package/esm/cli/esv/esv-secret.js +11 -11
  177. package/esm/cli/esv/esv-secret.js.map +1 -1
  178. package/esm/cli/esv/esv-variable-create.js +10 -14
  179. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  180. package/esm/cli/esv/esv-variable-delete.js +23 -29
  181. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  182. package/esm/cli/esv/esv-variable-describe.js +11 -14
  183. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  184. package/esm/cli/esv/esv-variable-export.js +9 -12
  185. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  186. package/esm/cli/esv/esv-variable-import.js +9 -12
  187. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  188. package/esm/cli/esv/esv-variable-list.js +11 -14
  189. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  190. package/esm/cli/esv/esv-variable-set.js +19 -26
  191. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  192. package/esm/cli/esv/esv-variable.js +10 -10
  193. package/esm/cli/esv/esv-variable.js.map +1 -1
  194. package/esm/cli/esv/esv.js +5 -6
  195. package/esm/cli/esv/esv.js.map +1 -1
  196. package/esm/cli/idm/idm-count.js +12 -17
  197. package/esm/cli/idm/idm-count.js.map +1 -1
  198. package/esm/cli/idm/idm-export.js +29 -39
  199. package/esm/cli/idm/idm-export.js.map +1 -1
  200. package/esm/cli/idm/idm-import.js +29 -39
  201. package/esm/cli/idm/idm-import.js.map +1 -1
  202. package/esm/cli/idm/idm-list.js +11 -17
  203. package/esm/cli/idm/idm-list.js.map +1 -1
  204. package/esm/cli/idm/idm.js +6 -9
  205. package/esm/cli/idm/idm.js.map +1 -1
  206. package/esm/cli/idp/idp-export.js +11 -15
  207. package/esm/cli/idp/idp-export.js.map +1 -1
  208. package/esm/cli/idp/idp-import.js +32 -38
  209. package/esm/cli/idp/idp-import.js.map +1 -1
  210. package/esm/cli/idp/idp-list.js +9 -13
  211. package/esm/cli/idp/idp-list.js.map +1 -1
  212. package/esm/cli/idp/idp.js +5 -6
  213. package/esm/cli/idp/idp.js.map +1 -1
  214. package/esm/cli/info/info.js +19 -20
  215. package/esm/cli/info/info.js.map +1 -1
  216. package/esm/cli/journey/journey-delete.js +22 -28
  217. package/esm/cli/journey/journey-delete.js.map +1 -1
  218. package/esm/cli/journey/journey-describe.js +12 -19
  219. package/esm/cli/journey/journey-describe.js.map +1 -1
  220. package/esm/cli/journey/journey-disable.js +20 -26
  221. package/esm/cli/journey/journey-disable.js.map +1 -1
  222. package/esm/cli/journey/journey-enable.js +20 -26
  223. package/esm/cli/journey/journey-enable.js.map +1 -1
  224. package/esm/cli/journey/journey-export.js +37 -45
  225. package/esm/cli/journey/journey-export.js.map +1 -1
  226. package/esm/cli/journey/journey-import.js +44 -52
  227. package/esm/cli/journey/journey-import.js.map +1 -1
  228. package/esm/cli/journey/journey-list.js +10 -13
  229. package/esm/cli/journey/journey-list.js.map +1 -1
  230. package/esm/cli/journey/journey-prune.js +9 -13
  231. package/esm/cli/journey/journey-prune.js.map +1 -1
  232. package/esm/cli/journey/journey.js +10 -11
  233. package/esm/cli/journey/journey.js.map +1 -1
  234. package/esm/cli/logging/logs-fetch.js +17 -19
  235. package/esm/cli/logging/logs-fetch.js.map +1 -1
  236. package/esm/cli/logging/logs-list.js +19 -25
  237. package/esm/cli/logging/logs-list.js.map +1 -1
  238. package/esm/cli/logging/logs-tail.js +17 -19
  239. package/esm/cli/logging/logs-tail.js.map +1 -1
  240. package/esm/cli/logging/logs.js +7 -6
  241. package/esm/cli/logging/logs.js.map +1 -1
  242. package/esm/cli/realm/realm-add-custom-domain.js +11 -14
  243. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  244. package/esm/cli/realm/realm-describe.js +10 -14
  245. package/esm/cli/realm/realm-describe.js.map +1 -1
  246. package/esm/cli/realm/realm-list.js +11 -14
  247. package/esm/cli/realm/realm-list.js.map +1 -1
  248. package/esm/cli/realm/realm-remove-custom-domain.js +11 -14
  249. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  250. package/esm/cli/realm/realm.js +7 -8
  251. package/esm/cli/realm/realm.js.map +1 -1
  252. package/esm/cli/saml/saml-cot-export.js +27 -36
  253. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  254. package/esm/cli/saml/saml-cot-import.js +32 -41
  255. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  256. package/esm/cli/saml/saml-cot-list.js +10 -16
  257. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  258. package/esm/cli/saml/saml-cot.js +6 -6
  259. package/esm/cli/saml/saml-cot.js.map +1 -1
  260. package/esm/cli/saml/saml-delete.js +8 -15
  261. package/esm/cli/saml/saml-delete.js.map +1 -1
  262. package/esm/cli/saml/saml-describe.js +10 -16
  263. package/esm/cli/saml/saml-describe.js.map +1 -1
  264. package/esm/cli/saml/saml-export.js +9 -16
  265. package/esm/cli/saml/saml-export.js.map +1 -1
  266. package/esm/cli/saml/saml-import.js +45 -54
  267. package/esm/cli/saml/saml-import.js.map +1 -1
  268. package/esm/cli/saml/saml-list.js +11 -17
  269. package/esm/cli/saml/saml-list.js.map +1 -1
  270. package/esm/cli/saml/saml-metadata-export.js +21 -30
  271. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  272. package/esm/cli/saml/saml-metadata.js +4 -4
  273. package/esm/cli/saml/saml-metadata.js.map +1 -1
  274. package/esm/cli/saml/saml.js +9 -10
  275. package/esm/cli/saml/saml.js.map +1 -1
  276. package/esm/cli/script/script-delete.js +9 -12
  277. package/esm/cli/script/script-delete.js.map +1 -1
  278. package/esm/cli/script/script-describe.js +9 -12
  279. package/esm/cli/script/script-describe.js.map +1 -1
  280. package/esm/cli/script/script-export.js +28 -34
  281. package/esm/cli/script/script-export.js.map +1 -1
  282. package/esm/cli/script/script-import.js +10 -13
  283. package/esm/cli/script/script-import.js.map +1 -1
  284. package/esm/cli/script/script-list.js +10 -13
  285. package/esm/cli/script/script-list.js.map +1 -1
  286. package/esm/cli/script/script.js +7 -8
  287. package/esm/cli/script/script.js.map +1 -1
  288. package/esm/cli/service/service-delete.js +10 -16
  289. package/esm/cli/service/service-delete.js.map +1 -1
  290. package/esm/cli/service/service-export.js +12 -17
  291. package/esm/cli/service/service-export.js.map +1 -1
  292. package/esm/cli/service/service-import.js +12 -18
  293. package/esm/cli/service/service-import.js.map +1 -1
  294. package/esm/cli/service/service-list.js +9 -15
  295. package/esm/cli/service/service-list.js.map +1 -1
  296. package/esm/cli/service/service.js +6 -7
  297. package/esm/cli/service/service.js.map +1 -1
  298. package/esm/cli/theme/theme-delete.js +12 -19
  299. package/esm/cli/theme/theme-delete.js.map +1 -1
  300. package/esm/cli/theme/theme-export.js +12 -19
  301. package/esm/cli/theme/theme-export.js.map +1 -1
  302. package/esm/cli/theme/theme-import.js +14 -21
  303. package/esm/cli/theme/theme-import.js.map +1 -1
  304. package/esm/cli/theme/theme-list.js +10 -16
  305. package/esm/cli/theme/theme-list.js.map +1 -1
  306. package/esm/cli/theme/theme.js +6 -7
  307. package/esm/cli/theme/theme.js.map +1 -1
  308. package/esm/ops/ConnectionProfileOps.js +30 -0
  309. package/esm/ops/ConnectionProfileOps.js.map +1 -0
  310. package/esm/ops/IdmOps.js +317 -0
  311. package/esm/ops/IdmOps.js.map +1 -0
  312. package/esm/ops/JourneyOps.js +2 -1
  313. package/esm/ops/JourneyOps.js.map +1 -1
  314. package/esm/ops/ServiceOps.js +20 -20
  315. package/esm/ops/ServiceOps.js.map +1 -1
  316. package/esm/utils/Console.js +15 -25
  317. package/esm/utils/Console.js.map +1 -1
  318. package/package.json +6 -6
  319. package/esm/cli/cmd_common.js +0 -79
  320. package/esm/cli/cmd_common.js.map +0 -1
  321. package/esm/cli/conn/conn-add.js +0 -37
  322. package/esm/cli/conn/conn-add.js.map +0 -1
  323. package/esm/cli/journey/journey-delete.e2e.test_.js.map +0 -1
  324. package/esm/cli/journey/journey-list.e2e.test_.js.map +0 -1
@@ -1,46 +1,36 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, Idm, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common';
4
- import { printMessage } from '../../utils/Console';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate } from '@rockcarver/frodo-lib';
4
+ import { printMessage, verboseMessage } from '../../utils/Console';
5
+ import { exportAllConfigEntities, exportAllRawConfigEntities, exportConfigEntity } from '../../ops/IdmOps';
5
6
  const {
6
7
  getTokens
7
8
  } = Authenticate;
8
- const {
9
- exportAllConfigEntities,
10
- exportAllRawConfigEntities,
11
- exportConfigEntity
12
- } = Idm;
13
- const program = new Command('frodo idm export');
14
- program.description('Export IDM configuration objects.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).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(
9
+ const program = new FrodoCommand('frodo idm export');
10
+ 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(
15
11
  // implement command logic inside action handler
16
- async (host, realm, user, password, options) => {
17
- state.default.session.setTenant(host);
18
- state.default.session.setRealm(realm);
19
- state.default.session.setUsername(user);
20
- state.default.session.setPassword(password);
21
- state.default.session.setDeploymentType(options.type);
22
- state.default.session.setAllowInsecureConnection(options.insecure);
23
- if (await getTokens()) {
24
- // export by id/name
25
- if (options.name) {
26
- printMessage(`Exporting object "${options.name}" from realm "${state.default.session.getRealm()}"...`);
27
- exportConfigEntity(options.name, options.file);
28
- }
29
- // --all-separate -A
30
- else if (options.allSeparate && options.directory && options.entitiesFile && options.envFile) {
31
- printMessage(`Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`);
32
- exportAllConfigEntities(options.directory, options.entitiesFile, options.envFile);
33
- }
34
- // --all-separate -A without variable replacement
35
- else if (options.allSeparate && options.directory) {
36
- printMessage(`Exporting all IDM configuration objects into separate files in ${options.directory}...`);
37
- exportAllRawConfigEntities(options.directory);
38
- }
39
- // unrecognized combination of options or no options
40
- else {
41
- printMessage('Unrecognized combination of options or no options...', 'error');
42
- program.help();
43
- }
12
+ async (host, realm, user, password, options, command) => {
13
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
14
+ // export by id/name
15
+ if (options.name && (await getTokens())) {
16
+ verboseMessage(`Exporting object "${options.name}"...`);
17
+ exportConfigEntity(options.name, options.file);
18
+ }
19
+ // --all-separate -A
20
+ else if (options.allSeparate && options.directory && options.entitiesFile && options.envFile && (await getTokens())) {
21
+ verboseMessage(`Exporting IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`);
22
+ exportAllConfigEntities(options.directory, options.entitiesFile, options.envFile);
23
+ }
24
+ // --all-separate -A without variable replacement
25
+ else if (options.allSeparate && options.directory && (await getTokens())) {
26
+ verboseMessage(`Exporting all IDM configuration objects into separate files in ${options.directory}...`);
27
+ exportAllRawConfigEntities(options.directory);
28
+ }
29
+ // unrecognized combination of options or no options
30
+ else {
31
+ printMessage('Unrecognized combination of options or no options...', 'error');
32
+ program.help();
33
+ process.exitCode = 1;
44
34
  }
45
35
  }
46
36
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"idm-export.js","names":["Command","Option","Authenticate","Idm","state","common","printMessage","getTokens","exportAllConfigEntities","exportAllRawConfigEntities","exportConfigEntity","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","name","getRealm","file","allSeparate","directory","entitiesFile","envFile","help","parse"],"sources":["cli/idm/idm-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Idm, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n exportAllConfigEntities,\n exportAllRawConfigEntities,\n exportConfigEntity,\n} = Idm;\n\nconst program = new Command('frodo idm export');\n\nprogram\n .description('Export IDM configuration objects.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // export by id/name\n if (options.name) {\n printMessage(\n `Exporting object \"${\n options.name\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\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 ) {\n printMessage(\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 }\n // --all-separate -A without variable replacement\n else if (options.allSeparate && options.directory) {\n printMessage(\n `Exporting all IDM configuration objects into separate files in ${options.directory}...`\n );\n exportAllRawConfigEntities(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 }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"idm-export.js","names":["FrodoCommand","Option","Authenticate","printMessage","verboseMessage","exportAllConfigEntities","exportAllRawConfigEntities","exportConfigEntity","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","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 { Authenticate } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n exportAllConfigEntities,\n exportAllRawConfigEntities,\n exportConfigEntity,\n} from '../../ops/IdmOps';\n\nconst { getTokens } = Authenticate;\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 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 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 }\n // --all-separate -A without variable replacement\n else if (\n options.allSeparate &&\n options.directory &&\n (await getTokens())\n ) {\n verboseMessage(\n `Exporting all IDM configuration objects into separate files in ${options.directory}...`\n );\n exportAllRawConfigEntities(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,YAAY,QAAQ,uBAAuB;AACpD,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,kBAAkB,QACb,kBAAkB;AAEzB,MAAM;EAAEC;AAAU,CAAC,GAAGN,YAAY;AAElC,MAAMO,OAAO,GAAG,IAAIT,YAAY,CAAC,kBAAkB,CAAC;AAEpDS,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,kFAAkF,CACnF,CACF,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EU,SAAS,CACR,IAAIV,MAAM,CACR,qCAAqC,EACrC,2CAA2C,CAC5C,CACF,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,0BAA0B,EAC1B,wCAAwC,CACzC,CACF,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,2FAA2F,CAC5F,CACF,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,yGAAyG,CAC1G,CACF,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,6BAA6B,EAC7B,4DAA4D,CAC7D,CACF,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,OAAO,CACR;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IACvCJ,cAAc,CAAE,qBAAoBa,OAAO,CAACG,IAAK,MAAK,CAAC;IACvDb,kBAAkB,CAACU,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACI,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IACHJ,OAAO,CAACK,WAAW,IACnBL,OAAO,CAACM,SAAS,IACjBN,OAAO,CAACO,YAAY,IACpBP,OAAO,CAACQ,OAAO,KACd,MAAMjB,SAAS,EAAE,CAAC,EACnB;IACAJ,cAAc,CACX,oDAAmDa,OAAO,CAACO,YAAa,2BAA0BP,OAAO,CAACM,SAAU,UAASN,OAAO,CAACQ,OAAQ,8BAA6B,CAC5K;IACDpB,uBAAuB,CACrBY,OAAO,CAACM,SAAS,EACjBN,OAAO,CAACO,YAAY,EACpBP,OAAO,CAACQ,OAAO,CAChB;EACH;EACA;EAAA,KACK,IACHR,OAAO,CAACK,WAAW,IACnBL,OAAO,CAACM,SAAS,KAChB,MAAMf,SAAS,EAAE,CAAC,EACnB;IACAJ,cAAc,CACX,kEAAiEa,OAAO,CAACM,SAAU,KAAI,CACzF;IACDjB,0BAA0B,CAACW,OAAO,CAACM,SAAS,CAAC;EAC/C;EACA;EAAA,KACK;IACHpB,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;IACDM,OAAO,CAACiB,IAAI,EAAE;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHnB,OAAO,CAACoB,KAAK,EAAE"}
@@ -1,46 +1,36 @@
1
- import { Command, Option } from 'commander';
2
- import { Authenticate, Idm, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common';
4
- import { printMessage } from '../../utils/Console';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
3
+ import { Authenticate } from '@rockcarver/frodo-lib';
4
+ import { printMessage, verboseMessage } from '../../utils/Console';
5
+ import { importAllConfigEntities, importAllRawConfigEntities, importConfigEntity } from '../../ops/IdmOps';
5
6
  const {
6
7
  getTokens
7
8
  } = Authenticate;
8
- const {
9
- importAllConfigEntities,
10
- importAllRawConfigEntities,
11
- importConfigEntity
12
- } = Idm;
13
- const program = new Command('frodo idm import');
14
- program.description('Import IDM configuration objects.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).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 into separate JSON 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(
9
+ const program = new FrodoCommand('frodo idm import');
10
+ 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(
15
11
  // implement command logic inside action handler
16
- async (host, realm, user, password, options) => {
17
- state.default.session.setTenant(host);
18
- state.default.session.setRealm(realm);
19
- state.default.session.setUsername(user);
20
- state.default.session.setPassword(password);
21
- state.default.session.setDeploymentType(options.type);
22
- state.default.session.setAllowInsecureConnection(options.insecure);
23
- if (await getTokens()) {
24
- // import by id/name
25
- if (options.name) {
26
- printMessage(`Importing object "${options.name}" to realm "${state.default.session.getRealm()}"...`);
27
- await importConfigEntity(options.name, options.file);
28
- }
29
- // --all-separate -A
30
- else if (options.allSeparate && options.directory && options.entitiesFile && options.envFile) {
31
- printMessage(`Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`);
32
- await importAllConfigEntities(options.directory, options.entitiesFile, options.envFile);
33
- }
34
- // --all-separate -A without variable replacement
35
- else if (options.allSeparate && options.directory) {
36
- printMessage(`Importing all IDM configuration objects into separate files in ${options.directory}...`);
37
- await importAllRawConfigEntities(options.directory);
38
- }
39
- // unrecognized combination of options or no options
40
- else {
41
- printMessage('Unrecognized combination of options or no options...', 'error');
42
- program.help();
43
- }
12
+ async (host, realm, user, password, options, command) => {
13
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
14
+ // import by id/name
15
+ if (options.name && (await getTokens())) {
16
+ verboseMessage(`Importing object "${options.name}"...`);
17
+ await importConfigEntity(options.name, options.file);
18
+ }
19
+ // --all-separate -A
20
+ else if (options.allSeparate && options.directory && options.entitiesFile && options.envFile && (await getTokens())) {
21
+ verboseMessage(`Importing IDM configuration objects specified in ${options.entitiesFile} into separate files in ${options.directory} using ${options.envFile} for variable replacement...`);
22
+ await importAllConfigEntities(options.directory, options.entitiesFile, options.envFile);
23
+ }
24
+ // --all-separate -A without variable replacement
25
+ else if (options.allSeparate && options.directory && (await getTokens())) {
26
+ verboseMessage(`Importing all IDM configuration objects into separate files in ${options.directory}...`);
27
+ await importAllRawConfigEntities(options.directory);
28
+ }
29
+ // unrecognized combination of options or no options
30
+ else {
31
+ printMessage('Unrecognized combination of options or no options...', 'error');
32
+ program.help();
33
+ process.exitCode = 1;
44
34
  }
45
35
  }
46
36
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"idm-import.js","names":["Command","Option","Authenticate","Idm","state","common","printMessage","getTokens","importAllConfigEntities","importAllRawConfigEntities","importConfigEntity","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","name","getRealm","file","allSeparate","directory","entitiesFile","envFile","help","parse"],"sources":["cli/idm/idm-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Idm, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n importAllConfigEntities,\n importAllRawConfigEntities,\n importConfigEntity,\n} = Idm;\n\nconst program = new Command('frodo idm import');\n\ninterface IdmImportOptions {\n type?: string;\n insecure?: string;\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 .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\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 into separate JSON 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 ) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // import by id/name\n if (options.name) {\n printMessage(\n `Importing object \"${\n options.name\n }\" to realm \"${state.default.session.getRealm()}\"...`\n );\n await importConfigEntity(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 ) {\n printMessage(\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 (options.allSeparate && options.directory) {\n printMessage(\n `Importing all IDM configuration objects into 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 }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,GAAG,EAAEC,KAAK,QAAQ,uBAAuB;AAChE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,YAAY,QAAQ,qBAAqB;AAElD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EACJM,uBAAuB;EACvBC,0BAA0B;EAC1BC;AACF,CAAC,GAAGP,GAAG;AAEP,MAAMQ,OAAO,GAAG,IAAIX,OAAO,CAAC,kBAAkB,CAAC;AAc/CW,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACV,MAAM,CAACW,aAAa,CAAC,CACjCD,WAAW,CAACV,MAAM,CAACY,aAAa,CAAC,CACjCF,WAAW,CAACV,MAAM,CAACa,YAAY,CAAC,CAChCH,WAAW,CAACV,MAAM,CAACc,gBAAgB,CAAC,CACpCC,SAAS,CAACf,MAAM,CAACgB,gBAAgB,CAAC,CAClCD,SAAS,CAACf,MAAM,CAACiB,cAAc,CAAC,CAChCF,SAAS,CACR,IAAInB,MAAM,CACR,mBAAmB,EACnB,kFAAkF,CACnF,CACF,CACAmB,SAAS,CAAC,IAAInB,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EmB,SAAS,CACR,IAAInB,MAAM,CACR,qCAAqC,EACrC,2CAA2C,CAC5C,CACF,CACAmB,SAAS,CACR,IAAInB,MAAM,CACR,0BAA0B,EAC1B,wCAAwC,CACzC,CACF,CACAmB,SAAS,CACR,IAAInB,MAAM,CACR,oBAAoB,EACpB,yGAAyG,CAC1G,CACF,CACAmB,SAAS,CACR,IAAInB,MAAM,CACR,6BAA6B,EAC7B,4DAA4D,CAC7D,CACF,CACAsB,MAAM;AACL;AACA,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAAyB,KACtB;EACHxB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrCpB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCrB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvCtB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CvB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrDhC,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClE,IAAI,MAAM/B,SAAS,EAAE,EAAE;IACrB;IACA,IAAIqB,OAAO,CAACW,IAAI,EAAE;MAChBjC,YAAY,CACT,qBACCsB,OAAO,CAACW,IACT,eAAcnC,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACU,QAAQ,EAAG,MAAK,CACtD;MACD,MAAM9B,kBAAkB,CAACkB,OAAO,CAACW,IAAI,EAAEX,OAAO,CAACa,IAAI,CAAC;IACtD;IACA;IAAA,KACK,IACHb,OAAO,CAACc,WAAW,IACnBd,OAAO,CAACe,SAAS,IACjBf,OAAO,CAACgB,YAAY,IACpBhB,OAAO,CAACiB,OAAO,EACf;MACAvC,YAAY,CACT,oDAAmDsB,OAAO,CAACgB,YAAa,2BAA0BhB,OAAO,CAACe,SAAU,UAASf,OAAO,CAACiB,OAAQ,8BAA6B,CAC5K;MACD,MAAMrC,uBAAuB,CAC3BoB,OAAO,CAACe,SAAS,EACjBf,OAAO,CAACgB,YAAY,EACpBhB,OAAO,CAACiB,OAAO,CAChB;IACH;IACA;IAAA,KACK,IAAIjB,OAAO,CAACc,WAAW,IAAId,OAAO,CAACe,SAAS,EAAE;MACjDrC,YAAY,CACT,kEAAiEsB,OAAO,CAACe,SAAU,KAAI,CACzF;MACD,MAAMlC,0BAA0B,CAACmB,OAAO,CAACe,SAAS,CAAC;IACrD;IACA;IAAA,KACK;MACHrC,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;MACDK,OAAO,CAACmC,IAAI,EAAE;IAChB;EACF;AACF;AACA;AAAA,CACD;;AAEHnC,OAAO,CAACoC,KAAK,EAAE"}
1
+ {"version":3,"file":"idm-import.js","names":["FrodoCommand","Option","Authenticate","printMessage","verboseMessage","importAllConfigEntities","importAllRawConfigEntities","importConfigEntity","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","name","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 { Authenticate } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n importAllConfigEntities,\n importAllRawConfigEntities,\n importConfigEntity,\n} from '../../ops/IdmOps';\n\nconst { getTokens } = Authenticate;\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 getTokens())) {\n verboseMessage(`Importing object \"${options.name}\"...`);\n await importConfigEntity(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 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 getTokens())\n ) {\n verboseMessage(\n `Importing all IDM configuration objects into 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,YAAY,QAAQ,uBAAuB;AACpD,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SACEC,uBAAuB,EACvBC,0BAA0B,EAC1BC,kBAAkB,QACb,kBAAkB;AAEzB,MAAM;EAAEC;AAAU,CAAC,GAAGN,YAAY;AAElC,MAAMO,OAAO,GAAG,IAAIT,YAAY,CAAC,kBAAkB,CAAC;AAiBpDS,OAAO,CACJC,WAAW,CAAC,mCAAmC,CAAC,CAChDC,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,kFAAkF,CACnF,CACF,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC,CAAC,CAC3EU,SAAS,CACR,IAAIV,MAAM,CACR,qCAAqC,EACrC,2CAA2C,CAC5C,CACF,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,0BAA0B,EAC1B,wCAAwC,CACzC,CACF,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,oGAAoG,CACrG,CACF,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,6BAA6B,EAC7B,4DAA4D,CAC7D,CACF,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,OAAO,CACR;EACD;EACA,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMZ,SAAS,EAAE,CAAC,EAAE;IACvCJ,cAAc,CAAE,qBAAoBa,OAAO,CAACG,IAAK,MAAK,CAAC;IACvD,MAAMb,kBAAkB,CAACU,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACI,IAAI,CAAC;EACtD;EACA;EAAA,KACK,IACHJ,OAAO,CAACK,WAAW,IACnBL,OAAO,CAACM,SAAS,IACjBN,OAAO,CAACO,YAAY,IACpBP,OAAO,CAACQ,OAAO,KACd,MAAMjB,SAAS,EAAE,CAAC,EACnB;IACAJ,cAAc,CACX,oDAAmDa,OAAO,CAACO,YAAa,2BAA0BP,OAAO,CAACM,SAAU,UAASN,OAAO,CAACQ,OAAQ,8BAA6B,CAC5K;IACD,MAAMpB,uBAAuB,CAC3BY,OAAO,CAACM,SAAS,EACjBN,OAAO,CAACO,YAAY,EACpBP,OAAO,CAACQ,OAAO,CAChB;EACH;EACA;EAAA,KACK,IACHR,OAAO,CAACK,WAAW,IACnBL,OAAO,CAACM,SAAS,KAChB,MAAMf,SAAS,EAAE,CAAC,EACnB;IACAJ,cAAc,CACX,kEAAiEa,OAAO,CAACM,SAAU,KAAI,CACzF;IACD,MAAMjB,0BAA0B,CAACW,OAAO,CAACM,SAAS,CAAC;EACrD;EACA;EAAA,KACK;IACHpB,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;IACDM,OAAO,CAACiB,IAAI,EAAE;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHnB,OAAO,CAACoB,KAAK,EAAE"}
@@ -1,30 +1,24 @@
1
- import { Command } from 'commander';
2
- import { Authenticate, Idm, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common';
4
- import { printMessage } from '../../utils/Console';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Authenticate } from '@rockcarver/frodo-lib';
3
+ import { verboseMessage } from '../../utils/Console';
4
+ import { listAllConfigEntities } from '../../ops/IdmOps';
5
5
  const {
6
6
  getTokens
7
7
  } = Authenticate;
8
- const {
9
- listAllConfigEntities
10
- } = Idm;
11
- const program = new Command('frodo idm list');
12
- program.description('List IDM configuration objects.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption)
8
+ const program = new FrodoCommand('frodo idm list');
9
+ program.description('List IDM configuration objects.')
13
10
  // .addOption(
14
11
  // new Option('-l, --long', 'Long with all fields.').default(false, 'false')
15
12
  // )
16
13
  .action(
17
14
  // implement command logic inside action handler
18
- async (host, realm, user, password, options) => {
19
- state.default.session.setTenant(host);
20
- state.default.session.setRealm(realm);
21
- state.default.session.setUsername(user);
22
- state.default.session.setPassword(password);
23
- state.default.session.setDeploymentType(options.type);
24
- state.default.session.setAllowInsecureConnection(options.insecure);
15
+ async (host, realm, user, password, options, command) => {
16
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
25
17
  if (await getTokens()) {
26
- printMessage('Listing all IDM configuration objects...');
18
+ verboseMessage('Listing all IDM configuration objects...');
27
19
  listAllConfigEntities();
20
+ } else {
21
+ process.exitCode = 1;
28
22
  }
29
23
  }
30
24
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"idm-list.js","names":["Command","Authenticate","Idm","state","common","printMessage","getTokens","listAllConfigEntities","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/idm/idm-list.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { Authenticate, Idm, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst { listAllConfigEntities } = Idm;\n\nconst program = new Command('frodo idm list');\n\nprogram\n .description('List IDM configuration objects.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage('Listing all IDM configuration objects...');\n listAllConfigEntities();\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,SAASC,YAAY,EAAEC,GAAG,EAAEC,KAAK,QAAQ,uBAAuB;AAChE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,YAAY,QAAQ,qBAAqB;AAElD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EAAEM;AAAsB,CAAC,GAAGL,GAAG;AAErC,MAAMM,OAAO,GAAG,IAAIR,OAAO,CAAC,gBAAgB,CAAC;AAE7CQ,OAAO,CACJC,WAAW,CAAC,iCAAiC,CAAC,CAC9CC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACR,MAAM,CAACS,aAAa,CAAC,CACjCD,WAAW,CAACR,MAAM,CAACU,aAAa,CAAC,CACjCF,WAAW,CAACR,MAAM,CAACW,YAAY,CAAC,CAChCH,WAAW,CAACR,MAAM,CAACY,gBAAgB,CAAC,CACpCC,SAAS,CAACb,MAAM,CAACc,gBAAgB,CAAC,CAClCD,SAAS,CAACb,MAAM,CAACe,cAAc;AAChC;AACA;AACA;AAAA,CACCC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CtB,KAAK,CAACuB,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrClB,KAAK,CAACuB,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCnB,KAAK,CAACuB,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvCpB,KAAK,CAACuB,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CrB,KAAK,CAACuB,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrD9B,KAAK,CAACuB,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClE,IAAI,MAAM7B,SAAS,EAAE,EAAE;IACrBD,YAAY,CAAC,0CAA0C,CAAC;IACxDE,qBAAqB,EAAE;EACzB;AACF;AACA;AAAA,CACD;;AAEHC,OAAO,CAAC4B,KAAK,EAAE"}
1
+ {"version":3,"file":"idm-list.js","names":["FrodoCommand","Authenticate","verboseMessage","listAllConfigEntities","getTokens","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/idm/idm-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Authenticate } from '@rockcarver/frodo-lib';\nimport { verboseMessage } from '../../utils/Console';\nimport { listAllConfigEntities } from '../../ops/IdmOps';\n\nconst { getTokens } = Authenticate;\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 listAllConfigEntities();\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,YAAY,QAAQ,uBAAuB;AACpD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,qBAAqB,QAAQ,kBAAkB;AAExD,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAElC,MAAMI,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,OAAO,CACR;EACD,IAAI,MAAMT,SAAS,EAAE,EAAE;IACrBF,cAAc,CAAC,0CAA0C,CAAC;IAC1DC,qBAAqB,EAAE;EACzB,CAAC,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHX,OAAO,CAACY,KAAK,EAAE"}
@@ -1,16 +1,13 @@
1
- import { Command } from 'commander';
1
+ import { FrodoStubCommand } from '../FrodoCommand';
2
2
  import path from 'path';
3
3
  import { fileURLToPath } from 'url';
4
4
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  export default function setup() {
6
- const program = new Command('idm').helpOption('-h, --help', 'Help').description('Manage IDM configuration.').executableDir(__dirname);
7
- program.command('list', 'List all IDM configuration objects.').showHelpAfterError();
8
-
9
- // Do all 3 commands (raw / all / one ) or seperate?
10
- program.command('export', 'Export IDM configuration objects.').showHelpAfterError();
11
- program.command('import', 'Import IDM configuration objects.').showHelpAfterError();
12
- program.command('count', 'Count number of managed objects of a given type.').showHelpAfterError();
13
- program.showHelpAfterError();
6
+ const program = new FrodoStubCommand('idm').description('Manage IDM configuration.').executableDir(__dirname);
7
+ program.command('list', 'List all IDM configuration objects.');
8
+ program.command('export', 'Export IDM configuration objects.');
9
+ program.command('import', 'Import IDM configuration objects.');
10
+ program.command('count', 'Count number of managed objects of a given type.');
14
11
  return program;
15
12
  }
16
13
  //# sourceMappingURL=idm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idm.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/idm/idm.ts"],"sourcesContent":["import { Command } from 'commander';\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 Command('idm')\n .helpOption('-h, --help', 'Help')\n .description('Manage IDM configuration.')\n .executableDir(__dirname);\n\n program\n .command('list', 'List all IDM configuration objects.')\n .showHelpAfterError();\n\n // Do all 3 commands (raw / all / one ) or seperate?\n program\n .command('export', 'Export IDM configuration objects.')\n .showHelpAfterError();\n\n program\n .command('import', 'Import IDM configuration objects.')\n .showHelpAfterError();\n\n program\n .command('count', 'Count number of managed objects of a given type.')\n .showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,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,KAAK,GAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,OAAO,CAAC,KAAK,CAAC,CAC/BU,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,aAAa,CAACT,SAAS,CAAC;EAE3BM,OAAO,CACJI,OAAO,CAAC,MAAM,EAAE,qCAAqC,CAAC,CACtDC,kBAAkB,EAAE;;EAEvB;EACAL,OAAO,CACJI,OAAO,CAAC,QAAQ,EAAE,mCAAmC,CAAC,CACtDC,kBAAkB,EAAE;EAEvBL,OAAO,CACJI,OAAO,CAAC,QAAQ,EAAE,mCAAmC,CAAC,CACtDC,kBAAkB,EAAE;EAEvBL,OAAO,CACJI,OAAO,CAAC,OAAO,EAAE,kDAAkD,CAAC,CACpEC,kBAAkB,EAAE;EAEvBL,OAAO,CAACK,kBAAkB,EAAE;EAC5B,OAAOL,OAAO;AAChB"}
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,KAAK,GAAG;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,7 +1,7 @@
1
- import { Command, Option } from 'commander';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
2
3
  import { Authenticate, Idp, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common';
4
- import { printMessage } from '../../utils/Console';
4
+ import { printMessage, verboseMessage } from '../../utils/Console';
5
5
  const {
6
6
  getTokens
7
7
  } = Authenticate;
@@ -10,36 +10,32 @@ const {
10
10
  exportSocialProvidersToFile,
11
11
  exportSocialProvidersToFiles
12
12
  } = Idp;
13
- const program = new Command('frodo idp export');
14
- program.description('Export (social) identity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).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(
13
+ const program = new FrodoCommand('frodo idp export');
14
+ 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(
15
15
  // implement command logic inside action handler
16
- async (host, realm, user, password, options) => {
17
- state.default.session.setTenant(host);
18
- state.default.session.setRealm(realm);
19
- state.default.session.setUsername(user);
20
- state.default.session.setPassword(password);
21
- state.default.session.setDeploymentType(options.type);
22
- state.default.session.setAllowInsecureConnection(options.insecure);
16
+ async (host, realm, user, password, options, command) => {
17
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
23
18
  if (await getTokens()) {
24
19
  // export by id/name
25
20
  if (options.idpId) {
26
- printMessage(`Exporting provider "${options.idpId}" from realm "${state.default.session.getRealm()}"...`);
21
+ verboseMessage(`Exporting provider "${options.idpId}" from realm "${state.getRealm()}"...`);
27
22
  exportSocialProviderToFile(options.idpId, options.file);
28
23
  }
29
24
  // --all -a
30
25
  else if (options.all) {
31
- printMessage('Exporting all providers to a single file...');
26
+ verboseMessage('Exporting all providers to a single file...');
32
27
  exportSocialProvidersToFile(options.file);
33
28
  }
34
29
  // --all-separate -A
35
30
  else if (options.allSeparate) {
36
- printMessage('Exporting all providers to separate files...');
31
+ verboseMessage('Exporting all providers to separate files...');
37
32
  exportSocialProvidersToFiles();
38
33
  }
39
34
  // unrecognized combination of options or no options
40
35
  else {
41
36
  printMessage('Unrecognized combination of options or no options...', 'error');
42
37
  program.help();
38
+ process.exitCode = 1;
43
39
  }
44
40
  }
45
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"idp-export.js","names":["Command","Option","Authenticate","Idp","state","common","printMessage","getTokens","exportSocialProviderToFile","exportSocialProvidersToFile","exportSocialProvidersToFiles","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","idpId","getRealm","file","all","allSeparate","help","parse"],"sources":["cli/idp/idp-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Idp, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n exportSocialProviderToFile,\n exportSocialProvidersToFile,\n exportSocialProvidersToFiles,\n} = Idp;\n\nconst program = new Command('frodo idp export');\n\nprogram\n .description('Export (social) identity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // export by id/name\n if (options.idpId) {\n printMessage(\n `Exporting provider \"${\n options.idpId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n exportSocialProviderToFile(options.idpId, options.file);\n }\n // --all -a\n else if (options.all) {\n printMessage('Exporting all providers to a single file...');\n exportSocialProvidersToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate) {\n printMessage('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 }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,GAAG,EAAEC,KAAK,QAAQ,uBAAuB;AAChE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,YAAY,QAAQ,qBAAqB;AAElD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EACJM,0BAA0B;EAC1BC,2BAA2B;EAC3BC;AACF,CAAC,GAAGP,GAAG;AAEP,MAAMQ,OAAO,GAAG,IAAIX,OAAO,CAAC,kBAAkB,CAAC;AAE/CW,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACV,MAAM,CAACW,aAAa,CAAC,CACjCD,WAAW,CAACV,MAAM,CAACY,aAAa,CAAC,CACjCF,WAAW,CAACV,MAAM,CAACa,YAAY,CAAC,CAChCH,WAAW,CAACV,MAAM,CAACc,gBAAgB,CAAC,CACpCC,SAAS,CAACf,MAAM,CAACgB,gBAAgB,CAAC,CAClCD,SAAS,CAACf,MAAM,CAACiB,cAAc,CAAC,CAChCF,SAAS,CACR,IAAInB,MAAM,CACR,uBAAuB,EACvB,6DAA6D,CAC9D,CACF,CACAmB,SAAS,CACR,IAAInB,MAAM,CACR,mBAAmB,EACnB,yEAAyE,CAC1E,CACF,CACAmB,SAAS,CACR,IAAInB,MAAM,CACR,WAAW,EACX,+EAA+E,CAChF,CACF,CACAmB,SAAS,CACR,IAAInB,MAAM,CACR,oBAAoB,EACpB,8GAA8G,CAC/G,CACF,CACAsB,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CxB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrCpB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCrB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvCtB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CvB,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrDhC,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClE,IAAI,MAAM/B,SAAS,EAAE,EAAE;IACrB;IACA,IAAIqB,OAAO,CAACW,KAAK,EAAE;MACjBjC,YAAY,CACT,uBACCsB,OAAO,CAACW,KACT,iBAAgBnC,KAAK,CAACyB,OAAO,CAACC,OAAO,CAACU,QAAQ,EAAG,MAAK,CACxD;MACDhC,0BAA0B,CAACoB,OAAO,CAACW,KAAK,EAAEX,OAAO,CAACa,IAAI,CAAC;IACzD;IACA;IAAA,KACK,IAAIb,OAAO,CAACc,GAAG,EAAE;MACpBpC,YAAY,CAAC,6CAA6C,CAAC;MAC3DG,2BAA2B,CAACmB,OAAO,CAACa,IAAI,CAAC;IAC3C;IACA;IAAA,KACK,IAAIb,OAAO,CAACe,WAAW,EAAE;MAC5BrC,YAAY,CAAC,8CAA8C,CAAC;MAC5DI,4BAA4B,EAAE;IAChC;IACA;IAAA,KACK;MACHJ,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;MACDK,OAAO,CAACiC,IAAI,EAAE;IAChB;EACF;AACF;AACA;AAAA,CACD;;AAEHjC,OAAO,CAACkC,KAAK,EAAE"}
1
+ {"version":3,"file":"idp-export.js","names":["FrodoCommand","Option","Authenticate","Idp","state","printMessage","verboseMessage","getTokens","exportSocialProviderToFile","exportSocialProvidersToFile","exportSocialProvidersToFiles","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","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 { Authenticate, Idp, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n exportSocialProviderToFile,\n exportSocialProvidersToFile,\n exportSocialProvidersToFiles,\n} = Idp;\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 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,YAAY,EAAEC,GAAG,EAAEC,KAAK,QAAQ,uBAAuB;AAChE,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAElE,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EACJM,0BAA0B;EAC1BC,2BAA2B;EAC3BC;AACF,CAAC,GAAGP,GAAG;AAEP,MAAMQ,OAAO,GAAG,IAAIX,YAAY,CAAC,kBAAkB,CAAC;AAEpDW,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,SAAS,CACR,IAAIZ,MAAM,CACR,uBAAuB,EACvB,6DAA6D,CAC9D,CACF,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,mBAAmB,EACnB,yEAAyE,CAC1E,CACF,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,WAAW,EACX,+EAA+E,CAChF,CACF,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,oBAAoB,EACpB,8GAA8G,CAC/G,CACF,CACAa,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMb,SAAS,EAAE,EAAE;IACrB;IACA,IAAIY,OAAO,CAACG,KAAK,EAAE;MACjBhB,cAAc,CACX,uBACCa,OAAO,CAACG,KACT,iBAAgBlB,KAAK,CAACmB,QAAQ,EAAG,MAAK,CACxC;MACDf,0BAA0B,CAACW,OAAO,CAACG,KAAK,EAAEH,OAAO,CAACK,IAAI,CAAC;IACzD;IACA;IAAA,KACK,IAAIL,OAAO,CAACM,GAAG,EAAE;MACpBnB,cAAc,CAAC,6CAA6C,CAAC;MAC7DG,2BAA2B,CAACU,OAAO,CAACK,IAAI,CAAC;IAC3C;IACA;IAAA,KACK,IAAIL,OAAO,CAACO,WAAW,EAAE;MAC5BpB,cAAc,CAAC,8CAA8C,CAAC;MAC9DI,4BAA4B,EAAE;IAChC;IACA;IAAA,KACK;MACHL,YAAY,CACV,sDAAsD,EACtD,OAAO,CACR;MACDM,OAAO,CAACgB,IAAI,EAAE;MACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;AACF;AACA;AAAA,CACD;;AAEHlB,OAAO,CAACmB,KAAK,EAAE"}
@@ -1,7 +1,7 @@
1
- import { Command, Option } from 'commander';
1
+ import { FrodoCommand } from '../FrodoCommand';
2
+ import { Option } from 'commander';
2
3
  import { Authenticate, Idp, state } from '@rockcarver/frodo-lib';
3
- import * as common from '../cmd_common';
4
- import { printMessage } from '../../utils/Console';
4
+ import { printMessage, verboseMessage } from '../../utils/Console';
5
5
  const {
6
6
  getTokens
7
7
  } = Authenticate;
@@ -11,42 +11,36 @@ const {
11
11
  importSocialProvidersFromFile,
12
12
  importSocialProvidersFromFiles
13
13
  } = Idp;
14
- const program = new Command('frodo idp import');
15
- program.description('Import (social) identity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).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(
14
+ const program = new FrodoCommand('frodo idp import');
15
+ 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(
16
16
  // implement command logic inside action handler
17
- async (host, realm, user, password, options) => {
18
- state.default.session.setTenant(host);
19
- state.default.session.setRealm(realm);
20
- state.default.session.setUsername(user);
21
- state.default.session.setPassword(password);
22
- state.default.session.setDeploymentType(options.type);
23
- state.default.session.setAllowInsecureConnection(options.insecure);
24
- if (await getTokens()) {
25
- // import by id
26
- if (options.file && options.idpId) {
27
- printMessage(`Importing provider "${options.idpId}" into realm "${state.default.session.getRealm()}"...`);
28
- importSocialProviderFromFile(options.idpId, options.file);
29
- }
30
- // --all -a
31
- else if (options.all && options.file) {
32
- printMessage(`Importing all providers from a single file (${options.file})...`);
33
- importSocialProvidersFromFile(options.file);
34
- }
35
- // --all-separate -A
36
- else if (options.allSeparate && !options.file) {
37
- printMessage('Importing all providers from separate files in current directory...');
38
- importSocialProvidersFromFiles();
39
- }
40
- // import first provider from file
41
- else if (options.file) {
42
- printMessage(`Importing first provider from file "${options.file}" into realm "${state.default.session.getRealm()}"...`);
43
- importFirstSocialProviderFromFile(options.file);
44
- }
45
- // unrecognized combination of options or no options
46
- else {
47
- printMessage('Unrecognized combination of options or no options...');
48
- program.help();
49
- }
17
+ async (host, realm, user, password, options, command) => {
18
+ command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
19
+ // import by id
20
+ if (options.file && options.idpId && (await getTokens())) {
21
+ verboseMessage(`Importing provider "${options.idpId}" into realm "${state.getRealm()}"...`);
22
+ importSocialProviderFromFile(options.idpId, options.file);
23
+ }
24
+ // --all -a
25
+ else if (options.all && options.file && (await getTokens())) {
26
+ verboseMessage(`Importing all providers from a single file (${options.file})...`);
27
+ importSocialProvidersFromFile(options.file);
28
+ }
29
+ // --all-separate -A
30
+ else if (options.allSeparate && !options.file && (await getTokens())) {
31
+ verboseMessage('Importing all providers from separate files in current directory...');
32
+ importSocialProvidersFromFiles();
33
+ }
34
+ // import first provider from file
35
+ else if (options.file && (await getTokens())) {
36
+ verboseMessage(`Importing first provider from file "${options.file}" into realm "${state.getRealm()}"...`);
37
+ importFirstSocialProviderFromFile(options.file);
38
+ }
39
+ // unrecognized combination of options or no options
40
+ else {
41
+ printMessage('Unrecognized combination of options or no options...');
42
+ program.help();
43
+ process.exitCode = 1;
50
44
  }
51
45
  }
52
46
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"idp-import.js","names":["Command","Option","Authenticate","Idp","state","common","printMessage","getTokens","importSocialProviderFromFile","importFirstSocialProviderFromFile","importSocialProvidersFromFile","importSocialProvidersFromFiles","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","file","idpId","getRealm","all","allSeparate","help","parse"],"sources":["cli/idp/idp-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Idp, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n importSocialProviderFromFile,\n importFirstSocialProviderFromFile,\n importSocialProvidersFromFile,\n importSocialProvidersFromFiles,\n} = Idp;\n\nconst program = new Command('frodo idp import');\n\nprogram\n .description('Import (social) identity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // import by id\n if (options.file && options.idpId) {\n printMessage(\n `Importing provider \"${\n options.idpId\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importSocialProviderFromFile(options.idpId, options.file);\n }\n // --all -a\n else if (options.all && options.file) {\n printMessage(\n `Importing all providers from a single file (${options.file})...`\n );\n importSocialProvidersFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file) {\n printMessage(\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) {\n printMessage(\n `Importing first provider from file \"${\n options.file\n }\" into realm \"${state.default.session.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 }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"idp-import.js","names":["FrodoCommand","Option","Authenticate","Idp","state","printMessage","verboseMessage","getTokens","importSocialProviderFromFile","importFirstSocialProviderFromFile","importSocialProvidersFromFile","importSocialProvidersFromFiles","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","idpId","getRealm","all","allSeparate","help","process","exitCode","parse"],"sources":["cli/idp/idp-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, Idp, state } from '@rockcarver/frodo-lib';\nimport { printMessage, verboseMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n importSocialProviderFromFile,\n importFirstSocialProviderFromFile,\n importSocialProvidersFromFile,\n importSocialProvidersFromFiles,\n} = Idp;\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 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 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 (options.allSeparate && !options.file && (await getTokens())) {\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 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,YAAY,EAAEC,GAAG,EAAEC,KAAK,QAAQ,uBAAuB;AAChE,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAElE,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EACJM,4BAA4B;EAC5BC,iCAAiC;EACjCC,6BAA6B;EAC7BC;AACF,CAAC,GAAGR,GAAG;AAEP,MAAMS,OAAO,GAAG,IAAIZ,YAAY,CAAC,kBAAkB,CAAC;AAEpDY,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,SAAS,CACR,IAAIb,MAAM,CACR,mBAAmB,EACnB,mDAAmD,CACpD,CACF,CACAa,SAAS,CACR,IAAIb,MAAM,CACR,mBAAmB,EACnB,kDAAkD,CACnD,CACF,CACAa,SAAS,CACR,IAAIb,MAAM,CACR,WAAW,EACX,mEAAmE,CACpE,CACF,CACAa,SAAS,CACR,IAAIb,MAAM,CACR,oBAAoB,EACpB,8GAA8G,CAC/G,CACF,CACAc,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD;EACA,IAAID,OAAO,CAACG,IAAI,IAAIH,OAAO,CAACI,KAAK,KAAK,MAAMjB,SAAS,EAAE,CAAC,EAAE;IACxDD,cAAc,CACX,uBACCc,OAAO,CAACI,KACT,iBAAgBpB,KAAK,CAACqB,QAAQ,EAAG,MAAK,CACxC;IACDjB,4BAA4B,CAACY,OAAO,CAACI,KAAK,EAAEJ,OAAO,CAACG,IAAI,CAAC;EAC3D;EACA;EAAA,KACK,IAAIH,OAAO,CAACM,GAAG,IAAIN,OAAO,CAACG,IAAI,KAAK,MAAMhB,SAAS,EAAE,CAAC,EAAE;IAC3DD,cAAc,CACX,+CAA8Cc,OAAO,CAACG,IAAK,MAAK,CAClE;IACDb,6BAA6B,CAACU,OAAO,CAACG,IAAI,CAAC;EAC7C;EACA;EAAA,KACK,IAAIH,OAAO,CAACO,WAAW,IAAI,CAACP,OAAO,CAACG,IAAI,KAAK,MAAMhB,SAAS,EAAE,CAAC,EAAE;IACpED,cAAc,CACZ,qEAAqE,CACtE;IACDK,8BAA8B,EAAE;EAClC;EACA;EAAA,KACK,IAAIS,OAAO,CAACG,IAAI,KAAK,MAAMhB,SAAS,EAAE,CAAC,EAAE;IAC5CD,cAAc,CACX,uCACCc,OAAO,CAACG,IACT,iBAAgBnB,KAAK,CAACqB,QAAQ,EAAG,MAAK,CACxC;IACDhB,iCAAiC,CAACW,OAAO,CAACG,IAAI,CAAC;EACjD;EACA;EAAA,KACK;IACHlB,YAAY,CAAC,sDAAsD,CAAC;IACpEO,OAAO,CAACgB,IAAI,EAAE;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHlB,OAAO,CAACmB,KAAK,EAAE"}