@rockcarver/frodo-cli 2.0.0-13 → 2.0.0-14

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 (383) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/esm/app.js +1 -1
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +3 -3
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +2 -2
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +2 -2
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +2 -2
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +2 -2
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +2 -2
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +2 -2
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +2 -2
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-export.js +2 -2
  21. package/esm/cli/_template/something-export.js.map +1 -1
  22. package/esm/cli/_template/something-import.js +2 -2
  23. package/esm/cli/_template/something-import.js.map +1 -1
  24. package/esm/cli/_template/something-list.js +2 -2
  25. package/esm/cli/_template/something-list.js.map +1 -1
  26. package/esm/cli/_template/something-other-delete.js +2 -2
  27. package/esm/cli/_template/something-other-delete.js.map +1 -1
  28. package/esm/cli/_template/something-other-describe.js +2 -2
  29. package/esm/cli/_template/something-other-describe.js.map +1 -1
  30. package/esm/cli/_template/something-other-export.js +2 -2
  31. package/esm/cli/_template/something-other-export.js.map +1 -1
  32. package/esm/cli/_template/something-other-import.js +2 -2
  33. package/esm/cli/_template/something-other-import.js.map +1 -1
  34. package/esm/cli/_template/something-other-list.js +2 -2
  35. package/esm/cli/_template/something-other-list.js.map +1 -1
  36. package/esm/cli/_template/something.js +1 -1
  37. package/esm/cli/_template/something.js.map +1 -1
  38. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +1 -1
  39. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  40. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +3 -3
  41. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  42. package/esm/cli/admin/admin-federation-export.js +2 -2
  43. package/esm/cli/admin/admin-federation-export.js.map +1 -1
  44. package/esm/cli/admin/admin-federation-import.js +2 -2
  45. package/esm/cli/admin/admin-federation-import.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-list.js +2 -2
  47. package/esm/cli/admin/admin-federation-list.js.map +1 -1
  48. package/esm/cli/admin/admin-get-access-token.js +2 -2
  49. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  50. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +2 -2
  51. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  52. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +2 -2
  53. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  54. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +1 -1
  55. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  56. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +1 -1
  57. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-list-static-user-mappings.js +2 -2
  59. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  60. package/esm/cli/admin/admin-remove-static-user-mapping.js +1 -1
  61. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  62. package/esm/cli/admin/admin-repair-org-model.js +2 -2
  63. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  64. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +2 -2
  65. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  66. package/esm/cli/admin/admin-show-generic-extension-attributes.js +2 -2
  67. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  68. package/esm/cli/admin/admin.js +1 -1
  69. package/esm/cli/admin/admin.js.map +1 -1
  70. package/esm/cli/agent/agent-delete.js +2 -2
  71. package/esm/cli/agent/agent-delete.js.map +1 -1
  72. package/esm/cli/agent/agent-describe.js +2 -2
  73. package/esm/cli/agent/agent-describe.js.map +1 -1
  74. package/esm/cli/agent/agent-export.js +3 -3
  75. package/esm/cli/agent/agent-export.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-delete.js +2 -2
  77. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-describe.js +2 -2
  79. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  80. package/esm/cli/agent/agent-gateway-export.js +3 -3
  81. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-import.js +3 -3
  83. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-list.js +2 -2
  85. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  86. package/esm/cli/agent/agent-import.js +3 -3
  87. package/esm/cli/agent/agent-import.js.map +1 -1
  88. package/esm/cli/agent/agent-java-delete.js +2 -2
  89. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-java-describe.js +2 -2
  91. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-java-export.js +3 -3
  93. package/esm/cli/agent/agent-java-export.js.map +1 -1
  94. package/esm/cli/agent/agent-java-import.js +3 -3
  95. package/esm/cli/agent/agent-java-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-list.js +2 -2
  97. package/esm/cli/agent/agent-java-list.js.map +1 -1
  98. package/esm/cli/agent/agent-list.js +2 -2
  99. package/esm/cli/agent/agent-list.js.map +1 -1
  100. package/esm/cli/agent/agent-web-delete.js +2 -2
  101. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  102. package/esm/cli/agent/agent-web-describe.js +2 -2
  103. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  104. package/esm/cli/agent/agent-web-export.js +3 -3
  105. package/esm/cli/agent/agent-web-export.js.map +1 -1
  106. package/esm/cli/agent/agent-web-import.js +3 -3
  107. package/esm/cli/agent/agent-web-import.js.map +1 -1
  108. package/esm/cli/agent/agent-web-list.js +2 -2
  109. package/esm/cli/agent/agent-web-list.js.map +1 -1
  110. package/esm/cli/agent/agent.js +1 -1
  111. package/esm/cli/agent/agent.js.map +1 -1
  112. package/esm/cli/app/app-delete.js +2 -2
  113. package/esm/cli/app/app-delete.js.map +1 -1
  114. package/esm/cli/app/app-describe.js +2 -2
  115. package/esm/cli/app/app-describe.js.map +1 -1
  116. package/esm/cli/app/app-export.js +3 -3
  117. package/esm/cli/app/app-export.js.map +1 -1
  118. package/esm/cli/app/app-import.js +3 -3
  119. package/esm/cli/app/app-import.js.map +1 -1
  120. package/esm/cli/app/app-list.js +3 -3
  121. package/esm/cli/app/app-list.js.map +1 -1
  122. package/esm/cli/app/app.js +1 -1
  123. package/esm/cli/app/app.js.map +1 -1
  124. package/esm/cli/authz/authz-policy-delete.js +3 -3
  125. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  126. package/esm/cli/authz/authz-policy-describe.js +3 -3
  127. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  128. package/esm/cli/authz/authz-policy-export.js +3 -3
  129. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  130. package/esm/cli/authz/authz-policy-import.js +2 -2
  131. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  132. package/esm/cli/authz/authz-policy-list.js +3 -3
  133. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  134. package/esm/cli/authz/authz-set-delete.js +3 -3
  135. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  136. package/esm/cli/authz/authz-set-describe.js +3 -3
  137. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  138. package/esm/cli/authz/authz-set-export.js +3 -3
  139. package/esm/cli/authz/authz-set-export.js.map +1 -1
  140. package/esm/cli/authz/authz-set-import.js +2 -2
  141. package/esm/cli/authz/authz-set-import.js.map +1 -1
  142. package/esm/cli/authz/authz-set-list.js +2 -2
  143. package/esm/cli/authz/authz-set-list.js.map +1 -1
  144. package/esm/cli/authz/authz-type-delete.js +3 -3
  145. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  146. package/esm/cli/authz/authz-type-describe.js +3 -3
  147. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  148. package/esm/cli/authz/authz-type-export.js +3 -3
  149. package/esm/cli/authz/authz-type-export.js.map +1 -1
  150. package/esm/cli/authz/authz-type-import.js +3 -3
  151. package/esm/cli/authz/authz-type-import.js.map +1 -1
  152. package/esm/cli/authz/authz-type-list.js +3 -3
  153. package/esm/cli/authz/authz-type-list.js.map +1 -1
  154. package/esm/cli/authz/authz.js +1 -1
  155. package/esm/cli/authz/authz.js.map +1 -1
  156. package/esm/cli/conn/conn-delete.js +1 -1
  157. package/esm/cli/conn/conn-delete.js.map +1 -1
  158. package/esm/cli/conn/conn-describe.js +1 -1
  159. package/esm/cli/conn/conn-describe.js.map +1 -1
  160. package/esm/cli/conn/conn-list.js +1 -1
  161. package/esm/cli/conn/conn-list.js.map +1 -1
  162. package/esm/cli/conn/conn-save.js +4 -4
  163. package/esm/cli/conn/conn-save.js.map +1 -1
  164. package/esm/cli/conn/conn.js +1 -1
  165. package/esm/cli/conn/conn.js.map +1 -1
  166. package/esm/cli/email/email-template-export.js +3 -3
  167. package/esm/cli/email/email-template-export.js.map +1 -1
  168. package/esm/cli/email/email-template-import.js +3 -3
  169. package/esm/cli/email/email-template-import.js.map +1 -1
  170. package/esm/cli/email/email-template-list.js +3 -3
  171. package/esm/cli/email/email-template-list.js.map +1 -1
  172. package/esm/cli/email/email.js +1 -1
  173. package/esm/cli/email/email.js.map +1 -1
  174. package/esm/cli/esv/esv-apply.js +2 -2
  175. package/esm/cli/esv/esv-apply.js.map +1 -1
  176. package/esm/cli/esv/esv-secret-create.js +3 -3
  177. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  178. package/esm/cli/esv/esv-secret-delete.js +3 -3
  179. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  180. package/esm/cli/esv/esv-secret-describe.js +3 -3
  181. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  182. package/esm/cli/esv/esv-secret-export.js +2 -2
  183. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  184. package/esm/cli/esv/esv-secret-import.js +2 -2
  185. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  186. package/esm/cli/esv/esv-secret-list.js +3 -3
  187. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  188. package/esm/cli/esv/esv-secret-set.js +3 -3
  189. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  190. package/esm/cli/esv/esv-secret-version-activate.js +3 -3
  191. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  192. package/esm/cli/esv/esv-secret-version-create.js +4 -4
  193. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  194. package/esm/cli/esv/esv-secret-version-deactivate.js +3 -3
  195. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  196. package/esm/cli/esv/esv-secret-version-delete.js +3 -3
  197. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  198. package/esm/cli/esv/esv-secret-version-list.js +3 -3
  199. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  200. package/esm/cli/esv/esv-variable-create.js +3 -3
  201. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  202. package/esm/cli/esv/esv-variable-delete.js +3 -3
  203. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  204. package/esm/cli/esv/esv-variable-describe.js +3 -3
  205. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  206. package/esm/cli/esv/esv-variable-export.js +2 -2
  207. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  208. package/esm/cli/esv/esv-variable-import.js +2 -2
  209. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  210. package/esm/cli/esv/esv-variable-list.js +3 -3
  211. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  212. package/esm/cli/esv/esv-variable-set.js +2 -2
  213. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  214. package/esm/cli/esv/esv.js +1 -1
  215. package/esm/cli/esv/esv.js.map +1 -1
  216. package/esm/cli/idm/idm-count.js +3 -3
  217. package/esm/cli/idm/idm-count.js.map +1 -1
  218. package/esm/cli/idm/idm-export.js +3 -3
  219. package/esm/cli/idm/idm-export.js.map +1 -1
  220. package/esm/cli/idm/idm-import.js +3 -3
  221. package/esm/cli/idm/idm-import.js.map +1 -1
  222. package/esm/cli/idm/idm-list.js +2 -2
  223. package/esm/cli/idm/idm-list.js.map +1 -1
  224. package/esm/cli/idm/idm.js +1 -1
  225. package/esm/cli/idm/idm.js.map +1 -1
  226. package/esm/cli/idp/idp-export.js +6 -6
  227. package/esm/cli/idp/idp-export.js.map +1 -1
  228. package/esm/cli/idp/idp-import.js +7 -7
  229. package/esm/cli/idp/idp-import.js.map +1 -1
  230. package/esm/cli/idp/idp-list.js +2 -2
  231. package/esm/cli/idp/idp-list.js.map +1 -1
  232. package/esm/cli/idp/idp.js +1 -1
  233. package/esm/cli/idp/idp.js.map +1 -1
  234. package/esm/cli/info/info.js +3 -3
  235. package/esm/cli/info/info.js.map +1 -1
  236. package/esm/cli/journey/journey-delete.js +2 -2
  237. package/esm/cli/journey/journey-delete.js.map +1 -1
  238. package/esm/cli/journey/journey-describe.js +5 -5
  239. package/esm/cli/journey/journey-describe.js.map +1 -1
  240. package/esm/cli/journey/journey-disable.js +3 -3
  241. package/esm/cli/journey/journey-disable.js.map +1 -1
  242. package/esm/cli/journey/journey-enable.js +3 -3
  243. package/esm/cli/journey/journey-enable.js.map +1 -1
  244. package/esm/cli/journey/journey-export.js +3 -3
  245. package/esm/cli/journey/journey-export.js.map +1 -1
  246. package/esm/cli/journey/journey-import.js +3 -3
  247. package/esm/cli/journey/journey-import.js.map +1 -1
  248. package/esm/cli/journey/journey-list.js +1 -1
  249. package/esm/cli/journey/journey-list.js.map +1 -1
  250. package/esm/cli/journey/journey-prune.js +15 -11
  251. package/esm/cli/journey/journey-prune.js.map +1 -1
  252. package/esm/cli/journey/journey.js +1 -1
  253. package/esm/cli/journey/journey.js.map +1 -1
  254. package/esm/cli/log/log-fetch.js +4 -4
  255. package/esm/cli/log/log-fetch.js.map +1 -1
  256. package/esm/cli/log/log-key-delete.js +3 -3
  257. package/esm/cli/log/log-key-delete.js.map +1 -1
  258. package/esm/cli/log/log-key-describe.js +2 -2
  259. package/esm/cli/log/log-key-describe.js.map +1 -1
  260. package/esm/cli/log/log-key-list.js +2 -2
  261. package/esm/cli/log/log-key-list.js.map +1 -1
  262. package/esm/cli/log/log-list.js +2 -2
  263. package/esm/cli/log/log-list.js.map +1 -1
  264. package/esm/cli/log/log-tail.js +4 -4
  265. package/esm/cli/log/log-tail.js.map +1 -1
  266. package/esm/cli/log/log.js +1 -1
  267. package/esm/cli/log/log.js.map +1 -1
  268. package/esm/cli/realm/realm-add-custom-domain.js +3 -3
  269. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  270. package/esm/cli/realm/realm-describe.js +2 -2
  271. package/esm/cli/realm/realm-describe.js.map +1 -1
  272. package/esm/cli/realm/realm-list.js +3 -3
  273. package/esm/cli/realm/realm-list.js.map +1 -1
  274. package/esm/cli/realm/realm-remove-custom-domain.js +2 -2
  275. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  276. package/esm/cli/realm/realm.js +1 -1
  277. package/esm/cli/realm/realm.js.map +1 -1
  278. package/esm/cli/saml/saml-cot-export.js +3 -3
  279. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  280. package/esm/cli/saml/saml-cot-import.js +3 -3
  281. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  282. package/esm/cli/saml/saml-cot-list.js +3 -3
  283. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  284. package/esm/cli/saml/saml-delete.js +2 -2
  285. package/esm/cli/saml/saml-delete.js.map +1 -1
  286. package/esm/cli/saml/saml-describe.js +3 -3
  287. package/esm/cli/saml/saml-describe.js.map +1 -1
  288. package/esm/cli/saml/saml-export.js +3 -3
  289. package/esm/cli/saml/saml-export.js.map +1 -1
  290. package/esm/cli/saml/saml-import.js +3 -3
  291. package/esm/cli/saml/saml-import.js.map +1 -1
  292. package/esm/cli/saml/saml-list.js +3 -3
  293. package/esm/cli/saml/saml-list.js.map +1 -1
  294. package/esm/cli/saml/saml-metadata-export.js +3 -3
  295. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  296. package/esm/cli/saml/saml.js +1 -1
  297. package/esm/cli/saml/saml.js.map +1 -1
  298. package/esm/cli/script/script-delete.js +2 -2
  299. package/esm/cli/script/script-delete.js.map +1 -1
  300. package/esm/cli/script/script-describe.js +2 -2
  301. package/esm/cli/script/script-describe.js.map +1 -1
  302. package/esm/cli/script/script-export.js +3 -3
  303. package/esm/cli/script/script-export.js.map +1 -1
  304. package/esm/cli/script/script-import.js +3 -3
  305. package/esm/cli/script/script-import.js.map +1 -1
  306. package/esm/cli/script/script-list.js +3 -3
  307. package/esm/cli/script/script-list.js.map +1 -1
  308. package/esm/cli/script/script.js +1 -1
  309. package/esm/cli/script/script.js.map +1 -1
  310. package/esm/cli/service/service-delete.js +2 -2
  311. package/esm/cli/service/service-delete.js.map +1 -1
  312. package/esm/cli/service/service-export.js +2 -2
  313. package/esm/cli/service/service-export.js.map +1 -1
  314. package/esm/cli/service/service-import.js +2 -2
  315. package/esm/cli/service/service-import.js.map +1 -1
  316. package/esm/cli/service/service-list.js +2 -2
  317. package/esm/cli/service/service-list.js.map +1 -1
  318. package/esm/cli/service/service.js +1 -1
  319. package/esm/cli/service/service.js.map +1 -1
  320. package/esm/cli/shell/shell.js +7 -7
  321. package/esm/cli/shell/shell.js.map +1 -1
  322. package/esm/cli/theme/theme-delete.js +3 -3
  323. package/esm/cli/theme/theme-delete.js.map +1 -1
  324. package/esm/cli/theme/theme-export.js +3 -3
  325. package/esm/cli/theme/theme-export.js.map +1 -1
  326. package/esm/cli/theme/theme-import.js +3 -3
  327. package/esm/cli/theme/theme-import.js.map +1 -1
  328. package/esm/cli/theme/theme-list.js +2 -2
  329. package/esm/cli/theme/theme-list.js.map +1 -1
  330. package/esm/cli/theme/theme.js +1 -1
  331. package/esm/cli/theme/theme.js.map +1 -1
  332. package/esm/loader.js +1 -1
  333. package/esm/loader.js.map +1 -1
  334. package/esm/ops/AdminFederationOps.js +3 -3
  335. package/esm/ops/AdminFederationOps.js.map +1 -1
  336. package/esm/ops/AgentOps.js +13 -13
  337. package/esm/ops/AgentOps.js.map +1 -1
  338. package/esm/ops/CirclesOfTrustOps.js +4 -4
  339. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  340. package/esm/ops/ConnectionProfileOps.js +1 -1
  341. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  342. package/esm/ops/EmailTemplateOps.js +42 -44
  343. package/esm/ops/EmailTemplateOps.js.map +1 -1
  344. package/esm/ops/IdmOps.js +40 -56
  345. package/esm/ops/IdmOps.js.map +1 -1
  346. package/esm/ops/IdpOps.js +29 -26
  347. package/esm/ops/IdpOps.js.map +1 -1
  348. package/esm/ops/JourneyOps.js +42 -17
  349. package/esm/ops/JourneyOps.js.map +1 -1
  350. package/esm/ops/LogOps.js.map +1 -1
  351. package/esm/ops/NodeOps.js.map +1 -1
  352. package/esm/ops/OAuth2ClientOps.js +3 -3
  353. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  354. package/esm/ops/OrganizationOps.js +9 -23
  355. package/esm/ops/OrganizationOps.js.map +1 -1
  356. package/esm/ops/PolicyOps.js +10 -10
  357. package/esm/ops/PolicyOps.js.map +1 -1
  358. package/esm/ops/PolicySetOps.js +9 -9
  359. package/esm/ops/PolicySetOps.js.map +1 -1
  360. package/esm/ops/RealmOps.js +9 -9
  361. package/esm/ops/RealmOps.js.map +1 -1
  362. package/esm/ops/ResourceTypeOps.js +8 -8
  363. package/esm/ops/ResourceTypeOps.js.map +1 -1
  364. package/esm/ops/Saml2Ops.js +25 -30
  365. package/esm/ops/Saml2Ops.js.map +1 -1
  366. package/esm/ops/ScriptOps.js +6 -5
  367. package/esm/ops/ScriptOps.js.map +1 -1
  368. package/esm/ops/SecretsOps.js +18 -17
  369. package/esm/ops/SecretsOps.js.map +1 -1
  370. package/esm/ops/ServiceOps.js +1 -1
  371. package/esm/ops/ServiceOps.js.map +1 -1
  372. package/esm/ops/ThemeOps.js +18 -18
  373. package/esm/ops/ThemeOps.js.map +1 -1
  374. package/esm/ops/VariablesOps.js +9 -12
  375. package/esm/ops/VariablesOps.js.map +1 -1
  376. package/esm/utils/Config.js.map +1 -1
  377. package/esm/utils/Console.js +3 -2
  378. package/esm/utils/Console.js.map +1 -1
  379. package/esm/utils/ExportImportUtils.js +2 -2
  380. package/esm/utils/ExportImportUtils.js.map +1 -1
  381. package/esm/utils/Version.js +3 -3
  382. package/esm/utils/Version.js.map +1 -1
  383. package/package.json +5 -3
