@rockcarver/frodo-cli 2.0.0-4 → 2.0.0-41

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 (486) hide show
  1. package/CHANGELOG.md +312 -5
  2. package/esm/app.js +22 -5
  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 +7 -5
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -5
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -5
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -5
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +8 -6
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -5
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -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 +8 -6
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -5
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -5
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -5
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -5
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +8 -6
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -5
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -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 +10 -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 +14 -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 +41 -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 +44 -0
  49. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-import.js +48 -0
  51. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  52. package/esm/cli/admin/admin-federation-list.js +28 -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 +43 -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 +12 -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 +13 -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 +11 -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 +11 -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 +11 -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 +12 -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 +12 -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 +11 -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 +12 -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 +11 -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 +32 -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 +13 -7
  83. package/esm/cli/agent/agent-delete.js.map +1 -1
  84. package/esm/cli/agent/agent-describe.js +7 -5
  85. package/esm/cli/agent/agent-describe.js.map +1 -1
  86. package/esm/cli/agent/agent-export.js +12 -10
  87. package/esm/cli/agent/agent-export.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-delete.js +13 -7
  89. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-describe.js +7 -5
  91. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway-export.js +12 -10
  93. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  94. package/esm/cli/agent/agent-gateway-import.js +8 -6
  95. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  96. package/esm/cli/agent/agent-gateway-list.js +7 -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 +8 -6
  101. package/esm/cli/agent/agent-import.js.map +1 -1
  102. package/esm/cli/agent/agent-java-delete.js +13 -7
  103. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  104. package/esm/cli/agent/agent-java-describe.js +7 -5
  105. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  106. package/esm/cli/agent/agent-java-export.js +12 -10
  107. package/esm/cli/agent/agent-java-export.js.map +1 -1
  108. package/esm/cli/agent/agent-java-import.js +8 -6
  109. package/esm/cli/agent/agent-java-import.js.map +1 -1
  110. package/esm/cli/agent/agent-java-list.js +7 -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 +7 -5
  115. package/esm/cli/agent/agent-list.js.map +1 -1
  116. package/esm/cli/agent/agent-web-delete.js +13 -7
  117. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  118. package/esm/cli/agent/agent-web-describe.js +7 -5
  119. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  120. package/esm/cli/agent/agent-web-export.js +12 -10
  121. package/esm/cli/agent/agent-web-export.js.map +1 -1
  122. package/esm/cli/agent/agent-web-import.js +8 -6
  123. package/esm/cli/agent/agent-web-import.js.map +1 -1
  124. package/esm/cli/agent/agent-web-list.js +7 -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 +27 -9
  131. package/esm/cli/app/app-delete.js.map +1 -1
  132. package/esm/cli/app/app-describe.js +9 -6
  133. package/esm/cli/app/app-describe.js.map +1 -1
  134. package/esm/cli/app/app-export.js +17 -14
  135. package/esm/cli/app/app-export.js.map +1 -1
  136. package/esm/cli/app/app-import.js +21 -18
  137. package/esm/cli/app/app-import.js.map +1 -1
  138. package/esm/cli/app/app-list.js +12 -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 +29 -0
  143. package/esm/cli/authn/authn-describe.js.map +1 -0
  144. package/esm/cli/authn/authn-export.js +25 -0
  145. package/esm/cli/authn/authn-export.js.map +1 -0
  146. package/esm/cli/authn/authn-import.js +25 -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 +11 -9
  151. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  152. package/esm/cli/authz/authz-policy-describe.js +8 -6
  153. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  154. package/esm/cli/authz/authz-policy-export.js +18 -16
  155. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  156. package/esm/cli/authz/authz-policy-import.js +11 -9
  157. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  158. package/esm/cli/authz/authz-policy-list.js +11 -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 +11 -9
  163. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  164. package/esm/cli/authz/authz-set-describe.js +8 -6
  165. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  166. package/esm/cli/authz/authz-set-export.js +14 -12
  167. package/esm/cli/authz/authz-set-export.js.map +1 -1
  168. package/esm/cli/authz/authz-set-import.js +11 -9
  169. package/esm/cli/authz/authz-set-import.js.map +1 -1
  170. package/esm/cli/authz/authz-set-list.js +8 -6
  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 +13 -11
  175. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  176. package/esm/cli/authz/authz-type-describe.js +9 -7
  177. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  178. package/esm/cli/authz/authz-type-export.js +16 -14
  179. package/esm/cli/authz/authz-type-export.js.map +1 -1
  180. package/esm/cli/authz/authz-type-import.js +14 -12
  181. package/esm/cli/authz/authz-type-import.js.map +1 -1
  182. package/esm/cli/authz/authz-type-list.js +9 -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 +21 -0
  189. package/esm/cli/config/config-delete.js.map +1 -0
  190. package/esm/cli/config/config-describe.js +21 -0
  191. package/esm/cli/config/config-describe.js.map +1 -0
  192. package/esm/cli/config/config-export.js +43 -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 +21 -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 +31 -16
  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 +14 -12
  211. package/esm/cli/email/email-template-export.js.map +1 -1
  212. package/esm/cli/email/email-template-import.js +15 -13
  213. package/esm/cli/email/email-template-import.js.map +1 -1
  214. package/esm/cli/email/email-template-list.js +9 -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 +18 -9
  221. package/esm/cli/esv/esv-apply.js.map +1 -1
  222. package/esm/cli/esv/esv-secret-create.js +10 -7
  223. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  224. package/esm/cli/esv/esv-secret-delete.js +13 -10
  225. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  226. package/esm/cli/esv/esv-secret-describe.js +10 -7
  227. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  228. package/esm/cli/esv/esv-secret-export.js +22 -7
  229. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  230. package/esm/cli/esv/esv-secret-import.js +7 -5
  231. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  232. package/esm/cli/esv/esv-secret-list.js +11 -8
  233. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  234. package/esm/cli/esv/esv-secret-set.js +10 -7
  235. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  236. package/esm/cli/esv/esv-secret-version-activate.js +10 -8
  237. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  238. package/esm/cli/esv/esv-secret-version-create.js +10 -7
  239. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  240. package/esm/cli/esv/esv-secret-version-deactivate.js +10 -8
  241. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  242. package/esm/cli/esv/esv-secret-version-delete.js +13 -10
  243. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  244. package/esm/cli/esv/esv-secret-version-list.js +10 -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 +11 -7
  251. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  252. package/esm/cli/esv/esv-variable-delete.js +13 -9
  253. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  254. package/esm/cli/esv/esv-variable-describe.js +11 -8
  255. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  256. package/esm/cli/esv/esv-variable-export.js +23 -7
  257. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  258. package/esm/cli/esv/esv-variable-import.js +7 -5
  259. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  260. package/esm/cli/esv/esv-variable-list.js +11 -8
  261. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  262. package/esm/cli/esv/esv-variable-set.js +12 -8
  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 +10 -8
  269. package/esm/cli/idm/idm-count.js.map +1 -1
  270. package/esm/cli/idm/idm-export.js +24 -16
  271. package/esm/cli/idm/idm-export.js.map +1 -1
  272. package/esm/cli/idm/idm-import.js +22 -14
  273. package/esm/cli/idm/idm-import.js.map +1 -1
  274. package/esm/cli/idm/idm-list.js +9 -7
  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 +12 -10
  279. package/esm/cli/idp/idp-export.js.map +1 -1
  280. package/esm/cli/idp/idp-import.js +24 -14
  281. package/esm/cli/idp/idp-import.js.map +1 -1
  282. package/esm/cli/idp/idp-list.js +8 -6
  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 +13 -8
  287. package/esm/cli/info/info.js.map +1 -1
  288. package/esm/cli/journey/journey-delete.js +14 -8
  289. package/esm/cli/journey/journey-delete.js.map +1 -1
  290. package/esm/cli/journey/journey-describe.js +22 -12
  291. package/esm/cli/journey/journey-describe.js.map +1 -1
  292. package/esm/cli/journey/journey-disable.js +11 -12
  293. package/esm/cli/journey/journey-disable.js.map +1 -1
  294. package/esm/cli/journey/journey-enable.js +11 -12
  295. package/esm/cli/journey/journey-enable.js.map +1 -1
  296. package/esm/cli/journey/journey-export.js +24 -13
  297. package/esm/cli/journey/journey-export.js.map +1 -1
  298. package/esm/cli/journey/journey-import.js +15 -13
  299. package/esm/cli/journey/journey-import.js.map +1 -1
  300. package/esm/cli/journey/journey-list.js +7 -5
  301. package/esm/cli/journey/journey-list.js.map +1 -1
  302. package/esm/cli/journey/journey-prune.js +23 -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/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
  307. package/esm/cli/log/log-fetch.js.map +1 -0
  308. package/esm/cli/log/log-key-delete.js +34 -0
  309. package/esm/cli/log/log-key-delete.js.map +1 -0
  310. package/esm/cli/log/log-key-describe.js +21 -0
  311. package/esm/cli/log/log-key-describe.js.map +1 -0
  312. package/esm/cli/log/log-key-list.js +25 -0
  313. package/esm/cli/log/log-key-list.js.map +1 -0
  314. package/esm/cli/log/log-key.js +8 -0
  315. package/esm/cli/log/log-key.js.map +1 -0
  316. package/esm/cli/log/log-list.js +80 -0
  317. package/esm/cli/log/log-list.js.map +1 -0
  318. package/esm/cli/log/log-tail.js +77 -0
  319. package/esm/cli/log/log-tail.js.map +1 -0
  320. package/esm/cli/{logging/logs.js → log/log.js} +6 -3
  321. package/esm/cli/log/log.js.map +1 -0
  322. package/esm/cli/oauth/oauth-client-delete.js +21 -0
  323. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  324. package/esm/cli/oauth/oauth-client-describe.js +21 -0
  325. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  326. package/esm/cli/oauth/oauth-client-export.js +51 -0
  327. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  328. package/esm/cli/oauth/oauth-client-import.js +56 -0
  329. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  330. package/esm/cli/oauth/oauth-client-list.js +24 -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 +8 -6
  337. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  338. package/esm/cli/realm/realm-describe.js +8 -6
  339. package/esm/cli/realm/realm-describe.js.map +1 -1
  340. package/esm/cli/realm/realm-list.js +8 -6
  341. package/esm/cli/realm/realm-list.js.map +1 -1
  342. package/esm/cli/realm/realm-remove-custom-domain.js +11 -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 +14 -12
  347. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  348. package/esm/cli/saml/saml-cot-import.js +15 -13
  349. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  350. package/esm/cli/saml/saml-cot-list.js +9 -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 +14 -8
  355. package/esm/cli/saml/saml-delete.js.map +1 -1
  356. package/esm/cli/saml/saml-describe.js +9 -7
  357. package/esm/cli/saml/saml-describe.js.map +1 -1
  358. package/esm/cli/saml/saml-export.js +14 -12
  359. package/esm/cli/saml/saml-export.js.map +1 -1
  360. package/esm/cli/saml/saml-import.js +24 -14
  361. package/esm/cli/saml/saml-import.js.map +1 -1
  362. package/esm/cli/saml/saml-list.js +9 -7
  363. package/esm/cli/saml/saml-list.js.map +1 -1
  364. package/esm/cli/saml/saml-metadata-export.js +10 -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 +21 -8
  371. package/esm/cli/script/script-delete.js.map +1 -1
  372. package/esm/cli/script/script-describe.js +7 -5
  373. package/esm/cli/script/script-describe.js.map +1 -1
  374. package/esm/cli/script/script-export.js +12 -14
  375. package/esm/cli/script/script-export.js.map +1 -1
  376. package/esm/cli/script/script-import.js +9 -7
  377. package/esm/cli/script/script-import.js.map +1 -1
  378. package/esm/cli/script/script-list.js +10 -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 +8 -5
  383. package/esm/cli/service/service-delete.js.map +1 -1
  384. package/esm/cli/service/service-export.js +13 -11
  385. package/esm/cli/service/service-export.js.map +1 -1
  386. package/esm/cli/service/service-import.js +32 -14
  387. package/esm/cli/service/service-import.js.map +1 -1
  388. package/esm/cli/service/service-list.js +7 -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 +57 -0
  393. package/esm/cli/shell/shell.js.map +1 -0
  394. package/esm/cli/theme/theme-delete.js +13 -11
  395. package/esm/cli/theme/theme-delete.js.map +1 -1
  396. package/esm/cli/theme/theme-export.js +16 -14
  397. package/esm/cli/theme/theme-export.js.map +1 -1
  398. package/esm/cli/theme/theme-import.js +16 -14
  399. package/esm/cli/theme/theme-import.js.map +1 -1
  400. package/esm/cli/theme/theme-list.js +8 -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 +7 -0
  405. package/esm/help/SampleData.js.map +1 -0
  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/AuthenticationSettingsOps.js +90 -0
  419. package/esm/ops/AuthenticationSettingsOps.js.map +1 -0
  420. package/esm/ops/CirclesOfTrustOps.js +98 -78
  421. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  422. package/esm/ops/ConfigOps.js +162 -0
  423. package/esm/ops/ConfigOps.js.map +1 -0
  424. package/esm/ops/ConnectionProfileOps.js +12 -6
  425. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  426. package/esm/ops/EmailTemplateOps.js +122 -127
  427. package/esm/ops/EmailTemplateOps.js.map +1 -1
  428. package/esm/ops/IdmOps.js +101 -182
  429. package/esm/ops/IdmOps.js.map +1 -1
  430. package/esm/ops/IdpOps.js +118 -73
  431. package/esm/ops/IdpOps.js.map +1 -1
  432. package/esm/ops/JourneyOps.js +176 -114
  433. package/esm/ops/JourneyOps.js.map +1 -1
  434. package/esm/ops/LogOps.js +92 -30
  435. package/esm/ops/LogOps.js.map +1 -1
  436. package/esm/ops/NodeOps.js +6 -3
  437. package/esm/ops/NodeOps.js.map +1 -1
  438. package/esm/ops/OAuth2ClientOps.js +71 -49
  439. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  440. package/esm/ops/OrganizationOps.js +14 -22
  441. package/esm/ops/OrganizationOps.js.map +1 -1
  442. package/esm/ops/PolicyOps.js +127 -86
  443. package/esm/ops/PolicyOps.js.map +1 -1
  444. package/esm/ops/PolicySetOps.js +108 -76
  445. package/esm/ops/PolicySetOps.js.map +1 -1
  446. package/esm/ops/RealmOps.js +18 -11
  447. package/esm/ops/RealmOps.js.map +1 -1
  448. package/esm/ops/ResourceTypeOps.js +105 -87
  449. package/esm/ops/ResourceTypeOps.js.map +1 -1
  450. package/esm/ops/Saml2Ops.js +132 -91
  451. package/esm/ops/Saml2Ops.js.map +1 -1
  452. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  453. package/esm/ops/ScriptOps.js +205 -82
  454. package/esm/ops/ScriptOps.js.map +1 -1
  455. package/esm/ops/SecretsOps.js +289 -79
  456. package/esm/ops/SecretsOps.js.map +1 -1
  457. package/esm/ops/ServiceOps.js +97 -54
  458. package/esm/ops/ServiceOps.js.map +1 -1
  459. package/esm/ops/ThemeOps.js +164 -158
  460. package/esm/ops/ThemeOps.js.map +1 -1
  461. package/esm/ops/VariablesOps.js +252 -65
  462. package/esm/ops/VariablesOps.js.map +1 -1
  463. package/esm/ops/utils/OpsUtils.js +1 -1
  464. package/esm/ops/utils/OpsUtils.js.map +1 -1
  465. package/esm/ops/utils/Wordwrap.js +1 -1
  466. package/esm/ops/utils/Wordwrap.js.map +1 -1
  467. package/esm/storage/StaticStorage.js +1 -1
  468. package/esm/storage/StaticStorage.js.map +1 -1
  469. package/esm/utils/Config.js +162 -4
  470. package/esm/utils/Config.js.map +1 -1
  471. package/esm/utils/Console.js +78 -35
  472. package/esm/utils/Console.js.map +1 -1
  473. package/esm/utils/Version.js +19 -16
  474. package/esm/utils/Version.js.map +1 -1
  475. package/global-jest-setup.js +4 -0
  476. package/package.json +55 -37
  477. package/esm/cli/logging/logs-fetch.js.map +0 -1
  478. package/esm/cli/logging/logs-list.js +0 -49
  479. package/esm/cli/logging/logs-list.js.map +0 -1
  480. package/esm/cli/logging/logs-tail.js +0 -46
  481. package/esm/cli/logging/logs-tail.js.map +0 -1
  482. package/esm/cli/logging/logs.js.map +0 -1
  483. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  484. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
  485. package/esm/utils/ExportImportUtils.js +0 -90
  486. package/esm/utils/ExportImportUtils.js.map +0 -1