@@ -6,9 +6,9 @@ const {
6
6
  getRealmName
7
7
  } = frodo.utils;
8
8
  const {
9
- getPolicies,
10
- getPoliciesByPolicySet,
11
- getPolicy,
9
+ readPolicies,
10
+ readPoliciesByPolicySet,
11
+ readPolicy,
12
12
  exportPolicy,
13
13
  exportPolicies,
14
14
  exportPoliciesByPolicySet,
@@ -25,7 +25,7 @@ const {
25
25
  export async function listPolicies(long = false) {
26
26
  let outcome = false;
27
27
  try {
28
- const policies = await getPolicies();
28
+ const policies = await readPolicies();
29
29
  policies.sort((a, b) => a._id.localeCompare(b._id));
30
30
  for (const policy of policies) {
31
31
  if (!long) {
@@ -49,7 +49,7 @@ export async function listPolicies(long = false) {
49
49
  export async function listPoliciesByPolicySet(policySetId, long = false) {
50
50
  let outcome = false;
51
51
  try {
52
- const policies = await getPoliciesByPolicySet(policySetId);
52
+ const policies = await readPoliciesByPolicySet(policySetId);
53
53
  policies.sort((a, b) => a._id.localeCompare(b._id));
54
54
  for (const policy of policies) {
55
55
  if (!long) {
@@ -72,7 +72,7 @@ export async function listPoliciesByPolicySet(policySetId, long = false) {
72
72
  */
73
73
  export async function describePolicy(policyId, json = false) {
74
74
  let outcome = false;
75
- const policySet = await getPolicy(policyId);
75
+ const policySet = await readPolicy(policyId);
76
76
  outcome = true;
77
77
  if (json) {
78
78
  printMessage(policySet, 'data');
@@ -122,7 +122,7 @@ export async function deletePolicies() {
122
122
  try {
123
123
  showSpinner(`Retrieving all policies...`);
124
124
  try {
125
- policies = await getPolicies();
125
+ policies = await readPolicies();
126
126
  succeedSpinner(`Found ${policies.length} policies.`);
127
127
  } catch (error) {
128
128
  error.message = `Error retrieving all policies: ${error.message}`;
@@ -171,7 +171,7 @@ export async function deletePoliciesByPolicySet(policySetId) {
171
171
  try {
172
172
  showSpinner(`Retrieving all policies from policy set ${policySetId}...`);
173
173
  try {
174
- policies = await getPoliciesByPolicySet(policySetId);
174
+ policies = await readPoliciesByPolicySet(policySetId);
175
175
  succeedSpinner(`Found ${policies.length} policies in policy set ${policySetId}.`);
176
176
  } catch (error) {
177
177
  error.message = `Error retrieving all policies from policy set ${policySetId}: ${error.message}`;
@@ -312,7 +312,7 @@ export async function exportPoliciesToFiles(options = {
312
312
  debugMessage(`cli.PolicyOps.exportPoliciesToFiles: begin`);
313
313
  const errors = [];
314
314
  try {
315
- const policies = await getPolicies();
315
+ const policies = await readPolicies();
316
316
  createProgressBar(policies.length, 'Exporting policy sets...');
317
317
  for (const policy of policies) {
318
318
  const file = getTypedFilename(policy._id, 'policy.authz');
@@ -347,7 +347,7 @@ export async function exportPoliciesByPolicySetToFiles(policySetId, options = {
347
347
  debugMessage(`cli.PolicyOps.exportPoliciesToFiles: begin`);
348
348
  const errors = [];
349
349
  try {
350
- const policies = await getPoliciesByPolicySet(policySetId);
350
+ const policies = await readPoliciesByPolicySet(policySetId);
351
351
  createProgressBar(policies.length, `Exporting policies in policy set ${policySetId}...`);
352
352
  for (const policy of policies) {
353
353
  const file = getTypedFilename(policy._id, 'policy.authz');
@@ -1 +1 @@
1
- {"version":3,"file":"PolicyOps.js","names":["frodo","state","fs","createObjectTable","createProgressBar","debugMessage","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","getTypedFilename","saveJsonToFile","titleCase","getRealmName","utils","getPolicies","getPoliciesByPolicySet","getPolicy","exportPolicy","exportPolicies","exportPoliciesByPolicySet","importPolicy","importFirstPolicy","importPolicies","authz","policy","listPolicies","long","outcome","policies","sort","a","b","_id","localeCompare","err","message","listPoliciesByPolicySet","policySetId","describePolicy","policyId","json","policySet","table","toString","deletePolicy","errors","error","length","errorMessages","map","join","deletePolicies","push","deletePoliciesByPolicySet","exportPolicyToFile","file","options","deps","prereqs","useStringArrays","fileName","exportData","exportPoliciesToFile","getRealm","exportPoliciesByPolicySetToFile","exportPoliciesToFiles","exportPoliciesByPolicySetToFiles","importPolicyFromFile","data","readFileSync","fileData","JSON","parse","importFirstPolicyFromFile","importPoliciesFromFile","policySetName","importPoliciesFromFiles","names","readdirSync","files","filter","name","toLowerCase","endsWith","total","count","Object","keys","policyset"],"sources":["../../src/ops/PolicyOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport type { PolicySkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport {\n createObjectTable,\n createProgressBar,\n debugMessage,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport {\n getTypedFilename,\n saveJsonToFile,\n titleCase,\n} from '../utils/ExportImportUtils';\nimport type {\n PolicyExportOptions,\n PolicyImportOptions,\n PolicyExportInterface,\n} from '@rockcarver/frodo-lib/types/ops/PolicyOps';\n\nconst { getRealmName } = frodo.utils;\nconst {\n getPolicies,\n getPoliciesByPolicySet,\n getPolicy,\n exportPolicy,\n exportPolicies,\n exportPoliciesByPolicySet,\n importPolicy,\n importFirstPolicy,\n importPolicies,\n} = frodo.authz.policy;\n\n/**\n * List policies\n * @param {boolean} long list with details\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listPolicies(long = false): Promise<boolean> {\n let outcome = false;\n try {\n const policies = await getPolicies();\n policies.sort((a, b) => a._id.localeCompare(b._id));\n for (const policy of policies) {\n if (!long) {\n printMessage(`${policy._id}`, 'data');\n }\n }\n outcome = true;\n } catch (err) {\n printMessage(`listPolicies ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * List policies by policy set\n * @param {string} policySetId policy set id/name\n * @param {boolean} long list with details\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listPoliciesByPolicySet(\n policySetId: string,\n long = false\n): Promise<boolean> {\n let outcome = false;\n try {\n const policies = await getPoliciesByPolicySet(policySetId);\n policies.sort((a, b) => a._id.localeCompare(b._id));\n for (const policy of policies) {\n if (!long) {\n printMessage(`${policy._id}`, 'data');\n }\n }\n outcome = true;\n } catch (err) {\n printMessage(`listPolicies ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * Describe policy\n * @param {string} policyId policy id/name\n * @param {Object} json JSON output\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function describePolicy(\n policyId: string,\n json = false\n): Promise<boolean> {\n let outcome = false;\n const policySet = await getPolicy(policyId);\n outcome = true;\n if (json) {\n printMessage(policySet, 'data');\n } else {\n const table = createObjectTable(policySet);\n printMessage(table.toString(), 'data');\n }\n return outcome;\n}\n\n/**\n * Delete policy\n * @param {string} policyId policy id/name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicy(policyId: string): Promise<boolean> {\n debugMessage(`cli.PolicyOps.deletePolicy: begin`);\n showSpinner(`Deleting ${policyId}...`);\n let outcome = false;\n const errors = [];\n try {\n debugMessage(`Deleting policy ${policyId}`);\n await deletePolicy(policyId);\n } catch (error) {\n printMessage(`Error deleting policy ${policyId}: ${error}`, 'error');\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n failSpinner(`Error deleting ${policyId}: ${errorMessages}`);\n } else {\n succeedSpinner(`Deleted ${policyId}.`);\n outcome = true;\n }\n debugMessage(`cli.PolicyOps.deletePolicy: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Delete all policies\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicies(): Promise<boolean> {\n debugMessage(`cli.PolicyOps.deletePolicies: begin`);\n let outcome = false;\n const errors = [];\n let policies: PolicySkeleton[] = [];\n try {\n showSpinner(`Retrieving all policies...`);\n try {\n policies = await getPolicies();\n succeedSpinner(`Found ${policies.length} policies.`);\n } catch (error) {\n error.message = `Error retrieving all policies: ${error.message}`;\n failSpinner(error.message);\n throw error;\n }\n if (policies.length)\n createProgressBar(\n policies.length,\n `Deleting ${policies.length} policies...`\n );\n for (const policy of policies) {\n const policyId = policy._id;\n try {\n debugMessage(`Deleting policy ${policyId}`);\n await deletePolicy(policyId);\n updateProgressBar(`Deleted ${policyId}`);\n } catch (error) {\n error.message = `Error deleting policy ${policyId}: ${error}`;\n updateProgressBar(error.message);\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error deleting policies: ${error}`;\n errors.push(error);\n } finally {\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n if (policies.length)\n stopProgressBar(`Error deleting all policies: ${errorMessages}`);\n } else {\n if (policies.length)\n stopProgressBar(`Deleted ${policies.length} policies.`);\n outcome = true;\n }\n }\n debugMessage(`cli.PolicyOps.deletePolicies: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Delete all policies in policy set\n * @param {string} policySetId policy set id/name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePoliciesByPolicySet(\n policySetId: string\n): Promise<boolean> {\n debugMessage(`cli.PolicyOps.deletePoliciesByPolicySet: begin`);\n let outcome = false;\n const errors = [];\n let policies: PolicySkeleton[] = [];\n try {\n showSpinner(`Retrieving all policies from policy set ${policySetId}...`);\n try {\n policies = await getPoliciesByPolicySet(policySetId);\n succeedSpinner(\n `Found ${policies.length} policies in policy set ${policySetId}.`\n );\n } catch (error) {\n error.message = `Error retrieving all policies from policy set ${policySetId}: ${error.message}`;\n failSpinner(error.message);\n throw error;\n }\n if (policies.length)\n createProgressBar(\n policies.length,\n `Deleting ${policies.length} policies from policy set ${policySetId}...`\n );\n for (const policy of policies) {\n const policyId = policy._id;\n try {\n debugMessage(`Deleting policy ${policyId}`);\n await deletePolicy(policyId);\n updateProgressBar(`Deleted ${policyId}`);\n } catch (error) {\n error.message = `Error deleting policy ${policyId} from policy set ${policySetId}: ${error}`;\n updateProgressBar(error.message);\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error deleting policies from policy set ${policySetId}: ${error}`;\n errors.push(error);\n } finally {\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n if (policies.length)\n stopProgressBar(\n `Error deleting all policies from policy set ${policySetId}: ${errorMessages}`\n );\n } else {\n if (policies.length)\n stopProgressBar(`Deleted ${policies.length} policies.`);\n outcome = true;\n }\n }\n debugMessage(\n `cli.PolicyOps.deletePoliciesByPolicySet: end [outcome=${outcome}]`\n );\n return outcome;\n}\n\n/**\n * Export policy to file\n * @param {string} policyId policy id/name\n * @param {string} file file name\n * @param {ApplicationExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicyToFile(\n policyId: string,\n file: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.exportPolicyToFile: begin`);\n showSpinner(`Exporting ${policyId}...`);\n try {\n let fileName = getTypedFilename(policyId, 'policy.authz');\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicy(policyId, options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported ${policyId} to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting ${policyId}: ${error.message}`);\n }\n debugMessage(`cli.PolicyOps.exportPolicyToFile: end`);\n return outcome;\n}\n\n/**\n * Export policies to file\n * @param {string} file file name\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPoliciesToFile(\n file: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.exportPoliciesToFile: begin`);\n showSpinner(`Exporting all policy sets...`);\n try {\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}Policies`,\n 'policy.authz'\n );\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicies(options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported all policy sets to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting policy sets: ${error.message}`);\n }\n debugMessage(`cli.PolicyOps.exportPoliciesToFile: end`);\n return outcome;\n}\n\n/**\n * Export policies to file\n * @param {string} policySetId policy set id/name\n * @param {string} file file name\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPoliciesByPolicySetToFile(\n policySetId: string,\n file: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.exportPoliciesToFile: begin`);\n showSpinner(`Exporting all policy sets...`);\n try {\n let fileName = getTypedFilename(\n `all${\n titleCase(getRealmName(state.getRealm())) + titleCase(policySetId)\n }Policies`,\n 'policy.authz'\n );\n if (file) {\n fileName = file;\n }\n const exportData = await exportPoliciesByPolicySet(policySetId, options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported all policy sets to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting policy sets: ${error.message}`);\n }\n debugMessage(`cli.PolicyOps.exportPoliciesToFile: end`);\n return outcome;\n}\n\n/**\n * Export all policies to separate files\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPoliciesToFiles(\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n debugMessage(`cli.PolicyOps.exportPoliciesToFiles: begin`);\n const errors = [];\n try {\n const policies: PolicySkeleton[] = await getPolicies();\n createProgressBar(policies.length, 'Exporting policy sets...');\n for (const policy of policies) {\n const file = getTypedFilename(policy._id, 'policy.authz');\n try {\n const exportData: PolicyExportInterface = await exportPolicy(\n policy._id,\n options\n );\n saveJsonToFile(exportData, file);\n updateProgressBar(`Exported ${policy._id}.`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error exporting ${policy._id}.`);\n }\n }\n stopProgressBar(`Export complete.`);\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error exporting policy sets to files`);\n }\n debugMessage(`cli.PolicyOps.exportPoliciesToFiles: end`);\n return 0 === errors.length;\n}\n\n/**\n * Export all policies to separate files\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPoliciesByPolicySetToFiles(\n policySetId: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n debugMessage(`cli.PolicyOps.exportPoliciesToFiles: begin`);\n const errors = [];\n try {\n const policies: PolicySkeleton[] = await getPoliciesByPolicySet(\n policySetId\n );\n createProgressBar(\n policies.length,\n `Exporting policies in policy set ${policySetId}...`\n );\n for (const policy of policies) {\n const file = getTypedFilename(policy._id, 'policy.authz');\n try {\n const exportData: PolicyExportInterface = await exportPolicy(\n policy._id,\n options\n );\n saveJsonToFile(exportData, file);\n updateProgressBar(`Exported ${policy._id}.`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error exporting ${policy._id}.`);\n }\n }\n stopProgressBar(`Export complete.`);\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error exporting policy sets to files`);\n }\n debugMessage(`cli.PolicyOps.exportPoliciesToFiles: end`);\n return 0 === errors.length;\n}\n\n/**\n * Import policy from file\n * @param {string} policyId policy id/name\n * @param {string} file file name\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicyFromFile(\n policyId: string,\n file: string,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.importPolicyFromFile: begin`);\n showSpinner(`Importing ${policyId}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicy(policyId, fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${policyId}.`);\n } catch (error) {\n failSpinner(`Error importing ${policyId}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicyOps.importPolicyFromFile: end`);\n return outcome;\n}\n\n/**\n * Import first policy from file\n * @param {string} file file name\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importFirstPolicyFromFile(\n file: string,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importFirstPolicyFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importFirstPolicy(fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${file}.`);\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importFirstPolicyFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policies from file\n * @param {string} file file name\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPoliciesFromFile(\n file: string,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.importPoliciesFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicies(fileData, options);\n outcome = true;\n succeedSpinner(\n `Imported ${file}${\n options.policySetName\n ? ' into policy set ' + options.policySetName\n : '.'\n }`\n );\n } catch (error) {\n failSpinner(\n `Error importing ${file}${\n options.policySetName\n ? ' into policy set ' + options.policySetName\n : '.'\n }`\n );\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicyOps.importPoliciesFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policies from files\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPoliciesFromFiles(\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n const errors = [];\n try {\n debugMessage(`cli.PolicyOps.importPoliciesFromFiles: begin`);\n const names = fs.readdirSync('.');\n const files = names.filter((name) =>\n name.toLowerCase().endsWith('.policy.authz.json')\n );\n createProgressBar(files.length, 'Importing policies...');\n let total = 0;\n for (const file of files) {\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData: PolicyExportInterface = JSON.parse(data);\n const count = Object.keys(fileData.policyset).length;\n total += count;\n await importPolicies(fileData, options);\n updateProgressBar(`Imported ${count} policies from ${file}`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error importing policies from ${file}`);\n printMessage(error, 'error');\n }\n }\n stopProgressBar(\n `Finished importing ${total} policies from ${files.length} files.`\n );\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error importing policies from files.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicyOps.importPoliciesFromFiles: end`);\n return 0 === errors.length;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PolicyOps.js","names":["frodo","state","fs","createObjectTable","createProgressBar","debugMessage","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","getTypedFilename","saveJsonToFile","titleCase","getRealmName","utils","readPolicies","readPoliciesByPolicySet","readPolicy","exportPolicy","exportPolicies","exportPoliciesByPolicySet","importPolicy","importFirstPolicy","importPolicies","authz","policy","listPolicies","long","outcome","policies","sort","a","b","_id","localeCompare","err","message","listPoliciesByPolicySet","policySetId","describePolicy","policyId","json","policySet","table","toString","deletePolicy","errors","error","length","errorMessages","map","join","deletePolicies","push","deletePoliciesByPolicySet","exportPolicyToFile","file","options","deps","prereqs","useStringArrays","fileName","exportData","exportPoliciesToFile","getRealm","exportPoliciesByPolicySetToFile","exportPoliciesToFiles","exportPoliciesByPolicySetToFiles","importPolicyFromFile","data","readFileSync","fileData","JSON","parse","importFirstPolicyFromFile","importPoliciesFromFile","policySetName","importPoliciesFromFiles","names","readdirSync","files","filter","name","toLowerCase","endsWith","total","count","Object","keys","policyset"],"sources":["../../src/ops/PolicyOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { type PolicySkeleton } from '@rockcarver/frodo-lib/types/api/PoliciesApi';\nimport type {\n PolicyExportInterface,\n PolicyExportOptions,\n PolicyImportOptions,\n} from '@rockcarver/frodo-lib/types/ops/PolicyOps';\nimport fs from 'fs';\n\nimport {\n createObjectTable,\n createProgressBar,\n debugMessage,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport {\n getTypedFilename,\n saveJsonToFile,\n titleCase,\n} from '../utils/ExportImportUtils';\n\nconst { getRealmName } = frodo.utils;\nconst {\n readPolicies,\n readPoliciesByPolicySet,\n readPolicy,\n exportPolicy,\n exportPolicies,\n exportPoliciesByPolicySet,\n importPolicy,\n importFirstPolicy,\n importPolicies,\n} = frodo.authz.policy;\n\n/**\n * List policies\n * @param {boolean} long list with details\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listPolicies(long = false): Promise<boolean> {\n let outcome = false;\n try {\n const policies = await readPolicies();\n policies.sort((a, b) => a._id.localeCompare(b._id));\n for (const policy of policies) {\n if (!long) {\n printMessage(`${policy._id}`, 'data');\n }\n }\n outcome = true;\n } catch (err) {\n printMessage(`listPolicies ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * List policies by policy set\n * @param {string} policySetId policy set id/name\n * @param {boolean} long list with details\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listPoliciesByPolicySet(\n policySetId: string,\n long = false\n): Promise<boolean> {\n let outcome = false;\n try {\n const policies = await readPoliciesByPolicySet(policySetId);\n policies.sort((a, b) => a._id.localeCompare(b._id));\n for (const policy of policies) {\n if (!long) {\n printMessage(`${policy._id}`, 'data');\n }\n }\n outcome = true;\n } catch (err) {\n printMessage(`listPolicies ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * Describe policy\n * @param {string} policyId policy id/name\n * @param {Object} json JSON output\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function describePolicy(\n policyId: string,\n json = false\n): Promise<boolean> {\n let outcome = false;\n const policySet = await readPolicy(policyId);\n outcome = true;\n if (json) {\n printMessage(policySet, 'data');\n } else {\n const table = createObjectTable(policySet);\n printMessage(table.toString(), 'data');\n }\n return outcome;\n}\n\n/**\n * Delete policy\n * @param {string} policyId policy id/name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicy(policyId: string): Promise<boolean> {\n debugMessage(`cli.PolicyOps.deletePolicy: begin`);\n showSpinner(`Deleting ${policyId}...`);\n let outcome = false;\n const errors = [];\n try {\n debugMessage(`Deleting policy ${policyId}`);\n await deletePolicy(policyId);\n } catch (error) {\n printMessage(`Error deleting policy ${policyId}: ${error}`, 'error');\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n failSpinner(`Error deleting ${policyId}: ${errorMessages}`);\n } else {\n succeedSpinner(`Deleted ${policyId}.`);\n outcome = true;\n }\n debugMessage(`cli.PolicyOps.deletePolicy: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Delete all policies\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicies(): Promise<boolean> {\n debugMessage(`cli.PolicyOps.deletePolicies: begin`);\n let outcome = false;\n const errors = [];\n let policies: PolicySkeleton[] = [];\n try {\n showSpinner(`Retrieving all policies...`);\n try {\n policies = await readPolicies();\n succeedSpinner(`Found ${policies.length} policies.`);\n } catch (error) {\n error.message = `Error retrieving all policies: ${error.message}`;\n failSpinner(error.message);\n throw error;\n }\n if (policies.length)\n createProgressBar(\n policies.length,\n `Deleting ${policies.length} policies...`\n );\n for (const policy of policies) {\n const policyId = policy._id;\n try {\n debugMessage(`Deleting policy ${policyId}`);\n await deletePolicy(policyId);\n updateProgressBar(`Deleted ${policyId}`);\n } catch (error) {\n error.message = `Error deleting policy ${policyId}: ${error}`;\n updateProgressBar(error.message);\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error deleting policies: ${error}`;\n errors.push(error);\n } finally {\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n if (policies.length)\n stopProgressBar(`Error deleting all policies: ${errorMessages}`);\n } else {\n if (policies.length)\n stopProgressBar(`Deleted ${policies.length} policies.`);\n outcome = true;\n }\n }\n debugMessage(`cli.PolicyOps.deletePolicies: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Delete all policies in policy set\n * @param {string} policySetId policy set id/name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePoliciesByPolicySet(\n policySetId: string\n): Promise<boolean> {\n debugMessage(`cli.PolicyOps.deletePoliciesByPolicySet: begin`);\n let outcome = false;\n const errors = [];\n let policies: PolicySkeleton[] = [];\n try {\n showSpinner(`Retrieving all policies from policy set ${policySetId}...`);\n try {\n policies = await readPoliciesByPolicySet(policySetId);\n succeedSpinner(\n `Found ${policies.length} policies in policy set ${policySetId}.`\n );\n } catch (error) {\n error.message = `Error retrieving all policies from policy set ${policySetId}: ${error.message}`;\n failSpinner(error.message);\n throw error;\n }\n if (policies.length)\n createProgressBar(\n policies.length,\n `Deleting ${policies.length} policies from policy set ${policySetId}...`\n );\n for (const policy of policies) {\n const policyId = policy._id;\n try {\n debugMessage(`Deleting policy ${policyId}`);\n await deletePolicy(policyId);\n updateProgressBar(`Deleted ${policyId}`);\n } catch (error) {\n error.message = `Error deleting policy ${policyId} from policy set ${policySetId}: ${error}`;\n updateProgressBar(error.message);\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error deleting policies from policy set ${policySetId}: ${error}`;\n errors.push(error);\n } finally {\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n if (policies.length)\n stopProgressBar(\n `Error deleting all policies from policy set ${policySetId}: ${errorMessages}`\n );\n } else {\n if (policies.length)\n stopProgressBar(`Deleted ${policies.length} policies.`);\n outcome = true;\n }\n }\n debugMessage(\n `cli.PolicyOps.deletePoliciesByPolicySet: end [outcome=${outcome}]`\n );\n return outcome;\n}\n\n/**\n * Export policy to file\n * @param {string} policyId policy id/name\n * @param {string} file file name\n * @param {ApplicationExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicyToFile(\n policyId: string,\n file: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.exportPolicyToFile: begin`);\n showSpinner(`Exporting ${policyId}...`);\n try {\n let fileName = getTypedFilename(policyId, 'policy.authz');\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicy(policyId, options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported ${policyId} to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting ${policyId}: ${error.message}`);\n }\n debugMessage(`cli.PolicyOps.exportPolicyToFile: end`);\n return outcome;\n}\n\n/**\n * Export policies to file\n * @param {string} file file name\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPoliciesToFile(\n file: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.exportPoliciesToFile: begin`);\n showSpinner(`Exporting all policy sets...`);\n try {\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}Policies`,\n 'policy.authz'\n );\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicies(options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported all policy sets to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting policy sets: ${error.message}`);\n }\n debugMessage(`cli.PolicyOps.exportPoliciesToFile: end`);\n return outcome;\n}\n\n/**\n * Export policies to file\n * @param {string} policySetId policy set id/name\n * @param {string} file file name\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPoliciesByPolicySetToFile(\n policySetId: string,\n file: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.exportPoliciesToFile: begin`);\n showSpinner(`Exporting all policy sets...`);\n try {\n let fileName = getTypedFilename(\n `all${\n titleCase(getRealmName(state.getRealm())) + titleCase(policySetId)\n }Policies`,\n 'policy.authz'\n );\n if (file) {\n fileName = file;\n }\n const exportData = await exportPoliciesByPolicySet(policySetId, options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported all policy sets to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting policy sets: ${error.message}`);\n }\n debugMessage(`cli.PolicyOps.exportPoliciesToFile: end`);\n return outcome;\n}\n\n/**\n * Export all policies to separate files\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPoliciesToFiles(\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n debugMessage(`cli.PolicyOps.exportPoliciesToFiles: begin`);\n const errors = [];\n try {\n const policies: PolicySkeleton[] = await readPolicies();\n createProgressBar(policies.length, 'Exporting policy sets...');\n for (const policy of policies) {\n const file = getTypedFilename(policy._id, 'policy.authz');\n try {\n const exportData: PolicyExportInterface = await exportPolicy(\n policy._id,\n options\n );\n saveJsonToFile(exportData, file);\n updateProgressBar(`Exported ${policy._id}.`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error exporting ${policy._id}.`);\n }\n }\n stopProgressBar(`Export complete.`);\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error exporting policy sets to files`);\n }\n debugMessage(`cli.PolicyOps.exportPoliciesToFiles: end`);\n return 0 === errors.length;\n}\n\n/**\n * Export all policies to separate files\n * @param {PolicyExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPoliciesByPolicySetToFiles(\n policySetId: string,\n options: PolicyExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n debugMessage(`cli.PolicyOps.exportPoliciesToFiles: begin`);\n const errors = [];\n try {\n const policies: PolicySkeleton[] = await readPoliciesByPolicySet(\n policySetId\n );\n createProgressBar(\n policies.length,\n `Exporting policies in policy set ${policySetId}...`\n );\n for (const policy of policies) {\n const file = getTypedFilename(policy._id, 'policy.authz');\n try {\n const exportData: PolicyExportInterface = await exportPolicy(\n policy._id,\n options\n );\n saveJsonToFile(exportData, file);\n updateProgressBar(`Exported ${policy._id}.`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error exporting ${policy._id}.`);\n }\n }\n stopProgressBar(`Export complete.`);\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error exporting policy sets to files`);\n }\n debugMessage(`cli.PolicyOps.exportPoliciesToFiles: end`);\n return 0 === errors.length;\n}\n\n/**\n * Import policy from file\n * @param {string} policyId policy id/name\n * @param {string} file file name\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicyFromFile(\n policyId: string,\n file: string,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.importPolicyFromFile: begin`);\n showSpinner(`Importing ${policyId}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicy(policyId, fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${policyId}.`);\n } catch (error) {\n failSpinner(`Error importing ${policyId}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicyOps.importPolicyFromFile: end`);\n return outcome;\n}\n\n/**\n * Import first policy from file\n * @param {string} file file name\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importFirstPolicyFromFile(\n file: string,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importFirstPolicyFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importFirstPolicy(fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${file}.`);\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importFirstPolicyFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policies from file\n * @param {string} file file name\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPoliciesFromFile(\n file: string,\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicyOps.importPoliciesFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicies(fileData, options);\n outcome = true;\n succeedSpinner(\n `Imported ${file}${\n options.policySetName\n ? ' into policy set ' + options.policySetName\n : '.'\n }`\n );\n } catch (error) {\n failSpinner(\n `Error importing ${file}${\n options.policySetName\n ? ' into policy set ' + options.policySetName\n : '.'\n }`\n );\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicyOps.importPoliciesFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policies from files\n * @param {PolicyImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPoliciesFromFiles(\n options: PolicyImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n const errors = [];\n try {\n debugMessage(`cli.PolicyOps.importPoliciesFromFiles: begin`);\n const names = fs.readdirSync('.');\n const files = names.filter((name) =>\n name.toLowerCase().endsWith('.policy.authz.json')\n );\n createProgressBar(files.length, 'Importing policies...');\n let total = 0;\n for (const file of files) {\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData: PolicyExportInterface = JSON.parse(data);\n const count = Object.keys(fileData.policyset).length;\n total += count;\n await importPolicies(fileData, options);\n updateProgressBar(`Imported ${count} policies from ${file}`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error importing policies from ${file}`);\n printMessage(error, 'error');\n }\n }\n stopProgressBar(\n `Finished importing ${total} policies from ${files.length} files.`\n );\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error importing policies from files.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicyOps.importPoliciesFromFiles: end`);\n return 0 === errors.length;\n}\n"],"mappings":"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"}
@@ -6,12 +6,12 @@ const {
6
6
  getRealmName
7
7
  } = frodo.utils;
8
8
  const {
9
- getPoliciesByPolicySet,
9
+ readPoliciesByPolicySet,
10
10
  deletePolicy
11
11
  } = frodo.authz.policy;
12
12
  const {
13
- getPolicySets,
14
- getPolicySet,
13
+ readPolicySets,
14
+ readPolicySet,
15
15
  exportPolicySet,
16
16
  exportPolicySets,
17
17
  importPolicySet,
@@ -26,7 +26,7 @@ const {
26
26
  export async function listPolicySets() {
27
27
  let outcome = false;
28
28
  try {
29
- const policySets = await getPolicySets();
29
+ const policySets = await readPolicySets();
30
30
  policySets.sort((a, b) => a.name.localeCompare(b.name));
31
31
  for (const policySet of policySets) {
32
32
  printMessage(`${policySet.name}`, 'data');
@@ -47,7 +47,7 @@ export async function listPolicySets() {
47
47
  */
48
48
  export async function describePolicySet(policySetId, json = false) {
49
49
  let outcome = false;
50
- const policySet = await getPolicySet(policySetId);
50
+ const policySet = await readPolicySet(policySetId);
51
51
  outcome = true;
52
52
  if (json) {
53
53
  printMessage(policySet, 'data');
@@ -68,7 +68,7 @@ export async function deletePolicySet(policySetId) {
68
68
  showSpinner(`Deleting ${policySetId}...`);
69
69
  let outcome = false;
70
70
  const errors = [];
71
- const policies = await getPoliciesByPolicySet(policySetId);
71
+ const policies = await readPoliciesByPolicySet(policySetId);
72
72
  for (const policy of policies) {
73
73
  try {
74
74
  debugMessage(`Deleting policy ${policy._id}`);
@@ -108,7 +108,7 @@ export async function deletePolicySets() {
108
108
  try {
109
109
  showSpinner(`Retrieving all policy sets...`);
110
110
  try {
111
- policySets = await getPolicySets();
111
+ policySets = await readPolicySets();
112
112
  succeedSpinner(`Found ${policySets.length} policy sets.`);
113
113
  } catch (error) {
114
114
  error.message = `Error retrieving all policy sets: ${error.message}`;
@@ -119,7 +119,7 @@ export async function deletePolicySets() {
119
119
  for (const policySet of policySets) {
120
120
  const policySetId = policySet.name;
121
121
  try {
122
- const policies = await getPoliciesByPolicySet(policySetId);
122
+ const policies = await readPoliciesByPolicySet(policySetId);
123
123
  for (const policy of policies) {
124
124
  try {
125
125
  debugMessage(`Deleting policy ${policy._id}`);
@@ -233,7 +233,7 @@ export async function exportPolicySetsToFiles(options = {
233
233
  debugMessage(`cli.PolicySetOps.exportPolicySetsToFiles: begin`);
234
234
  const errors = [];
235
235
  try {
236
- const policySets = await getPolicySets();
236
+ const policySets = await readPolicySets();
237
237
  createProgressBar(policySets.length, 'Exporting policy sets...');
238
238
  for (const policySet of policySets) {
239
239
  const file = getTypedFilename(policySet.name, 'policyset.authz');
@@ -1 +1 @@
1
- {"version":3,"file":"PolicySetOps.js","names":["frodo","state","fs","createObjectTable","createProgressBar","debugMessage","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","getTypedFilename","saveJsonToFile","titleCase","getRealmName","utils","getPoliciesByPolicySet","deletePolicy","authz","policy","getPolicySets","getPolicySet","exportPolicySet","exportPolicySets","importPolicySet","importFirstPolicySet","importPolicySets","policySet","listPolicySets","outcome","policySets","sort","a","b","name","localeCompare","err","message","describePolicySet","policySetId","json","table","toString","deletePolicySet","errors","policies","_id","error","push","length","errorMessages","map","join","deletePolicySets","exportPolicySetToFile","file","options","deps","prereqs","useStringArrays","fileName","exportData","exportPolicySetsToFile","getRealm","exportPolicySetsToFiles","importPolicySetFromFile","data","readFileSync","fileData","JSON","parse","importFirstPolicySetFromFile","importPolicySetsFromFile","importPolicySetsFromFiles","names","readdirSync","files","filter","toLowerCase","endsWith","total","count","Object","keys","policyset"],"sources":["../../src/ops/PolicySetOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport type {\n PolicySetSkeleton,\n PolicySkeleton,\n} from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport {\n createObjectTable,\n createProgressBar,\n debugMessage,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport {\n getTypedFilename,\n saveJsonToFile,\n titleCase,\n} from '../utils/ExportImportUtils';\nimport {\n PolicySetExportInterface,\n PolicySetExportOptions,\n PolicySetImportOptions,\n} from '@rockcarver/frodo-lib/types/ops/PolicySetOps';\n\nconst { getRealmName } = frodo.utils;\nconst { getPoliciesByPolicySet, deletePolicy } = frodo.authz.policy;\nconst {\n getPolicySets,\n getPolicySet,\n exportPolicySet,\n exportPolicySets,\n importPolicySet,\n importFirstPolicySet,\n importPolicySets,\n} = frodo.authz.policySet;\n\n/**\n * List policy sets\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listPolicySets(): Promise<boolean> {\n let outcome = false;\n try {\n const policySets = await getPolicySets();\n policySets.sort((a, b) => a.name.localeCompare(b.name));\n for (const policySet of policySets) {\n printMessage(`${policySet.name}`, 'data');\n }\n outcome = true;\n } catch (err) {\n printMessage(`listPolicySets ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * Describe policy set\n * @param {string} policySetId policy set id/name\n * @param {Object} json JSON output\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function describePolicySet(\n policySetId: string,\n json = false\n): Promise<boolean> {\n let outcome = false;\n const policySet = await getPolicySet(policySetId);\n outcome = true;\n if (json) {\n printMessage(policySet, 'data');\n } else {\n const table = createObjectTable(policySet);\n printMessage(table.toString(), 'data');\n }\n return outcome;\n}\n\n/**\n * Delete policy set\n * @param {string} policySetId policy set id/name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicySet(policySetId: string): Promise<boolean> {\n debugMessage(`cli.PolicySetOps.deletePolicySet: begin`);\n showSpinner(`Deleting ${policySetId}...`);\n let outcome = false;\n const errors = [];\n const policies: PolicySkeleton[] = await getPoliciesByPolicySet(policySetId);\n for (const policy of policies) {\n try {\n debugMessage(`Deleting policy ${policy._id}`);\n await deletePolicy(policy._id);\n } catch (error) {\n error.message = `Error deleting policy ${policy._id} in policy set ${policySetId}: ${error}`;\n printMessage(error.message, 'error');\n errors.push(error);\n }\n }\n try {\n debugMessage(`Deleting policy set ${policySetId}`);\n await deletePolicySet(policySetId);\n } catch (error) {\n printMessage(`Error deleting policy set ${policySetId}: ${error}`, 'error');\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n failSpinner(`Error deleting ${policySetId}: ${errorMessages}`);\n } else {\n succeedSpinner(`Deleted ${policySetId}.`);\n outcome = true;\n }\n debugMessage(`cli.PolicySetOps.deletePolicySet: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Delete all policy sets\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicySets(): Promise<boolean> {\n debugMessage(`cli.PolicySetOps.deletePolicySets: begin`);\n let outcome = false;\n const errors = [];\n let policySets: PolicySetSkeleton[] = [];\n try {\n showSpinner(`Retrieving all policy sets...`);\n try {\n policySets = await getPolicySets();\n succeedSpinner(`Found ${policySets.length} policy sets.`);\n } catch (error) {\n error.message = `Error retrieving all policy sets: ${error.message}`;\n failSpinner(error.message);\n throw error;\n }\n if (policySets.length)\n createProgressBar(\n policySets.length,\n `Deleting ${policySets.length} policy sets...`\n );\n for (const policySet of policySets) {\n const policySetId = policySet.name;\n try {\n const policies: PolicySkeleton[] = await getPoliciesByPolicySet(\n policySetId\n );\n for (const policy of policies) {\n try {\n debugMessage(`Deleting policy ${policy._id}`);\n await deletePolicy(policy._id);\n } catch (error) {\n error.message = `Error deleting policy ${policy._id} in policy set ${policySetId}: ${error}`;\n printMessage(error.message, 'error');\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n try {\n debugMessage(`Deleting policy set ${policySetId}`);\n await deletePolicySet(policySetId);\n updateProgressBar(`Deleted ${policySetId}`);\n } catch (error) {\n error.message = `Error deleting policy set ${policySetId}: ${error}`;\n updateProgressBar(error.message);\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error deleting policy sets: ${error}`;\n errors.push(error);\n } finally {\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n if (policySets.length)\n stopProgressBar(`Error deleting all policy sets: ${errorMessages}`);\n } else {\n if (policySets.length)\n stopProgressBar(`Deleted ${policySets.length} policy sets.`);\n outcome = true;\n }\n }\n debugMessage(`cli.PolicySetOps.deletePolicySets: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Export policy set to file\n * @param {string} policySetId policy set id/name\n * @param {string} file file name\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicySetToFile(\n policySetId: string,\n file: string,\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.exportPolicySetToFile: begin`);\n showSpinner(`Exporting ${policySetId}...`);\n try {\n let fileName = getTypedFilename(policySetId, 'policyset.authz');\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicySet(policySetId, options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported ${policySetId} to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting ${policySetId}: ${error.message}`);\n }\n debugMessage(`cli.PolicySetOps.exportPolicySetToFile: end`);\n return outcome;\n}\n\n/**\n * Export policy sets to file\n * @param {string} file file name\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicySetsToFile(\n file: string,\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFile: begin`);\n showSpinner(`Exporting all policy sets...`);\n try {\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}PolicySets`,\n 'policyset.authz'\n );\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicySets(options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported all policy sets to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting policy sets: ${error.message}`);\n }\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFile: end`);\n return outcome;\n}\n\n/**\n * Export all policy sets to separate files\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicySetsToFiles(\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFiles: begin`);\n const errors = [];\n try {\n const policySets: PolicySetSkeleton[] = await getPolicySets();\n createProgressBar(policySets.length, 'Exporting policy sets...');\n for (const policySet of policySets) {\n const file = getTypedFilename(policySet.name, 'policyset.authz');\n try {\n const exportData: PolicySetExportInterface = await exportPolicySet(\n policySet.name,\n options\n );\n saveJsonToFile(exportData, file);\n updateProgressBar(`Exported ${policySet.name}.`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error exporting ${policySet.name}.`);\n }\n }\n stopProgressBar(`Export complete.`);\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error exporting policy sets to files`);\n }\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFiles: end`);\n return 0 === errors.length;\n}\n\n/**\n * Import policy set from file\n * @param {string} policySetId policy set id/name\n * @param {string} file file name\n * @param {PolicySetImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicySetFromFile(\n policySetId: string,\n file: string,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importPolicySetFromFile: begin`);\n showSpinner(`Importing ${policySetId}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicySet(policySetId, fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${policySetId}.`);\n } catch (error) {\n failSpinner(`Error importing ${policySetId}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importPolicySetFromFile: end`);\n return outcome;\n}\n\n/**\n * Import first policy set from file\n * @param {string} file file name\n * @param {PolicySetImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importFirstPolicySetFromFile(\n file: string,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importFirstPolicySetFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importFirstPolicySet(fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${file}.`);\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importFirstPolicySetFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policy sets from file\n * @param {string} file file name\n * @param {PolicySetImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicySetsFromFile(\n file: string,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicySets(fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${file}.`);\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policy sets from files\n * @param {OAuth2ClientImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicySetsFromFiles(\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n const errors = [];\n try {\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFiles: begin`);\n const names = fs.readdirSync('.');\n const files = names.filter((name) =>\n name.toLowerCase().endsWith('.policyset.authz.json')\n );\n createProgressBar(files.length, 'Importing policy sets...');\n let total = 0;\n for (const file of files) {\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData: PolicySetExportInterface = JSON.parse(data);\n const count = Object.keys(fileData.policyset).length;\n total += count;\n await importPolicySets(fileData, options);\n updateProgressBar(`Imported ${count} policy sets from ${file}`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error importing policy sets from ${file}`);\n printMessage(error, 'error');\n }\n }\n stopProgressBar(\n `Finished importing ${total} policy sets from ${files.length} files.`\n );\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error importing policy sets from files.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFiles: end`);\n return 0 === errors.length;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PolicySetOps.js","names":["frodo","state","fs","createObjectTable","createProgressBar","debugMessage","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","getTypedFilename","saveJsonToFile","titleCase","getRealmName","utils","readPoliciesByPolicySet","deletePolicy","authz","policy","readPolicySets","readPolicySet","exportPolicySet","exportPolicySets","importPolicySet","importFirstPolicySet","importPolicySets","policySet","listPolicySets","outcome","policySets","sort","a","b","name","localeCompare","err","message","describePolicySet","policySetId","json","table","toString","deletePolicySet","errors","policies","_id","error","push","length","errorMessages","map","join","deletePolicySets","exportPolicySetToFile","file","options","deps","prereqs","useStringArrays","fileName","exportData","exportPolicySetsToFile","getRealm","exportPolicySetsToFiles","importPolicySetFromFile","data","readFileSync","fileData","JSON","parse","importFirstPolicySetFromFile","importPolicySetsFromFile","importPolicySetsFromFiles","names","readdirSync","files","filter","toLowerCase","endsWith","total","count","Object","keys","policyset"],"sources":["../../src/ops/PolicySetOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { type PolicySkeleton } from '@rockcarver/frodo-lib/types/api/PoliciesApi';\nimport { type PolicySetSkeleton } from '@rockcarver/frodo-lib/types/api/PolicySetApi';\nimport {\n type PolicySetExportInterface,\n type PolicySetExportOptions,\n type PolicySetImportOptions,\n} from '@rockcarver/frodo-lib/types/ops/PolicySetOps';\nimport fs from 'fs';\n\nimport {\n createObjectTable,\n createProgressBar,\n debugMessage,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport {\n getTypedFilename,\n saveJsonToFile,\n titleCase,\n} from '../utils/ExportImportUtils';\n\nconst { getRealmName } = frodo.utils;\nconst { readPoliciesByPolicySet, deletePolicy } = frodo.authz.policy;\nconst {\n readPolicySets,\n readPolicySet,\n exportPolicySet,\n exportPolicySets,\n importPolicySet,\n importFirstPolicySet,\n importPolicySets,\n} = frodo.authz.policySet;\n\n/**\n * List policy sets\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listPolicySets(): Promise<boolean> {\n let outcome = false;\n try {\n const policySets = await readPolicySets();\n policySets.sort((a, b) => a.name.localeCompare(b.name));\n for (const policySet of policySets) {\n printMessage(`${policySet.name}`, 'data');\n }\n outcome = true;\n } catch (err) {\n printMessage(`listPolicySets ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * Describe policy set\n * @param {string} policySetId policy set id/name\n * @param {Object} json JSON output\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function describePolicySet(\n policySetId: string,\n json = false\n): Promise<boolean> {\n let outcome = false;\n const policySet = await readPolicySet(policySetId);\n outcome = true;\n if (json) {\n printMessage(policySet, 'data');\n } else {\n const table = createObjectTable(policySet);\n printMessage(table.toString(), 'data');\n }\n return outcome;\n}\n\n/**\n * Delete policy set\n * @param {string} policySetId policy set id/name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicySet(policySetId: string): Promise<boolean> {\n debugMessage(`cli.PolicySetOps.deletePolicySet: begin`);\n showSpinner(`Deleting ${policySetId}...`);\n let outcome = false;\n const errors = [];\n const policies: PolicySkeleton[] = await readPoliciesByPolicySet(policySetId);\n for (const policy of policies) {\n try {\n debugMessage(`Deleting policy ${policy._id}`);\n await deletePolicy(policy._id);\n } catch (error) {\n error.message = `Error deleting policy ${policy._id} in policy set ${policySetId}: ${error}`;\n printMessage(error.message, 'error');\n errors.push(error);\n }\n }\n try {\n debugMessage(`Deleting policy set ${policySetId}`);\n await deletePolicySet(policySetId);\n } catch (error) {\n printMessage(`Error deleting policy set ${policySetId}: ${error}`, 'error');\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n failSpinner(`Error deleting ${policySetId}: ${errorMessages}`);\n } else {\n succeedSpinner(`Deleted ${policySetId}.`);\n outcome = true;\n }\n debugMessage(`cli.PolicySetOps.deletePolicySet: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Delete all policy sets\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicySets(): Promise<boolean> {\n debugMessage(`cli.PolicySetOps.deletePolicySets: begin`);\n let outcome = false;\n const errors = [];\n let policySets: PolicySetSkeleton[] = [];\n try {\n showSpinner(`Retrieving all policy sets...`);\n try {\n policySets = await readPolicySets();\n succeedSpinner(`Found ${policySets.length} policy sets.`);\n } catch (error) {\n error.message = `Error retrieving all policy sets: ${error.message}`;\n failSpinner(error.message);\n throw error;\n }\n if (policySets.length)\n createProgressBar(\n policySets.length,\n `Deleting ${policySets.length} policy sets...`\n );\n for (const policySet of policySets) {\n const policySetId = policySet.name;\n try {\n const policies: PolicySkeleton[] = await readPoliciesByPolicySet(\n policySetId\n );\n for (const policy of policies) {\n try {\n debugMessage(`Deleting policy ${policy._id}`);\n await deletePolicy(policy._id);\n } catch (error) {\n error.message = `Error deleting policy ${policy._id} in policy set ${policySetId}: ${error}`;\n printMessage(error.message, 'error');\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n try {\n debugMessage(`Deleting policy set ${policySetId}`);\n await deletePolicySet(policySetId);\n updateProgressBar(`Deleted ${policySetId}`);\n } catch (error) {\n error.message = `Error deleting policy set ${policySetId}: ${error}`;\n updateProgressBar(error.message);\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error deleting policy sets: ${error}`;\n errors.push(error);\n } finally {\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n if (policySets.length)\n stopProgressBar(`Error deleting all policy sets: ${errorMessages}`);\n } else {\n if (policySets.length)\n stopProgressBar(`Deleted ${policySets.length} policy sets.`);\n outcome = true;\n }\n }\n debugMessage(`cli.PolicySetOps.deletePolicySets: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Export policy set to file\n * @param {string} policySetId policy set id/name\n * @param {string} file file name\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicySetToFile(\n policySetId: string,\n file: string,\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.exportPolicySetToFile: begin`);\n showSpinner(`Exporting ${policySetId}...`);\n try {\n let fileName = getTypedFilename(policySetId, 'policyset.authz');\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicySet(policySetId, options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported ${policySetId} to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting ${policySetId}: ${error.message}`);\n }\n debugMessage(`cli.PolicySetOps.exportPolicySetToFile: end`);\n return outcome;\n}\n\n/**\n * Export policy sets to file\n * @param {string} file file name\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicySetsToFile(\n file: string,\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFile: begin`);\n showSpinner(`Exporting all policy sets...`);\n try {\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}PolicySets`,\n 'policyset.authz'\n );\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicySets(options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported all policy sets to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting policy sets: ${error.message}`);\n }\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFile: end`);\n return outcome;\n}\n\n/**\n * Export all policy sets to separate files\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicySetsToFiles(\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFiles: begin`);\n const errors = [];\n try {\n const policySets: PolicySetSkeleton[] = await readPolicySets();\n createProgressBar(policySets.length, 'Exporting policy sets...');\n for (const policySet of policySets) {\n const file = getTypedFilename(policySet.name, 'policyset.authz');\n try {\n const exportData: PolicySetExportInterface = await exportPolicySet(\n policySet.name,\n options\n );\n saveJsonToFile(exportData, file);\n updateProgressBar(`Exported ${policySet.name}.`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error exporting ${policySet.name}.`);\n }\n }\n stopProgressBar(`Export complete.`);\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error exporting policy sets to files`);\n }\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFiles: end`);\n return 0 === errors.length;\n}\n\n/**\n * Import policy set from file\n * @param {string} policySetId policy set id/name\n * @param {string} file file name\n * @param {PolicySetImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicySetFromFile(\n policySetId: string,\n file: string,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importPolicySetFromFile: begin`);\n showSpinner(`Importing ${policySetId}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicySet(policySetId, fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${policySetId}.`);\n } catch (error) {\n failSpinner(`Error importing ${policySetId}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importPolicySetFromFile: end`);\n return outcome;\n}\n\n/**\n * Import first policy set from file\n * @param {string} file file name\n * @param {PolicySetImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importFirstPolicySetFromFile(\n file: string,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importFirstPolicySetFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importFirstPolicySet(fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${file}.`);\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importFirstPolicySetFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policy sets from file\n * @param {string} file file name\n * @param {PolicySetImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicySetsFromFile(\n file: string,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicySets(fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${file}.`);\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policy sets from files\n * @param {OAuth2ClientImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicySetsFromFiles(\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n const errors = [];\n try {\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFiles: begin`);\n const names = fs.readdirSync('.');\n const files = names.filter((name) =>\n name.toLowerCase().endsWith('.policyset.authz.json')\n );\n createProgressBar(files.length, 'Importing policy sets...');\n let total = 0;\n for (const file of files) {\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData: PolicySetExportInterface = JSON.parse(data);\n const count = Object.keys(fileData.policyset).length;\n total += count;\n await importPolicySets(fileData, options);\n updateProgressBar(`Imported ${count} policy sets from ${file}`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error importing policy sets from ${file}`);\n printMessage(error, 'error');\n }\n }\n stopProgressBar(\n `Finished importing ${total} policy sets from ${files.length} files.`\n );\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error importing policy sets from files.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFiles: end`);\n return 0 === errors.length;\n}\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { frodo } from '@rockcarver/frodo-lib';
2
2
  import { createKeyValueTable, createTable, printMessage } from '../utils/Console';
3
3
  const {
4
- getRealms,
5
- getRealmByName,
6
- putRealm
4
+ readRealms,
5
+ readRealmByName,
6
+ updateRealm
7
7
  } = frodo.realm;
8
8
 
9
9
  /**
@@ -12,7 +12,7 @@ const {
12
12
  */
13
13
  export async function listRealms(long = false) {
14
14
  try {
15
- const realms = (await getRealms()).result;
15
+ const realms = await readRealms();
16
16
  if (long) {
17
17
  const table = createTable(['Name'['brightCyan'], 'Status'['brightCyan'], 'Custom Domains'['brightCyan'], 'Parent'['brightCyan']]);
18
18
  realms.forEach(realmConfig => {
@@ -38,7 +38,7 @@ export async function listRealms(long = false) {
38
38
  */
39
39
  export async function describeRealm(realm) {
40
40
  try {
41
- const realmConfig = await getRealmByName(realm);
41
+ const realmConfig = await readRealmByName(realm);
42
42
  const table = createKeyValueTable();
43
43
  table.push(['Name'['brightCyan'], realmConfig.name]);
44
44
  table.push(['Status'['brightCyan'], realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed']]);
@@ -58,7 +58,7 @@ export async function describeRealm(realm) {
58
58
  */
59
59
  export async function addCustomDomain(realm, domain) {
60
60
  try {
61
- let realmConfig = await getRealmByName(realm);
61
+ let realmConfig = await readRealmByName(realm);
62
62
  let exists = false;
63
63
  realmConfig.aliases.forEach(alias => {
64
64
  if (domain.toLowerCase() === alias.toLowerCase()) {
@@ -68,7 +68,7 @@ export async function addCustomDomain(realm, domain) {
68
68
  if (!exists) {
69
69
  try {
70
70
  realmConfig.aliases.push(domain.toLowerCase());
71
- realmConfig = await putRealm(realmConfig._id, realmConfig);
71
+ realmConfig = await updateRealm(realmConfig._id, realmConfig);
72
72
  const table = createKeyValueTable();
73
73
  table.push(['Name'['brightCyan'], realmConfig.name]);
74
74
  table.push(['Status'['brightCyan'], realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed']]);
@@ -92,12 +92,12 @@ export async function addCustomDomain(realm, domain) {
92
92
  */
93
93
  export async function removeCustomDomain(realm, domain) {
94
94
  try {
95
- let realmConfig = await getRealmByName(realm);
95
+ let realmConfig = await readRealmByName(realm);
96
96
  const aliases = realmConfig.aliases.filter(alias => domain.toLowerCase() !== alias.toLowerCase());
97
97
  if (aliases.length < realmConfig.aliases.length) {
98
98
  try {
99
99
  realmConfig.aliases = aliases;
100
- realmConfig = await putRealm(realmConfig._id, realmConfig);
100
+ realmConfig = await updateRealm(realmConfig._id, realmConfig);
101
101
  const table = createKeyValueTable();
102
102
  table.push(['Name'['brightCyan'], realmConfig.name]);
103
103
  table.push(['Status'['brightCyan'], realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed']]);
@@ -1 +1 @@
1
- {"version":3,"file":"RealmOps.js","names":["frodo","createKeyValueTable","createTable","printMessage","getRealms","getRealmByName","putRealm","realm","listRealms","long","realms","result","table","forEach","realmConfig","push","name","active","aliases","join","parentPath","toString","error","_error$response","rmessage","response","data","describeRealm","_id","addCustomDomain","domain","exists","alias","toLowerCase","message","removeCustomDomain","filter","length"],"sources":["../../src/ops/RealmOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport {\n createKeyValueTable,\n createTable,\n printMessage,\n} from '../utils/Console';\n\nconst { getRealms, getRealmByName, putRealm } = frodo.realm;\n\n/**\n * List realms\n * @param {boolean} long Long list format with details\n */\nexport async function listRealms(long = false) {\n try {\n const realms = (await getRealms()).result;\n if (long) {\n const table = createTable([\n 'Name'['brightCyan'],\n 'Status'['brightCyan'],\n 'Custom Domains'['brightCyan'],\n 'Parent'['brightCyan'],\n ]);\n realms.forEach((realmConfig) => {\n table.push([\n realmConfig.name,\n realmConfig.active\n ? 'active'['brightGreen']\n : 'inactive'['brightRed'],\n realmConfig.aliases.join('\\n'),\n realmConfig.parentPath,\n ]);\n });\n printMessage(table.toString());\n } else {\n realms.forEach((realmConfig) => {\n printMessage(realmConfig.name, 'info');\n });\n }\n } catch (error) {\n printMessage(error, 'error');\n printMessage(`Error listing realms: ${error.rmessage}`, 'error');\n printMessage(error.response?.data, 'error');\n }\n}\n\n/**\n * Describe realm\n * @param {String} realm realm name\n */\nexport async function describeRealm(realm: string) {\n try {\n const realmConfig = await getRealmByName(realm);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], realmConfig.name]);\n table.push([\n 'Status'['brightCyan'],\n realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed'],\n ]);\n table.push([\n 'Custom Domains'['brightCyan'],\n realmConfig.aliases.join('\\n'),\n ]);\n table.push(['Parent'['brightCyan'], realmConfig.parentPath]);\n table.push(['Id'['brightCyan'], realmConfig._id]);\n printMessage(table.toString());\n } catch (error) {\n printMessage(`Realm ${realm} not found!`, 'error');\n }\n}\n\n/**\n * Add custom DNS domain name (realm DNS alias)\n * @param {String} realm realm name\n * @param {String} domain domain name\n */\nexport async function addCustomDomain(realm: string, domain: string) {\n try {\n let realmConfig = await getRealmByName(realm);\n let exists = false;\n realmConfig.aliases.forEach((alias) => {\n if (domain.toLowerCase() === alias.toLowerCase()) {\n exists = true;\n }\n });\n if (!exists) {\n try {\n realmConfig.aliases.push(domain.toLowerCase());\n realmConfig = await putRealm(realmConfig._id, realmConfig);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], realmConfig.name]);\n table.push([\n 'Status'['brightCyan'],\n realmConfig.active\n ? 'active'['brightGreen']\n : 'inactive'['brightRed'],\n ]);\n table.push([\n 'Custom Domains'['brightCyan'],\n realmConfig.aliases.join('\\n'),\n ]);\n table.push(['Parent'['brightCyan'], realmConfig.parentPath]);\n table.push(['Id'['brightCyan'], realmConfig._id]);\n printMessage(table.toString());\n } catch (error) {\n printMessage(`Error adding custom domain: ${error.message}`, 'error');\n }\n }\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n }\n}\n\n/**\n * Remove custom DNS domain name (realm DNS alias)\n * @param {String} realm realm name\n * @param {String} domain domain name\n */\nexport async function removeCustomDomain(realm: string, domain: string) {\n try {\n let realmConfig = await getRealmByName(realm);\n const aliases = realmConfig.aliases.filter(\n (alias) => domain.toLowerCase() !== alias.toLowerCase()\n );\n if (aliases.length < realmConfig.aliases.length) {\n try {\n realmConfig.aliases = aliases;\n realmConfig = await putRealm(realmConfig._id, realmConfig);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], realmConfig.name]);\n table.push([\n 'Status'['brightCyan'],\n realmConfig.active\n ? 'active'['brightGreen']\n : 'inactive'['brightRed'],\n ]);\n table.push([\n 'Custom Domains'['brightCyan'],\n realmConfig.aliases.join('\\n'),\n ]);\n table.push(['Parent'['brightCyan'], realmConfig.parentPath]);\n table.push(['Id'['brightCyan'], realmConfig._id]);\n printMessage(table.toString());\n } catch (error) {\n printMessage(`Error removing custom domain: ${error.message}`, 'error');\n }\n }\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"RealmOps.js","names":["frodo","createKeyValueTable","createTable","printMessage","readRealms","readRealmByName","updateRealm","realm","listRealms","long","realms","table","forEach","realmConfig","push","name","active","aliases","join","parentPath","toString","error","_error$response","rmessage","response","data","describeRealm","_id","addCustomDomain","domain","exists","alias","toLowerCase","message","removeCustomDomain","filter","length"],"sources":["../../src/ops/RealmOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\n\nimport {\n createKeyValueTable,\n createTable,\n printMessage,\n} from '../utils/Console';\n\nconst { readRealms, readRealmByName, updateRealm } = frodo.realm;\n\n/**\n * List realms\n * @param {boolean} long Long list format with details\n */\nexport async function listRealms(long = false) {\n try {\n const realms = await readRealms();\n if (long) {\n const table = createTable([\n 'Name'['brightCyan'],\n 'Status'['brightCyan'],\n 'Custom Domains'['brightCyan'],\n 'Parent'['brightCyan'],\n ]);\n realms.forEach((realmConfig) => {\n table.push([\n realmConfig.name,\n realmConfig.active\n ? 'active'['brightGreen']\n : 'inactive'['brightRed'],\n realmConfig.aliases.join('\\n'),\n realmConfig.parentPath,\n ]);\n });\n printMessage(table.toString());\n } else {\n realms.forEach((realmConfig) => {\n printMessage(realmConfig.name, 'info');\n });\n }\n } catch (error) {\n printMessage(error, 'error');\n printMessage(`Error listing realms: ${error.rmessage}`, 'error');\n printMessage(error.response?.data, 'error');\n }\n}\n\n/**\n * Describe realm\n * @param {String} realm realm name\n */\nexport async function describeRealm(realm: string) {\n try {\n const realmConfig = await readRealmByName(realm);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], realmConfig.name]);\n table.push([\n 'Status'['brightCyan'],\n realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed'],\n ]);\n table.push([\n 'Custom Domains'['brightCyan'],\n realmConfig.aliases.join('\\n'),\n ]);\n table.push(['Parent'['brightCyan'], realmConfig.parentPath]);\n table.push(['Id'['brightCyan'], realmConfig._id]);\n printMessage(table.toString());\n } catch (error) {\n printMessage(`Realm ${realm} not found!`, 'error');\n }\n}\n\n/**\n * Add custom DNS domain name (realm DNS alias)\n * @param {String} realm realm name\n * @param {String} domain domain name\n */\nexport async function addCustomDomain(realm: string, domain: string) {\n try {\n let realmConfig = await readRealmByName(realm);\n let exists = false;\n realmConfig.aliases.forEach((alias) => {\n if (domain.toLowerCase() === alias.toLowerCase()) {\n exists = true;\n }\n });\n if (!exists) {\n try {\n realmConfig.aliases.push(domain.toLowerCase());\n realmConfig = await updateRealm(realmConfig._id, realmConfig);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], realmConfig.name]);\n table.push([\n 'Status'['brightCyan'],\n realmConfig.active\n ? 'active'['brightGreen']\n : 'inactive'['brightRed'],\n ]);\n table.push([\n 'Custom Domains'['brightCyan'],\n realmConfig.aliases.join('\\n'),\n ]);\n table.push(['Parent'['brightCyan'], realmConfig.parentPath]);\n table.push(['Id'['brightCyan'], realmConfig._id]);\n printMessage(table.toString());\n } catch (error) {\n printMessage(`Error adding custom domain: ${error.message}`, 'error');\n }\n }\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n }\n}\n\n/**\n * Remove custom DNS domain name (realm DNS alias)\n * @param {String} realm realm name\n * @param {String} domain domain name\n */\nexport async function removeCustomDomain(realm: string, domain: string) {\n try {\n let realmConfig = await readRealmByName(realm);\n const aliases = realmConfig.aliases.filter(\n (alias) => domain.toLowerCase() !== alias.toLowerCase()\n );\n if (aliases.length < realmConfig.aliases.length) {\n try {\n realmConfig.aliases = aliases;\n realmConfig = await updateRealm(realmConfig._id, realmConfig);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], realmConfig.name]);\n table.push([\n 'Status'['brightCyan'],\n realmConfig.active\n ? 'active'['brightGreen']\n : 'inactive'['brightRed'],\n ]);\n table.push([\n 'Custom Domains'['brightCyan'],\n realmConfig.aliases.join('\\n'),\n ]);\n table.push(['Parent'['brightCyan'], realmConfig.parentPath]);\n table.push(['Id'['brightCyan'], realmConfig._id]);\n printMessage(table.toString());\n } catch (error) {\n printMessage(`Error removing custom domain: ${error.message}`, 'error');\n }\n }\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n }\n}\n"],"mappings":"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"}
@@ -6,9 +6,9 @@ const {
6
6
  getRealmName
7
7
  } = frodo.utils;
8
8
  const {
9
- getResourceTypes,
10
- getResourceType,
11
- getResourceTypeByName,
9
+ readResourceTypes,
10
+ readResourceType,
11
+ readResourceTypeByName,
12
12
  exportResourceType,
13
13
  exportResourceTypeByName,
14
14
  exportResourceTypes,
@@ -26,7 +26,7 @@ const {
26
26
  export async function listResourceTypes(long = false) {
27
27
  let outcome = false;
28
28
  try {
29
- const resourceTypes = await getResourceTypes();
29
+ const resourceTypes = await readResourceTypes();
30
30
  resourceTypes.sort((a, b) => a.name.localeCompare(b.name));
31
31
  if (long) {
32
32
  const table = createTable(['Name', 'Description', 'Uuid']);
@@ -56,7 +56,7 @@ export async function listResourceTypes(long = false) {
56
56
  export async function describeResourceType(resourceTypeUuid, json = false) {
57
57
  let outcome = false;
58
58
  try {
59
- const resourceType = await getResourceType(resourceTypeUuid);
59
+ const resourceType = await readResourceType(resourceTypeUuid);
60
60
  if (json) {
61
61
  printMessage(resourceType, 'data');
62
62
  } else {
@@ -85,7 +85,7 @@ export async function describeResourceType(resourceTypeUuid, json = false) {
85
85
  export async function describeResourceTypeByName(resourceTypeName, json = false) {
86
86
  let outcome = false;
87
87
  try {
88
- const resourceType = await getResourceTypeByName(resourceTypeName);
88
+ const resourceType = await readResourceTypeByName(resourceTypeName);
89
89
  if (json) {
90
90
  printMessage(resourceType, 'data');
91
91
  } else {
@@ -177,7 +177,7 @@ export async function deleteResourceTypes() {
177
177
  try {
178
178
  showSpinner(`Retrieving all resource types...`);
179
179
  try {
180
- resourceTypes = await getResourceTypes();
180
+ resourceTypes = await readResourceTypes();
181
181
  succeedSpinner(`Found ${resourceTypes.length} resource types.`);
182
182
  } catch (error) {
183
183
  error.message = `Error retrieving all resource types: ${error.message}`;
@@ -298,7 +298,7 @@ export async function exportResourceTypesToFiles() {
298
298
  debugMessage(`cli.ResourceTypeOps.exportResourceTypesToFiles: begin`);
299
299
  const errors = [];
300
300
  try {
301
- const resourceTypes = await getResourceTypes();
301
+ const resourceTypes = await readResourceTypes();
302
302
  createProgressBar(resourceTypes.length, 'Exporting resource types...');
303
303
  for (const resourceType of resourceTypes) {
304
304
  const file = getTypedFilename(resourceType.name, 'resourcetype.authz');