@@ -1,7 +1,27 @@
1
1
  import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import fs from 'fs';
3
- import { createObjectTable, createProgressBar, debugMessage, failSpinner, printMessage, showSpinner, stopProgressBar, succeedSpinner, updateProgressBar } from '../utils/Console';
4
- import { getTypedFilename, saveJsonToFile, titleCase } from '../utils/ExportImportUtils';
3
+ import { createObjectTable, createProgressIndicator, createTable, debugMessage, failSpinner, printMessage, showSpinner, stopProgressIndicator, succeedSpinner, updateProgressIndicator } from '../utils/Console';
4
+ const {
5
+ getRealmName,
6
+ getTypedFilename,
7
+ saveJsonToFile,
8
+ titleCase,
9
+ getFilePath,
10
+ getWorkingDirectory
11
+ } = frodo.utils;
12
+ const {
13
+ readPolicies,
14
+ readPoliciesByPolicySet,
15
+ readPolicy,
16
+ exportPolicy,
17
+ exportPolicies,
18
+ exportPoliciesByPolicySet,
19
+ importPolicy,
20
+ importFirstPolicy,
21
+ importPolicies,
22
+ deletePolicy
23
+ } = frodo.authz.policy;
24
+
5
25
  /**
6
26
  * List policies
7
27
  * @param {boolean} long list with details
@@ -10,10 +30,16 @@ import { getTypedFilename, saveJsonToFile, titleCase } from '../utils/ExportImpo
10
30
  export async function listPolicies(long = false) {
11
31
  let outcome = false;
12
32
  try {
13
- const policies = await frodo.authz.policy.getPolicies();
33
+ const policies = await readPolicies();
14
34
  policies.sort((a, b) => a._id.localeCompare(b._id));
15
- for (const policy of policies) {
16
- if (!long) {
35
+ if (long) {
36
+ const table = createTable(['Id', 'Description', 'Status']);
37
+ for (const policy of policies) {
38
+ table.push([`${policy._id}`, `${policy.description}`, policy.active ? 'active'['brightGreen'] : 'inactive'['brightRed']]);
39
+ }
40
+ printMessage(table.toString(), 'data');
41
+ } else {
42
+ for (const policy of policies) {
17
43
  printMessage(`${policy._id}`, 'data');
18
44
  }
19
45
  }
@@ -34,10 +60,16 @@ export async function listPolicies(long = false) {
34
60
  export async function listPoliciesByPolicySet(policySetId, long = false) {
35
61
  let outcome = false;
36
62
  try {
37
- const policies = await frodo.authz.policy.getPoliciesByPolicySet(policySetId);
63
+ const policies = await readPoliciesByPolicySet(policySetId);
38
64
  policies.sort((a, b) => a._id.localeCompare(b._id));
39
- for (const policy of policies) {
40
- if (!long) {
65
+ if (long) {
66
+ const table = createTable(['Id', 'Description', 'Status']);
67
+ for (const policy of policies) {
68
+ table.push([`${policy._id}`, `${policy.description}`, policy.active ? 'active'['brightGreen'] : 'inactive'['brightRed']]);
69
+ }
70
+ printMessage(table.toString(), 'data');
71
+ } else {
72
+ for (const policy of policies) {
41
73
  printMessage(`${policy._id}`, 'data');
42
74
  }
43
75
  }
@@ -57,7 +89,7 @@ export async function listPoliciesByPolicySet(policySetId, long = false) {
57
89
  */
58
90
  export async function describePolicy(policyId, json = false) {
59
91
  let outcome = false;
60
- const policySet = await frodo.authz.policy.getPolicy(policyId);
92
+ const policySet = await readPolicy(policyId);
61
93
  outcome = true;
62
94
  if (json) {
63
95
  printMessage(policySet, 'data');
@@ -73,23 +105,17 @@ export async function describePolicy(policyId, json = false) {
73
105
  * @param {string} policyId policy id/name
74
106
  * @returns {Promise<boolean>} true if successful, false otherwise
75
107
  */
76
- export async function deletePolicy(policyId) {
108
+ export async function deletePolicyById(policyId) {
77
109
  debugMessage(`cli.PolicyOps.deletePolicy: begin`);
78
110
  showSpinner(`Deleting ${policyId}...`);
79
111
  let outcome = false;
80
- const errors = [];
81
112
  try {
82
113
  debugMessage(`Deleting policy ${policyId}`);
83
- await frodo.authz.policy.deletePolicy(policyId);
84
- } catch (error) {
85
- printMessage(`Error deleting policy ${policyId}: ${error}`, 'error');
86
- }
87
- if (errors.length) {
88
- const errorMessages = errors.map(error => error.message).join('\n');
89
- failSpinner(`Error deleting ${policyId}: ${errorMessages}`);
90
- } else {
114
+ await deletePolicy(policyId);
91
115
  succeedSpinner(`Deleted ${policyId}.`);
92
116
  outcome = true;
117
+ } catch (error) {
118
+ failSpinner(`Error deleting policy ${policyId}: ${error}`);
93
119
  }
94
120
  debugMessage(`cli.PolicyOps.deletePolicy: end [outcome=${outcome}]`);
95
121
  return outcome;
@@ -104,26 +130,27 @@ export async function deletePolicies() {
104
130
  let outcome = false;
105
131
  const errors = [];
106
132
  let policies = [];
133
+ let indicatorId;
107
134
  try {
108
135
  showSpinner(`Retrieving all policies...`);
109
136
  try {
110
- policies = await frodo.authz.policy.getPolicies();
137
+ policies = await readPolicies();
111
138
  succeedSpinner(`Found ${policies.length} policies.`);
112
139
  } catch (error) {
113
140
  error.message = `Error retrieving all policies: ${error.message}`;
114
141
  failSpinner(error.message);
115
142
  throw error;
116
143
  }
117
- if (policies.length) createProgressBar(policies.length, `Deleting ${policies.length} policies...`);
144
+ if (policies.length) indicatorId = createProgressIndicator('determinate', policies.length, `Deleting ${policies.length} policies...`);
118
145
  for (const policy of policies) {
119
146
  const policyId = policy._id;
120
147
  try {
121
148
  debugMessage(`Deleting policy ${policyId}`);
122
- await frodo.authz.policy.deletePolicy(policyId);
123
- updateProgressBar(`Deleted ${policyId}`);
149
+ await deletePolicy(policyId);
150
+ updateProgressIndicator(indicatorId, `Deleted ${policyId}`);
124
151
  } catch (error) {
125
152
  error.message = `Error deleting policy ${policyId}: ${error}`;
126
- updateProgressBar(error.message);
153
+ updateProgressIndicator(indicatorId, error.message);
127
154
  errors.push(error);
128
155
  }
129
156
  }
@@ -133,9 +160,9 @@ export async function deletePolicies() {
133
160
  } finally {
134
161
  if (errors.length) {
135
162
  const errorMessages = errors.map(error => error.message).join('\n');
136
- if (policies.length) stopProgressBar(`Error deleting all policies: ${errorMessages}`);
163
+ if (policies.length) stopProgressIndicator(indicatorId, `Error deleting all policies: ${errorMessages}`);
137
164
  } else {
138
- if (policies.length) stopProgressBar(`Deleted ${policies.length} policies.`);
165
+ if (policies.length) stopProgressIndicator(indicatorId, `Deleted ${policies.length} policies.`);
139
166
  outcome = true;
140
167
  }
141
168
  }
@@ -153,26 +180,27 @@ export async function deletePoliciesByPolicySet(policySetId) {
153
180
  let outcome = false;
154
181
  const errors = [];
155
182
  let policies = [];
183
+ let indicatorId;
156
184
  try {
157
185
  showSpinner(`Retrieving all policies from policy set ${policySetId}...`);
158
186
  try {
159
- policies = await frodo.authz.policy.getPoliciesByPolicySet(policySetId);
187
+ policies = await readPoliciesByPolicySet(policySetId);
160
188
  succeedSpinner(`Found ${policies.length} policies in policy set ${policySetId}.`);
161
189
  } catch (error) {
162
190
  error.message = `Error retrieving all policies from policy set ${policySetId}: ${error.message}`;
163
191
  failSpinner(error.message);
164
192
  throw error;
165
193
  }
166
- if (policies.length) createProgressBar(policies.length, `Deleting ${policies.length} policies from policy set ${policySetId}...`);
194
+ if (policies.length) indicatorId = createProgressIndicator('determinate', policies.length, `Deleting ${policies.length} policies from policy set ${policySetId}...`);
167
195
  for (const policy of policies) {
168
196
  const policyId = policy._id;
169
197
  try {
170
198
  debugMessage(`Deleting policy ${policyId}`);
171
- await frodo.authz.policy.deletePolicy(policyId);
172
- updateProgressBar(`Deleted ${policyId}`);
199
+ await deletePolicy(policyId);
200
+ updateProgressIndicator(indicatorId, `Deleted ${policyId}`);
173
201
  } catch (error) {
174
202
  error.message = `Error deleting policy ${policyId} from policy set ${policySetId}: ${error}`;
175
- updateProgressBar(error.message);
203
+ updateProgressIndicator(indicatorId, error.message);
176
204
  errors.push(error);
177
205
  }
178
206
  }
@@ -182,9 +210,9 @@ export async function deletePoliciesByPolicySet(policySetId) {
182
210
  } finally {
183
211
  if (errors.length) {
184
212
  const errorMessages = errors.map(error => error.message).join('\n');
185
- if (policies.length) stopProgressBar(`Error deleting all policies from policy set ${policySetId}: ${errorMessages}`);
213
+ if (policies.length) stopProgressIndicator(indicatorId, `Error deleting all policies from policy set ${policySetId}: ${errorMessages}`);
186
214
  } else {
187
- if (policies.length) stopProgressBar(`Deleted ${policies.length} policies.`);
215
+ if (policies.length) stopProgressIndicator(indicatorId, `Deleted ${policies.length} policies.`);
188
216
  outcome = true;
189
217
  }
190
218
  }
@@ -196,10 +224,11 @@ export async function deletePoliciesByPolicySet(policySetId) {
196
224
  * Export policy to file
197
225
  * @param {string} policyId policy id/name
198
226
  * @param {string} file file name
227
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
199
228
  * @param {ApplicationExportOptions} options export options
200
229
  * @returns {Promise<boolean>} true if successful, false otherwise
201
230
  */
202
- export async function exportPolicyToFile(policyId, file, options = {
231
+ export async function exportPolicyToFile(policyId, file, includeMeta = true, options = {
203
232
  deps: true,
204
233
  prereqs: false,
205
234
  useStringArrays: true
@@ -212,9 +241,10 @@ export async function exportPolicyToFile(policyId, file, options = {
212
241
  if (file) {
213
242
  fileName = file;
214
243
  }
215
- const exportData = await frodo.authz.policy.exportPolicy(policyId, options);
216
- saveJsonToFile(exportData, fileName);
217
- succeedSpinner(`Exported ${policyId} to ${fileName}.`);
244
+ const filePath = getFilePath(fileName, true);
245
+ const exportData = await exportPolicy(policyId, options);
246
+ saveJsonToFile(exportData, filePath, includeMeta);
247
+ succeedSpinner(`Exported ${policyId} to ${filePath}.`);
218
248
  outcome = true;
219
249
  } catch (error) {
220
250
  failSpinner(`Error exporting ${policyId}: ${error.message}`);
@@ -226,10 +256,11 @@ export async function exportPolicyToFile(policyId, file, options = {
226
256
  /**
227
257
  * Export policies to file
228
258
  * @param {string} file file name
259
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
229
260
  * @param {PolicyExportOptions} options export options
230
261
  * @returns {Promise<boolean>} true if successful, false otherwise
231
262
  */
232
- export async function exportPoliciesToFile(file, options = {
263
+ export async function exportPoliciesToFile(file, includeMeta = true, options = {
233
264
  deps: true,
234
265
  prereqs: false,
235
266
  useStringArrays: true
@@ -238,13 +269,14 @@ export async function exportPoliciesToFile(file, options = {
238
269
  debugMessage(`cli.PolicyOps.exportPoliciesToFile: begin`);
239
270
  showSpinner(`Exporting all policy sets...`);
240
271
  try {
241
- let fileName = getTypedFilename(`all${titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Policies`, 'policy.authz');
272
+ let fileName = getTypedFilename(`all${titleCase(getRealmName(state.getRealm()))}Policies`, 'policy.authz');
242
273
  if (file) {
243
274
  fileName = file;
244
275
  }
245
- const exportData = await frodo.authz.policy.exportPolicies(options);
246
- saveJsonToFile(exportData, fileName);
247
- succeedSpinner(`Exported all policy sets to ${fileName}.`);
276
+ const filePath = getFilePath(fileName, true);
277
+ const exportData = await exportPolicies(options);
278
+ saveJsonToFile(exportData, filePath, includeMeta);
279
+ succeedSpinner(`Exported all policy sets to ${filePath}.`);
248
280
  outcome = true;
249
281
  } catch (error) {
250
282
  failSpinner(`Error exporting policy sets: ${error.message}`);
@@ -257,10 +289,11 @@ export async function exportPoliciesToFile(file, options = {
257
289
  * Export policies to file
258
290
  * @param {string} policySetId policy set id/name
259
291
  * @param {string} file file name
292
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
260
293
  * @param {PolicyExportOptions} options export options
261
294
  * @returns {Promise<boolean>} true if successful, false otherwise
262
295
  */
263
- export async function exportPoliciesByPolicySetToFile(policySetId, file, options = {
296
+ export async function exportPoliciesByPolicySetToFile(policySetId, file, includeMeta = true, options = {
264
297
  deps: true,
265
298
  prereqs: false,
266
299
  useStringArrays: true
@@ -269,13 +302,14 @@ export async function exportPoliciesByPolicySetToFile(policySetId, file, options
269
302
  debugMessage(`cli.PolicyOps.exportPoliciesToFile: begin`);
270
303
  showSpinner(`Exporting all policy sets...`);
271
304
  try {
272
- let fileName = getTypedFilename(`all${titleCase(frodo.helper.utils.getRealmName(state.getRealm())) + titleCase(policySetId)}Policies`, 'policy.authz');
305
+ let fileName = getTypedFilename(`all${titleCase(getRealmName(state.getRealm())) + titleCase(policySetId)}Policies`, 'policy.authz');
273
306
  if (file) {
274
307
  fileName = file;
275
308
  }
276
- const exportData = await frodo.authz.policy.exportPoliciesByPolicySet(policySetId, options);
277
- saveJsonToFile(exportData, fileName);
278
- succeedSpinner(`Exported all policy sets to ${fileName}.`);
309
+ const filePath = getFilePath(fileName, true);
310
+ const exportData = await exportPoliciesByPolicySet(policySetId, options);
311
+ saveJsonToFile(exportData, filePath, includeMeta);
312
+ succeedSpinner(`Exported all policy sets to ${filePath}.`);
279
313
  outcome = true;
280
314
  } catch (error) {
281
315
  failSpinner(`Error exporting policy sets: ${error.message}`);
@@ -286,34 +320,36 @@ export async function exportPoliciesByPolicySetToFile(policySetId, file, options
286
320
 
287
321
  /**
288
322
  * Export all policies to separate files
323
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
289
324
  * @param {PolicyExportOptions} options export options
290
325
  * @returns {Promise<boolean>} true if successful, false otherwise
291
326
  */
292
- export async function exportPoliciesToFiles(options = {
327
+ export async function exportPoliciesToFiles(includeMeta = true, options = {
293
328
  deps: true,
294
329
  prereqs: false,
295
330
  useStringArrays: true
296
331
  }) {
297
332
  debugMessage(`cli.PolicyOps.exportPoliciesToFiles: begin`);
298
333
  const errors = [];
334
+ let indicatorId;
299
335
  try {
300
- const policies = await frodo.authz.policy.getPolicies();
301
- createProgressBar(policies.length, 'Exporting policy sets...');
336
+ const policies = await readPolicies();
337
+ indicatorId = createProgressIndicator('determinate', policies.length, 'Exporting policy sets...');
302
338
  for (const policy of policies) {
303
339
  const file = getTypedFilename(policy._id, 'policy.authz');
304
340
  try {
305
- const exportData = await frodo.authz.policy.exportPolicy(policy._id, options);
306
- saveJsonToFile(exportData, file);
307
- updateProgressBar(`Exported ${policy._id}.`);
341
+ const exportData = await exportPolicy(policy._id, options);
342
+ saveJsonToFile(exportData, getFilePath(file, true), includeMeta);
343
+ updateProgressIndicator(indicatorId, `Exported ${policy._id}.`);
308
344
  } catch (error) {
309
345
  errors.push(error);
310
- updateProgressBar(`Error exporting ${policy._id}.`);
346
+ updateProgressIndicator(indicatorId, `Error exporting ${policy._id}.`);
311
347
  }
312
348
  }
313
- stopProgressBar(`Export complete.`);
349
+ stopProgressIndicator(indicatorId, `Export complete.`);
314
350
  } catch (error) {
315
351
  errors.push(error);
316
- stopProgressBar(`Error exporting policy sets to files`);
352
+ stopProgressIndicator(indicatorId, `Error exporting policy sets to files`);
317
353
  }
318
354
  debugMessage(`cli.PolicyOps.exportPoliciesToFiles: end`);
319
355
  return 0 === errors.length;
@@ -321,34 +357,36 @@ export async function exportPoliciesToFiles(options = {
321
357
 
322
358
  /**
323
359
  * Export all policies to separate files
360
+ * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
324
361
  * @param {PolicyExportOptions} options export options
325
362
  * @returns {Promise<boolean>} true if successful, false otherwise
326
363
  */
327
- export async function exportPoliciesByPolicySetToFiles(policySetId, options = {
364
+ export async function exportPoliciesByPolicySetToFiles(policySetId, includeMeta = true, options = {
328
365
  deps: true,
329
366
  prereqs: false,
330
367
  useStringArrays: true
331
368
  }) {
332
369
  debugMessage(`cli.PolicyOps.exportPoliciesToFiles: begin`);
333
370
  const errors = [];
371
+ let indicatorId;
334
372
  try {
335
- const policies = await frodo.authz.policy.getPoliciesByPolicySet(policySetId);
336
- createProgressBar(policies.length, `Exporting policies in policy set ${policySetId}...`);
373
+ const policies = await readPoliciesByPolicySet(policySetId);
374
+ indicatorId = createProgressIndicator('determinate', policies.length, `Exporting policies in policy set ${policySetId}...`);
337
375
  for (const policy of policies) {
338
376
  const file = getTypedFilename(policy._id, 'policy.authz');
339
377
  try {
340
- const exportData = await frodo.authz.policy.exportPolicy(policy._id, options);
341
- saveJsonToFile(exportData, file);
342
- updateProgressBar(`Exported ${policy._id}.`);
378
+ const exportData = await exportPolicy(policy._id, options);
379
+ saveJsonToFile(exportData, getFilePath(file, true), includeMeta);
380
+ updateProgressIndicator(indicatorId, `Exported ${policy._id}.`);
343
381
  } catch (error) {
344
382
  errors.push(error);
345
- updateProgressBar(`Error exporting ${policy._id}.`);
383
+ updateProgressIndicator(indicatorId, `Error exporting ${policy._id}.`);
346
384
  }
347
385
  }
348
- stopProgressBar(`Export complete.`);
386
+ stopProgressIndicator(indicatorId, `Export complete.`);
349
387
  } catch (error) {
350
388
  errors.push(error);
351
- stopProgressBar(`Error exporting policy sets to files`);
389
+ stopProgressIndicator(indicatorId, `Error exporting policy sets to files`);
352
390
  }
353
391
  debugMessage(`cli.PolicyOps.exportPoliciesToFiles: end`);
354
392
  return 0 === errors.length;
@@ -369,9 +407,9 @@ export async function importPolicyFromFile(policyId, file, options = {
369
407
  debugMessage(`cli.PolicyOps.importPolicyFromFile: begin`);
370
408
  showSpinner(`Importing ${policyId}...`);
371
409
  try {
372
- const data = fs.readFileSync(file, 'utf8');
410
+ const data = fs.readFileSync(getFilePath(file), 'utf8');
373
411
  const fileData = JSON.parse(data);
374
- await frodo.authz.policy.importPolicy(policyId, fileData, options);
412
+ await importPolicy(policyId, fileData, options);
375
413
  outcome = true;
376
414
  succeedSpinner(`Imported ${policyId}.`);
377
415
  } catch (error) {
@@ -394,15 +432,16 @@ export async function importFirstPolicyFromFile(file, options = {
394
432
  }) {
395
433
  let outcome = false;
396
434
  debugMessage(`cli.PolicySetOps.importFirstPolicyFromFile: begin`);
397
- showSpinner(`Importing ${file}...`);
435
+ const filePath = getFilePath(file);
436
+ showSpinner(`Importing first policy from ${filePath}...`);
398
437
  try {
399
- const data = fs.readFileSync(file, 'utf8');
438
+ const data = fs.readFileSync(filePath, 'utf8');
400
439
  const fileData = JSON.parse(data);
401
- await frodo.authz.policy.importFirstPolicy(fileData, options);
440
+ const policy = await importFirstPolicy(fileData, options);
402
441
  outcome = true;
403
- succeedSpinner(`Imported ${file}.`);
442
+ succeedSpinner(`Imported first policy with id '${policy._id}' from ${filePath}.`);
404
443
  } catch (error) {
405
- failSpinner(`Error importing ${file}.`);
444
+ failSpinner(`Error importing first policy from ${filePath}.`);
406
445
  printMessage(error, 'error');
407
446
  }
408
447
  debugMessage(`cli.PolicySetOps.importFirstPolicyFromFile: end`);
@@ -421,15 +460,16 @@ export async function importPoliciesFromFile(file, options = {
421
460
  }) {
422
461
  let outcome = false;
423
462
  debugMessage(`cli.PolicyOps.importPoliciesFromFile: begin`);
424
- showSpinner(`Importing ${file}...`);
463
+ const filePath = getFilePath(file);
464
+ showSpinner(`Importing ${filePath}...`);
425
465
  try {
426
- const data = fs.readFileSync(file, 'utf8');
466
+ const data = fs.readFileSync(filePath, 'utf8');
427
467
  const fileData = JSON.parse(data);
428
- await frodo.authz.policy.importPolicies(fileData, options);
468
+ await importPolicies(fileData, options);
429
469
  outcome = true;
430
- succeedSpinner(`Imported ${file}${options.policySetName ? ' into policy set ' + options.policySetName : '.'}`);
470
+ succeedSpinner(`Imported ${filePath}${options.policySetName ? ' into policy set ' + options.policySetName : '.'}`);
431
471
  } catch (error) {
432
- failSpinner(`Error importing ${file}${options.policySetName ? ' into policy set ' + options.policySetName : '.'}`);
472
+ failSpinner(`Error importing ${filePath}${options.policySetName ? ' into policy set ' + options.policySetName : '.'}`);
433
473
  printMessage(error, 'error');
434
474
  }
435
475
  debugMessage(`cli.PolicyOps.importPoliciesFromFile: end`);
@@ -446,11 +486,12 @@ export async function importPoliciesFromFiles(options = {
446
486
  prereqs: false
447
487
  }) {
448
488
  const errors = [];
489
+ let indicatorId;
449
490
  try {
450
491
  debugMessage(`cli.PolicyOps.importPoliciesFromFiles: begin`);
451
- const names = fs.readdirSync('.');
452
- const files = names.filter(name => name.toLowerCase().endsWith('.policy.authz.json'));
453
- createProgressBar(files.length, 'Importing policies...');
492
+ const names = fs.readdirSync(getWorkingDirectory());
493
+ const files = names.filter(name => name.toLowerCase().endsWith('.policy.authz.json')).map(name => getFilePath(name));
494
+ indicatorId = createProgressIndicator('determinate', files.length, 'Importing policies...');
454
495
  let total = 0;
455
496
  for (const file of files) {
456
497
  try {
@@ -458,21 +499,21 @@ export async function importPoliciesFromFiles(options = {
458
499
  const fileData = JSON.parse(data);
459
500
  const count = Object.keys(fileData.policyset).length;
460
501
  total += count;
461
- await frodo.authz.policy.importPolicies(fileData, options);
462
- updateProgressBar(`Imported ${count} policies from ${file}`);
502
+ await importPolicies(fileData, options);
503
+ updateProgressIndicator(indicatorId, `Imported ${count} policies from ${file}`);
463
504
  } catch (error) {
464
505
  errors.push(error);
465
- updateProgressBar(`Error importing policies from ${file}`);
506
+ updateProgressIndicator(indicatorId, `Error importing policies from ${file}`);
466
507
  printMessage(error, 'error');
467
508
  }
468
509
  }
469
- stopProgressBar(`Finished importing ${total} policies from ${files.length} files.`);
510
+ stopProgressIndicator(indicatorId, `Finished importing ${total} policies from ${files.length} files.`);
470
511
  } catch (error) {
471
512
  errors.push(error);
472
- stopProgressBar(`Error importing policies from files.`);
513
+ stopProgressIndicator(indicatorId, `Error importing policies from files.`);
473
514
  printMessage(error, 'error');
474
515
  }
475
516
  debugMessage(`cli.PolicyOps.importPoliciesFromFiles: end`);
476
517
  return 0 === errors.length;
477
518
  }
478
- //# sourceMappingURL=PolicyOps.js.map
519
+ //# sourceMappingURL=PolicyOps.js.map