@rockcarver/frodo-cli 2.0.0-2 → 2.0.0-21

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 (453) hide show
  1. package/CHANGELOG.md +186 -3
  2. package/esm/app.js +14 -5
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/FrodoCommand.js +18 -4
  5. package/esm/cli/FrodoCommand.js.map +1 -1
  6. package/esm/cli/_template/something-delete.js +7 -4
  7. package/esm/cli/_template/something-delete.js.map +1 -1
  8. package/esm/cli/_template/something-describe.js +7 -4
  9. package/esm/cli/_template/something-describe.js.map +1 -1
  10. package/esm/cli/_template/something-else-delete.js +7 -4
  11. package/esm/cli/_template/something-else-delete.js.map +1 -1
  12. package/esm/cli/_template/something-else-describe.js +7 -4
  13. package/esm/cli/_template/something-else-describe.js.map +1 -1
  14. package/esm/cli/_template/something-else-export.js +7 -4
  15. package/esm/cli/_template/something-else-export.js.map +1 -1
  16. package/esm/cli/_template/something-else-import.js +7 -4
  17. package/esm/cli/_template/something-else-import.js.map +1 -1
  18. package/esm/cli/_template/something-else-list.js +7 -4
  19. package/esm/cli/_template/something-else-list.js.map +1 -1
  20. package/esm/cli/_template/something-else.js +1 -1
  21. package/esm/cli/_template/something-else.js.map +1 -1
  22. package/esm/cli/_template/something-export.js +7 -4
  23. package/esm/cli/_template/something-export.js.map +1 -1
  24. package/esm/cli/_template/something-import.js +7 -4
  25. package/esm/cli/_template/something-import.js.map +1 -1
  26. package/esm/cli/_template/something-list.js +7 -4
  27. package/esm/cli/_template/something-list.js.map +1 -1
  28. package/esm/cli/_template/something-other-delete.js +7 -4
  29. package/esm/cli/_template/something-other-delete.js.map +1 -1
  30. package/esm/cli/_template/something-other-describe.js +7 -4
  31. package/esm/cli/_template/something-other-describe.js.map +1 -1
  32. package/esm/cli/_template/something-other-export.js +7 -4
  33. package/esm/cli/_template/something-other-export.js.map +1 -1
  34. package/esm/cli/_template/something-other-import.js +7 -4
  35. package/esm/cli/_template/something-other-import.js.map +1 -1
  36. package/esm/cli/_template/something-other-list.js +7 -4
  37. package/esm/cli/_template/something-other-list.js.map +1 -1
  38. package/esm/cli/_template/something-other.js +1 -1
  39. package/esm/cli/_template/something-other.js.map +1 -1
  40. package/esm/cli/_template/something.js +2 -2
  41. package/esm/cli/_template/something.js.map +1 -1
  42. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -4
  43. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  44. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +14 -7
  45. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-federation-export.js +45 -0
  47. package/esm/cli/admin/admin-federation-export.js.map +1 -0
  48. package/esm/cli/admin/admin-federation-import.js +49 -0
  49. package/esm/cli/admin/admin-federation-import.js.map +1 -0
  50. package/esm/cli/admin/admin-federation-list.js +29 -0
  51. package/esm/cli/admin/admin-federation-list.js.map +1 -0
  52. package/esm/cli/admin/admin-federation.js +13 -0
  53. package/esm/cli/admin/admin-federation.js.map +1 -0
  54. package/esm/cli/admin/admin-get-access-token.js +12 -6
  55. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  56. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +12 -6
  57. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -5
  59. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  60. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +10 -4
  61. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  62. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +10 -4
  63. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  64. package/esm/cli/admin/admin-list-static-user-mappings.js +11 -5
  65. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  66. package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -5
  67. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  68. package/esm/cli/admin/admin-repair-org-model.js +11 -5
  69. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  70. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -6
  71. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  72. package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -5
  73. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  74. package/esm/cli/admin/admin.js +3 -2
  75. package/esm/cli/admin/admin.js.map +1 -1
  76. package/esm/cli/agent/agent-delete.js +13 -6
  77. package/esm/cli/agent/agent-delete.js.map +1 -1
  78. package/esm/cli/agent/agent-describe.js +7 -4
  79. package/esm/cli/agent/agent-describe.js.map +1 -1
  80. package/esm/cli/agent/agent-export.js +8 -5
  81. package/esm/cli/agent/agent-export.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-delete.js +13 -6
  83. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-describe.js +7 -4
  85. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  86. package/esm/cli/agent/agent-gateway-export.js +8 -5
  87. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  88. package/esm/cli/agent/agent-gateway-import.js +8 -5
  89. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  90. package/esm/cli/agent/agent-gateway-list.js +7 -4
  91. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  92. package/esm/cli/agent/agent-gateway.js +1 -1
  93. package/esm/cli/agent/agent-gateway.js.map +1 -1
  94. package/esm/cli/agent/agent-import.js +8 -5
  95. package/esm/cli/agent/agent-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-delete.js +13 -6
  97. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  98. package/esm/cli/agent/agent-java-describe.js +7 -4
  99. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  100. package/esm/cli/agent/agent-java-export.js +8 -5
  101. package/esm/cli/agent/agent-java-export.js.map +1 -1
  102. package/esm/cli/agent/agent-java-import.js +8 -5
  103. package/esm/cli/agent/agent-java-import.js.map +1 -1
  104. package/esm/cli/agent/agent-java-list.js +7 -4
  105. package/esm/cli/agent/agent-java-list.js.map +1 -1
  106. package/esm/cli/agent/agent-java.js +1 -1
  107. package/esm/cli/agent/agent-java.js.map +1 -1
  108. package/esm/cli/agent/agent-list.js +7 -4
  109. package/esm/cli/agent/agent-list.js.map +1 -1
  110. package/esm/cli/agent/agent-web-delete.js +13 -6
  111. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  112. package/esm/cli/agent/agent-web-describe.js +7 -4
  113. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  114. package/esm/cli/agent/agent-web-export.js +8 -5
  115. package/esm/cli/agent/agent-web-export.js.map +1 -1
  116. package/esm/cli/agent/agent-web-import.js +8 -5
  117. package/esm/cli/agent/agent-web-import.js.map +1 -1
  118. package/esm/cli/agent/agent-web-list.js +7 -4
  119. package/esm/cli/agent/agent-web-list.js.map +1 -1
  120. package/esm/cli/agent/agent-web.js +1 -1
  121. package/esm/cli/agent/agent-web.js.map +1 -1
  122. package/esm/cli/agent/agent.js +2 -2
  123. package/esm/cli/agent/agent.js.map +1 -1
  124. package/esm/cli/app/app-delete.js +27 -8
  125. package/esm/cli/app/app-delete.js.map +1 -1
  126. package/esm/cli/app/app-describe.js +9 -5
  127. package/esm/cli/app/app-describe.js.map +1 -1
  128. package/esm/cli/app/app-export.js +17 -13
  129. package/esm/cli/app/app-export.js.map +1 -1
  130. package/esm/cli/app/app-import.js +21 -17
  131. package/esm/cli/app/app-import.js.map +1 -1
  132. package/esm/cli/app/app-list.js +12 -8
  133. package/esm/cli/app/app-list.js.map +1 -1
  134. package/esm/cli/app/app.js +8 -12
  135. package/esm/cli/app/app.js.map +1 -1
  136. package/esm/cli/authz/authz-policy-delete.js +10 -7
  137. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  138. package/esm/cli/authz/authz-policy-describe.js +8 -5
  139. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  140. package/esm/cli/authz/authz-policy-export.js +12 -9
  141. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  142. package/esm/cli/authz/authz-policy-import.js +10 -7
  143. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  144. package/esm/cli/authz/authz-policy-list.js +9 -6
  145. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  146. package/esm/cli/authz/authz-policy.js +1 -1
  147. package/esm/cli/authz/authz-policy.js.map +1 -1
  148. package/esm/cli/authz/authz-set-delete.js +9 -6
  149. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  150. package/esm/cli/authz/authz-set-describe.js +8 -5
  151. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  152. package/esm/cli/authz/authz-set-export.js +10 -7
  153. package/esm/cli/authz/authz-set-export.js.map +1 -1
  154. package/esm/cli/authz/authz-set-import.js +10 -7
  155. package/esm/cli/authz/authz-set-import.js.map +1 -1
  156. package/esm/cli/authz/authz-set-list.js +7 -4
  157. package/esm/cli/authz/authz-set-list.js.map +1 -1
  158. package/esm/cli/authz/authz-set.js +1 -1
  159. package/esm/cli/authz/authz-set.js.map +1 -1
  160. package/esm/cli/authz/authz-type-delete.js +10 -7
  161. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  162. package/esm/cli/authz/authz-type-describe.js +9 -6
  163. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  164. package/esm/cli/authz/authz-type-export.js +11 -8
  165. package/esm/cli/authz/authz-type-export.js.map +1 -1
  166. package/esm/cli/authz/authz-type-import.js +12 -9
  167. package/esm/cli/authz/authz-type-import.js.map +1 -1
  168. package/esm/cli/authz/authz-type-list.js +8 -5
  169. package/esm/cli/authz/authz-type-list.js.map +1 -1
  170. package/esm/cli/authz/authz-type.js +1 -1
  171. package/esm/cli/authz/authz-type.js.map +1 -1
  172. package/esm/cli/authz/authz.js +2 -2
  173. package/esm/cli/authz/authz.js.map +1 -1
  174. package/esm/cli/conn/conn-delete.js +2 -2
  175. package/esm/cli/conn/conn-delete.js.map +1 -1
  176. package/esm/cli/conn/conn-describe.js +2 -2
  177. package/esm/cli/conn/conn-describe.js.map +1 -1
  178. package/esm/cli/conn/conn-list.js +2 -2
  179. package/esm/cli/conn/conn-list.js.map +1 -1
  180. package/esm/cli/conn/conn-save.js +31 -15
  181. package/esm/cli/conn/conn-save.js.map +1 -1
  182. package/esm/cli/conn/conn.js +2 -2
  183. package/esm/cli/conn/conn.js.map +1 -1
  184. package/esm/cli/email/email-template-export.js +10 -7
  185. package/esm/cli/email/email-template-export.js.map +1 -1
  186. package/esm/cli/email/email-template-import.js +11 -8
  187. package/esm/cli/email/email-template-import.js.map +1 -1
  188. package/esm/cli/email/email-template-list.js +8 -5
  189. package/esm/cli/email/email-template-list.js.map +1 -1
  190. package/esm/cli/email/email-template.js +1 -1
  191. package/esm/cli/email/email-template.js.map +1 -1
  192. package/esm/cli/email/email.js +2 -2
  193. package/esm/cli/email/email.js.map +1 -1
  194. package/esm/cli/esv/esv-apply.js +18 -8
  195. package/esm/cli/esv/esv-apply.js.map +1 -1
  196. package/esm/cli/esv/esv-secret-create.js +8 -5
  197. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  198. package/esm/cli/esv/esv-secret-delete.js +9 -6
  199. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  200. package/esm/cli/esv/esv-secret-describe.js +8 -5
  201. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  202. package/esm/cli/esv/esv-secret-export.js +7 -4
  203. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  204. package/esm/cli/esv/esv-secret-import.js +7 -4
  205. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  206. package/esm/cli/esv/esv-secret-list.js +8 -5
  207. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  208. package/esm/cli/esv/esv-secret-set.js +8 -5
  209. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  210. package/esm/cli/esv/esv-secret-version-activate.js +8 -5
  211. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  212. package/esm/cli/esv/esv-secret-version-create.js +9 -6
  213. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  214. package/esm/cli/esv/esv-secret-version-deactivate.js +8 -5
  215. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  216. package/esm/cli/esv/esv-secret-version-delete.js +9 -6
  217. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  218. package/esm/cli/esv/esv-secret-version-list.js +8 -5
  219. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  220. package/esm/cli/esv/esv-secret-version.js +1 -1
  221. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  222. package/esm/cli/esv/esv-secret.js +1 -1
  223. package/esm/cli/esv/esv-secret.js.map +1 -1
  224. package/esm/cli/esv/esv-variable-create.js +10 -6
  225. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  226. package/esm/cli/esv/esv-variable-delete.js +9 -6
  227. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  228. package/esm/cli/esv/esv-variable-describe.js +8 -5
  229. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  230. package/esm/cli/esv/esv-variable-export.js +7 -4
  231. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  232. package/esm/cli/esv/esv-variable-import.js +7 -4
  233. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  234. package/esm/cli/esv/esv-variable-list.js +8 -5
  235. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  236. package/esm/cli/esv/esv-variable-set.js +8 -5
  237. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  238. package/esm/cli/esv/esv-variable.js +1 -1
  239. package/esm/cli/esv/esv-variable.js.map +1 -1
  240. package/esm/cli/esv/esv.js +2 -2
  241. package/esm/cli/esv/esv.js.map +1 -1
  242. package/esm/cli/idm/idm-count.js +9 -6
  243. package/esm/cli/idm/idm-count.js.map +1 -1
  244. package/esm/cli/idm/idm-export.js +10 -7
  245. package/esm/cli/idm/idm-export.js.map +1 -1
  246. package/esm/cli/idm/idm-import.js +11 -8
  247. package/esm/cli/idm/idm-import.js.map +1 -1
  248. package/esm/cli/idm/idm-list.js +7 -4
  249. package/esm/cli/idm/idm-list.js.map +1 -1
  250. package/esm/cli/idm/idm.js +2 -2
  251. package/esm/cli/idm/idm.js.map +1 -1
  252. package/esm/cli/idp/idp-export.js +11 -8
  253. package/esm/cli/idp/idp-export.js.map +1 -1
  254. package/esm/cli/idp/idp-import.js +15 -12
  255. package/esm/cli/idp/idp-import.js.map +1 -1
  256. package/esm/cli/idp/idp-list.js +7 -4
  257. package/esm/cli/idp/idp-list.js.map +1 -1
  258. package/esm/cli/idp/idp.js +2 -2
  259. package/esm/cli/idp/idp.js.map +1 -1
  260. package/esm/cli/info/info.js +16 -10
  261. package/esm/cli/info/info.js.map +1 -1
  262. package/esm/cli/journey/journey-delete.js +8 -5
  263. package/esm/cli/journey/journey-delete.js.map +1 -1
  264. package/esm/cli/journey/journey-describe.js +18 -10
  265. package/esm/cli/journey/journey-describe.js.map +1 -1
  266. package/esm/cli/journey/journey-disable.js +12 -6
  267. package/esm/cli/journey/journey-disable.js.map +1 -1
  268. package/esm/cli/journey/journey-enable.js +12 -6
  269. package/esm/cli/journey/journey-enable.js.map +1 -1
  270. package/esm/cli/journey/journey-export.js +10 -7
  271. package/esm/cli/journey/journey-export.js.map +1 -1
  272. package/esm/cli/journey/journey-import.js +11 -8
  273. package/esm/cli/journey/journey-import.js.map +1 -1
  274. package/esm/cli/journey/journey-list.js +6 -3
  275. package/esm/cli/journey/journey-list.js.map +1 -1
  276. package/esm/cli/journey/journey-prune.js +23 -12
  277. package/esm/cli/journey/journey-prune.js.map +1 -1
  278. package/esm/cli/journey/journey.js +2 -2
  279. package/esm/cli/journey/journey.js.map +1 -1
  280. package/esm/cli/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
  281. package/esm/cli/log/log-fetch.js.map +1 -0
  282. package/esm/cli/log/log-key-delete.js +35 -0
  283. package/esm/cli/log/log-key-delete.js.map +1 -0
  284. package/esm/cli/log/log-key-describe.js +22 -0
  285. package/esm/cli/log/log-key-describe.js.map +1 -0
  286. package/esm/cli/log/log-key-list.js +26 -0
  287. package/esm/cli/log/log-key-list.js.map +1 -0
  288. package/esm/cli/log/log-key.js +8 -0
  289. package/esm/cli/log/log-key.js.map +1 -0
  290. package/esm/cli/log/log-list.js +80 -0
  291. package/esm/cli/log/log-list.js.map +1 -0
  292. package/esm/cli/log/log-tail.js +77 -0
  293. package/esm/cli/log/log-tail.js.map +1 -0
  294. package/esm/cli/{logging/logs.js → log/log.js} +6 -3
  295. package/esm/cli/log/log.js.map +1 -0
  296. package/esm/cli/oauth/oauth-client-delete.js +22 -0
  297. package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
  298. package/esm/cli/oauth/oauth-client-describe.js +22 -0
  299. package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
  300. package/esm/cli/oauth/oauth-client-export.js +52 -0
  301. package/esm/cli/oauth/oauth-client-export.js.map +1 -0
  302. package/esm/cli/oauth/oauth-client-import.js +57 -0
  303. package/esm/cli/oauth/oauth-client-import.js.map +1 -0
  304. package/esm/cli/oauth/oauth-client-list.js +25 -0
  305. package/esm/cli/oauth/oauth-client-list.js.map +1 -0
  306. package/esm/cli/oauth/oauth-client.js +14 -0
  307. package/esm/cli/oauth/oauth-client.js.map +1 -0
  308. package/esm/cli/oauth/oauth.js +13 -0
  309. package/esm/cli/oauth/oauth.js.map +1 -0
  310. package/esm/cli/realm/realm-add-custom-domain.js +8 -5
  311. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  312. package/esm/cli/realm/realm-describe.js +8 -5
  313. package/esm/cli/realm/realm-describe.js.map +1 -1
  314. package/esm/cli/realm/realm-list.js +8 -5
  315. package/esm/cli/realm/realm-list.js.map +1 -1
  316. package/esm/cli/realm/realm-remove-custom-domain.js +11 -5
  317. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  318. package/esm/cli/realm/realm.js +2 -2
  319. package/esm/cli/realm/realm.js.map +1 -1
  320. package/esm/cli/saml/saml-cot-export.js +10 -7
  321. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  322. package/esm/cli/saml/saml-cot-import.js +11 -8
  323. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  324. package/esm/cli/saml/saml-cot-list.js +8 -5
  325. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  326. package/esm/cli/saml/saml-cot.js +1 -1
  327. package/esm/cli/saml/saml-cot.js.map +1 -1
  328. package/esm/cli/saml/saml-delete.js +14 -7
  329. package/esm/cli/saml/saml-delete.js.map +1 -1
  330. package/esm/cli/saml/saml-describe.js +8 -5
  331. package/esm/cli/saml/saml-describe.js.map +1 -1
  332. package/esm/cli/saml/saml-export.js +10 -7
  333. package/esm/cli/saml/saml-export.js.map +1 -1
  334. package/esm/cli/saml/saml-import.js +11 -8
  335. package/esm/cli/saml/saml-import.js.map +1 -1
  336. package/esm/cli/saml/saml-list.js +8 -5
  337. package/esm/cli/saml/saml-list.js.map +1 -1
  338. package/esm/cli/saml/saml-metadata-export.js +9 -6
  339. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  340. package/esm/cli/saml/saml-metadata.js +1 -1
  341. package/esm/cli/saml/saml-metadata.js.map +1 -1
  342. package/esm/cli/saml/saml.js +2 -2
  343. package/esm/cli/saml/saml.js.map +1 -1
  344. package/esm/cli/script/script-delete.js +7 -4
  345. package/esm/cli/script/script-delete.js.map +1 -1
  346. package/esm/cli/script/script-describe.js +7 -4
  347. package/esm/cli/script/script-describe.js.map +1 -1
  348. package/esm/cli/script/script-export.js +8 -5
  349. package/esm/cli/script/script-export.js.map +1 -1
  350. package/esm/cli/script/script-import.js +9 -6
  351. package/esm/cli/script/script-import.js.map +1 -1
  352. package/esm/cli/script/script-list.js +8 -5
  353. package/esm/cli/script/script-list.js.map +1 -1
  354. package/esm/cli/script/script.js +2 -2
  355. package/esm/cli/script/script.js.map +1 -1
  356. package/esm/cli/service/service-delete.js +8 -5
  357. package/esm/cli/service/service-delete.js.map +1 -1
  358. package/esm/cli/service/service-export.js +9 -6
  359. package/esm/cli/service/service-export.js.map +1 -1
  360. package/esm/cli/service/service-import.js +10 -7
  361. package/esm/cli/service/service-import.js.map +1 -1
  362. package/esm/cli/service/service-list.js +7 -4
  363. package/esm/cli/service/service-list.js.map +1 -1
  364. package/esm/cli/service/service.js +2 -2
  365. package/esm/cli/service/service.js.map +1 -1
  366. package/esm/cli/shell/shell.js +57 -0
  367. package/esm/cli/shell/shell.js.map +1 -0
  368. package/esm/cli/theme/theme-delete.js +10 -7
  369. package/esm/cli/theme/theme-delete.js.map +1 -1
  370. package/esm/cli/theme/theme-export.js +11 -8
  371. package/esm/cli/theme/theme-export.js.map +1 -1
  372. package/esm/cli/theme/theme-import.js +12 -9
  373. package/esm/cli/theme/theme-import.js.map +1 -1
  374. package/esm/cli/theme/theme-list.js +7 -4
  375. package/esm/cli/theme/theme-list.js.map +1 -1
  376. package/esm/cli/theme/theme.js +2 -2
  377. package/esm/cli/theme/theme.js.map +1 -1
  378. package/esm/help/SampleData.js +7 -0
  379. package/esm/help/SampleData.js.map +1 -0
  380. package/esm/launch.js +1 -1
  381. package/esm/launch.js.map +1 -1
  382. package/esm/loader.js +2 -2
  383. package/esm/loader.js.map +1 -1
  384. package/esm/ops/AdminFederationOps.js +216 -0
  385. package/esm/ops/AdminFederationOps.js.map +1 -0
  386. package/esm/ops/AgentOps.js +88 -54
  387. package/esm/ops/AgentOps.js.map +1 -1
  388. package/esm/ops/ApplicationOps.js +309 -0
  389. package/esm/ops/ApplicationOps.js.map +1 -0
  390. package/esm/ops/CirclesOfTrustOps.js +25 -13
  391. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  392. package/esm/ops/ConnectionProfileOps.js +13 -6
  393. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  394. package/esm/ops/EmailTemplateOps.js +53 -47
  395. package/esm/ops/EmailTemplateOps.js.map +1 -1
  396. package/esm/ops/IdmOps.js +58 -64
  397. package/esm/ops/IdmOps.js.map +1 -1
  398. package/esm/ops/IdpOps.js +48 -25
  399. package/esm/ops/IdpOps.js.map +1 -1
  400. package/esm/ops/JourneyOps.js +108 -43
  401. package/esm/ops/JourneyOps.js.map +1 -1
  402. package/esm/ops/LogOps.js +92 -30
  403. package/esm/ops/LogOps.js.map +1 -1
  404. package/esm/ops/NodeOps.js +6 -3
  405. package/esm/ops/NodeOps.js.map +1 -1
  406. package/esm/ops/OAuth2ClientOps.js +29 -16
  407. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  408. package/esm/ops/OrganizationOps.js +14 -22
  409. package/esm/ops/OrganizationOps.js.map +1 -1
  410. package/esm/ops/PolicyOps.js +60 -28
  411. package/esm/ops/PolicyOps.js.map +1 -1
  412. package/esm/ops/PolicySetOps.js +39 -22
  413. package/esm/ops/PolicySetOps.js.map +1 -1
  414. package/esm/ops/RealmOps.js +15 -8
  415. package/esm/ops/RealmOps.js.map +1 -1
  416. package/esm/ops/ResourceTypeOps.js +43 -27
  417. package/esm/ops/ResourceTypeOps.js.map +1 -1
  418. package/esm/ops/Saml2Ops.js +56 -42
  419. package/esm/ops/Saml2Ops.js.map +1 -1
  420. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  421. package/esm/ops/ScriptOps.js +72 -18
  422. package/esm/ops/ScriptOps.js.map +1 -1
  423. package/esm/ops/SecretsOps.js +33 -18
  424. package/esm/ops/SecretsOps.js.map +1 -1
  425. package/esm/ops/ServiceOps.js +49 -28
  426. package/esm/ops/ServiceOps.js.map +1 -1
  427. package/esm/ops/ThemeOps.js +42 -22
  428. package/esm/ops/ThemeOps.js.map +1 -1
  429. package/esm/ops/VariablesOps.js +37 -28
  430. package/esm/ops/VariablesOps.js.map +1 -1
  431. package/esm/ops/utils/OpsUtils.js +1 -1
  432. package/esm/ops/utils/OpsUtils.js.map +1 -1
  433. package/esm/ops/utils/Wordwrap.js +1 -1
  434. package/esm/ops/utils/Wordwrap.js.map +1 -1
  435. package/esm/storage/StaticStorage.js +1 -1
  436. package/esm/storage/StaticStorage.js.map +1 -1
  437. package/esm/utils/Config.js +7 -4
  438. package/esm/utils/Config.js.map +1 -1
  439. package/esm/utils/Console.js +9 -5
  440. package/esm/utils/Console.js.map +1 -1
  441. package/esm/utils/ExportImportUtils.js +32 -66
  442. package/esm/utils/ExportImportUtils.js.map +1 -1
  443. package/esm/utils/Version.js +19 -16
  444. package/esm/utils/Version.js.map +1 -1
  445. package/package.json +45 -35
  446. package/esm/cli/logging/logs-fetch.js.map +0 -1
  447. package/esm/cli/logging/logs-list.js +0 -49
  448. package/esm/cli/logging/logs-list.js.map +0 -1
  449. package/esm/cli/logging/logs-tail.js +0 -46
  450. package/esm/cli/logging/logs-tail.js.map +0 -1
  451. package/esm/cli/logging/logs.js.map +0 -1
  452. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  453. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeOps.js","names":["frodo","fs","printMessage","createTable","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","saveToFile","getTypedFilename","getOneLineDescription","themeObj","description","_id","name","linkedTrees","join","getTableHeaderMd","markdown","getTableRowMd","row","listThemes","long","themeList","theme","getThemes","sort","a","b","localeCompare","forEach","isDefault","table","push","toString","exportThemeByName","file","fileName","themeData","getThemeByName","error","message","exportThemeById","id","getTheme","exportThemesToFile","utils","impex","getRealmString","allThemesData","length","exportThemesToFiles","importThemeByName","readFile","err","data","JSON","parse","validateImport","meta","found","hasOwnProperty","call","putThemeByName","importThemeById","themeId","putTheme","importThemesFromFile","fileData","Object","keys","putThemes","then","result","importThemesFromFiles","names","readdirSync","jsonFiles","filter","toLowerCase","endsWith","count","total","files","readFileSync","importFirstThemeFromFile","deleteThemeCmd","undefined","deleteTheme","deleteThemeByNameCmd","deleteThemeByName","deleteAllThemes","deleteThemes","deleteThemesCmd"],"sources":["ops/ThemeOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport type { ThemeSkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport {\n printMessage,\n createTable,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from '../utils/Console';\nimport { saveToFile, getTypedFilename } from '../utils/ExportImportUtils';\n/**\n * Get a one-line description of the theme\n * @param {ThemeSkeleton} themeObj theme object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(themeObj: ThemeSkeleton): string {\n const description = `[${themeObj._id['brightCyan']}] ${themeObj.name}${\n themeObj.linkedTrees\n ? ' (' + themeObj.linkedTrees.join(', ')['brightCyan'] + ')'\n : ''\n }`;\n return description;\n}\n\n/**\n * Get markdown table header\n * @returns {string} markdown table header\n */\nexport function getTableHeaderMd(): string {\n let markdown = '';\n markdown += '| Name | Linked Journey(s) | Id |\\n';\n markdown += '| ---- | ----------------- | ---|';\n return markdown;\n}\n\n/**\n * Get a table-row of the theme in markdown\n * @param {ThemeSkeleton} themeObj theme object to describe\n * @returns {string} a table-row of the theme in markdown\n */\nexport function getTableRowMd(themeObj: ThemeSkeleton): string {\n const row = `| ${themeObj.name} | ${\n themeObj.linkedTrees ? themeObj.linkedTrees.join(', ') : ''\n } | \\`${themeObj._id}\\` |`;\n return row;\n}\n\n/**\n * List all the themes\n * @param {boolean} long Long version, more fields\n */\nexport async function listThemes(long = false) {\n const themeList = await frodo.theme.getThemes();\n themeList.sort((a, b) => a.name.localeCompare(b.name));\n if (!long) {\n themeList.forEach((theme) => {\n printMessage(\n `${theme.isDefault ? theme.name['brightCyan'] : theme.name}`,\n 'data'\n );\n });\n } else {\n const table = createTable([\n 'Name'['brightCyan'],\n 'Id'['brightCyan'],\n 'Default'['brightCyan'],\n ]);\n themeList.forEach((theme) => {\n table.push([\n `${theme.name}`,\n `${theme._id}`,\n `${theme.isDefault ? 'Yes'['brightGreen'] : ''}`,\n ]);\n });\n printMessage(table.toString(), 'data');\n }\n}\n\n/**\n * Export theme by name to file\n * @param {String} name theme name\n * @param {String} file optional export file name\n */\nexport async function exportThemeByName(name, file) {\n let fileName = getTypedFilename(name, 'theme');\n if (file) {\n fileName = file;\n }\n createProgressIndicator('determinate', 1, `Exporting ${name}`);\n try {\n const themeData = await frodo.theme.getThemeByName(name);\n updateProgressIndicator(`Writing file ${fileName}`);\n saveToFile('theme', [themeData], '_id', fileName);\n stopProgressIndicator(`Successfully exported theme ${name}.`);\n } catch (error) {\n stopProgressIndicator(`${error.message}`);\n printMessage(`${error.message}`, 'error');\n }\n}\n\n/**\n * Export theme by uuid to file\n * @param {String} id theme uuid\n * @param {String} file optional export file name\n */\nexport async function exportThemeById(id, file) {\n let fileName = getTypedFilename(id, 'theme');\n if (file) {\n fileName = file;\n }\n createProgressIndicator('determinate', 1, `Exporting ${id}`);\n try {\n const themeData = await frodo.theme.getTheme(id);\n updateProgressIndicator(`Writing file ${fileName}`);\n saveToFile('theme', [themeData], '_id', fileName);\n stopProgressIndicator(`Successfully exported theme ${id}.`);\n } catch (error) {\n stopProgressIndicator(`${error.message}`);\n printMessage(`${error.message}`, 'error');\n }\n}\n\n/**\n * Export all themes to file\n * @param {String} file optional export file name\n */\nexport async function exportThemesToFile(file) {\n let fileName = getTypedFilename(\n `all${frodo.utils.impex.getRealmString()}Themes`,\n 'theme'\n );\n if (file) {\n fileName = file;\n }\n const allThemesData = await frodo.theme.getThemes();\n createProgressIndicator(\n 'determinate',\n allThemesData.length,\n 'Exporting themes'\n );\n for (const themeData of allThemesData) {\n updateProgressIndicator(`Exporting theme ${themeData.name}`);\n }\n saveToFile('theme', allThemesData, '_id', fileName);\n stopProgressIndicator(\n `${allThemesData.length} themes exported to ${fileName}.`\n );\n}\n\n/**\n * Export all themes to separate files\n */\nexport async function exportThemesToFiles() {\n const allThemesData = await frodo.theme.getThemes();\n createProgressIndicator(\n 'determinate',\n allThemesData.length,\n 'Exporting themes'\n );\n for (const themeData of allThemesData) {\n updateProgressIndicator(`Writing theme ${themeData.name}`);\n const fileName = getTypedFilename(themeData.name, 'theme');\n saveToFile('theme', themeData, '_id', fileName);\n }\n stopProgressIndicator(`${allThemesData.length} themes exported.`);\n}\n\n/**\n * Import theme by name from file\n * @param {String} name theme name\n * @param {String} file import file name\n */\nexport async function importThemeByName(name, file) {\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (frodo.utils.impex.validateImport(themeData.meta)) {\n createProgressIndicator('determinate', 1, 'Importing theme...');\n let found = false;\n for (const id in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, id)) {\n if (themeData.theme[id].name === name) {\n found = true;\n updateProgressIndicator(`Importing ${themeData.theme[id].name}`);\n try {\n await frodo.theme.putThemeByName(name, themeData.theme[id]);\n stopProgressIndicator(`Successfully imported theme ${name}.`);\n } catch (error) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[id].name}: ${error.message}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[id].name}: ${error.message}`,\n 'error'\n );\n }\n break;\n }\n }\n }\n if (!found) {\n stopProgressIndicator(`Theme ${name} not found!`);\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import theme by uuid from file\n * @param {String} id theme uuid\n * @param {String} file import file name\n */\nexport async function importThemeById(id, file) {\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (frodo.utils.impex.validateImport(themeData.meta)) {\n createProgressIndicator('determinate', 1, 'Importing theme...');\n let found = false;\n for (const themeId in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, themeId)) {\n if (themeId === id) {\n found = true;\n updateProgressIndicator(\n `Importing ${themeData.theme[themeId]._id}`\n );\n try {\n await frodo.theme.putTheme(themeId, themeData.theme[themeId]);\n stopProgressIndicator(`Successfully imported theme ${id}.`);\n } catch (error) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`,\n 'error'\n );\n }\n break;\n }\n }\n }\n if (!found) {\n stopProgressIndicator(`Theme ${id} not found!`);\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import all themes from single file\n * @param {String} file import file name\n */\nexport async function importThemesFromFile(file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const fileData = JSON.parse(data);\n if (frodo.utils.impex.validateImport(fileData.meta)) {\n createProgressIndicator(\n 'determinate',\n Object.keys(fileData.theme).length,\n 'Importing themes...'\n );\n for (const id in fileData.theme) {\n if ({}.hasOwnProperty.call(fileData.theme, id)) {\n updateProgressIndicator(`Importing ${fileData.theme[id].name}`);\n }\n }\n frodo.theme.putThemes(fileData.theme).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing ${Object.keys(fileData.theme).length} themes!`\n );\n printMessage(\n `Error importing ${\n Object.keys(fileData.theme).length\n } themes from ${file}`,\n 'error'\n );\n } else {\n stopProgressIndicator(\n `Successfully imported ${\n Object.keys(fileData.theme).length\n } themes.`\n );\n }\n });\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import themes from separate files\n */\nexport async function importThemesFromFiles() {\n const names = fs.readdirSync('.');\n const jsonFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.theme.json')\n );\n\n createProgressIndicator(\n 'determinate',\n jsonFiles.length,\n 'Importing themes...'\n );\n let fileData = null;\n let count = 0;\n let total = 0;\n let files = 0;\n for (const file of jsonFiles) {\n const data = fs.readFileSync(file, 'utf8');\n fileData = JSON.parse(data);\n if (frodo.utils.impex.validateImport(fileData.meta)) {\n count = Object.keys(fileData.theme).length;\n // eslint-disable-next-line no-await-in-loop\n const result = await frodo.theme.putThemes(fileData.theme);\n if (result == null) {\n printMessage(`Error importing ${count} themes from ${file}`, 'error');\n } else {\n files += 1;\n total += count;\n updateProgressIndicator(`Imported ${count} theme(s) from ${file}`);\n }\n } else {\n printMessage(`Validation of ${file} failed!`, 'error');\n }\n }\n stopProgressIndicator(\n `Finished importing ${total} theme(s) from ${files} file(s).`\n );\n}\n\n/**\n * Import first theme from file\n * @param {String} file import file name\n */\nexport async function importFirstThemeFromFile(file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (frodo.utils.impex.validateImport(themeData.meta)) {\n createProgressIndicator('determinate', 1, 'Importing theme...');\n for (const id in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, id)) {\n updateProgressIndicator(`Importing ${themeData.theme[id].name}`);\n frodo.theme.putTheme(id, themeData.theme[id]).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[id].name}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[id].name}`,\n 'error'\n );\n } else {\n stopProgressIndicator(\n `Successfully imported theme ${themeData.theme[id].name}`\n );\n }\n });\n break;\n }\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Delete theme by id\n * @param {String} id theme id\n */\nexport async function deleteThemeCmd(id) {\n createProgressIndicator('indeterminate', undefined, `Deleting ${id}...`);\n try {\n await frodo.theme.deleteTheme(id);\n stopProgressIndicator(`Deleted ${id}.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete theme by name\n * @param {String} name theme name\n */\nexport async function deleteThemeByNameCmd(name) {\n createProgressIndicator('indeterminate', undefined, `Deleting ${name}...`);\n try {\n await frodo.theme.deleteThemeByName(name);\n stopProgressIndicator(`Deleted ${name}.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete all themes\n */\nexport async function deleteAllThemes() {\n createProgressIndicator(\n 'indeterminate',\n undefined,\n `Deleting all realm themes...`\n );\n try {\n await frodo.theme.deleteThemes();\n stopProgressIndicator(`Deleted all realm themes.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete all themes\n * @deprecated since version 0.14.0\n */\nexport async function deleteThemesCmd() {\n return deleteAllThemes();\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ThemeOps.js","names":["frodo","fs","v4","uuidv4","createProgressIndicator","createTable","printMessage","stopProgressIndicator","updateProgressIndicator","getTypedFilename","saveToFile","getRealmString","validateImport","utils","readThemes","readThemeByName","readTheme","updateThemeByName","updateTheme","updateThemes","deleteTheme","deleteThemeByName","deleteThemes","theme","getOneLineDescription","themeObj","description","_id","name","linkedTrees","join","getTableHeaderMd","markdown","getTableRowMd","row","listThemes","long","themeList","sort","a","b","localeCompare","forEach","isDefault","table","push","toString","exportThemeByName","file","fileName","themeData","error","message","exportThemeById","id","exportThemesToFile","allThemesData","length","exportThemesToFiles","importThemeByName","readFile","err","data","JSON","parse","meta","found","hasOwnProperty","call","importThemeById","themeId","importThemesFromFile","fileData","Object","keys","then","result","importThemesFromFiles","names","readdirSync","jsonFiles","filter","toLowerCase","endsWith","count","total","files","readFileSync","importFirstThemeFromFile","deleteThemeCmd","undefined","deleteThemeByNameCmd","deleteAllThemes","deleteThemesCmd"],"sources":["../../src/ops/ThemeOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { type ThemeSkeleton } from '@rockcarver/frodo-lib/types/ops/ThemeOps';\nimport fs from 'fs';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n createProgressIndicator,\n createTable,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from '../utils/Console';\nimport { getTypedFilename, saveToFile } from '../utils/ExportImportUtils';\n\nconst { getRealmString, validateImport } = frodo.utils;\nconst {\n readThemes,\n readThemeByName,\n readTheme,\n updateThemeByName,\n updateTheme,\n updateThemes,\n deleteTheme,\n deleteThemeByName,\n deleteThemes,\n} = frodo.theme;\n\n/**\n * Get a one-line description of the theme\n * @param {ThemeSkeleton} themeObj theme object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(themeObj: ThemeSkeleton): string {\n const description = `[${themeObj._id['brightCyan']}] ${themeObj.name}${\n themeObj.linkedTrees\n ? ' (' + themeObj.linkedTrees.join(', ')['brightCyan'] + ')'\n : ''\n }`;\n return description;\n}\n\n/**\n * Get markdown table header\n * @returns {string} markdown table header\n */\nexport function getTableHeaderMd(): string {\n let markdown = '';\n markdown += '| Name | Linked Journey(s) | Id |\\n';\n markdown += '| ---- | ----------------- | ---|';\n return markdown;\n}\n\n/**\n * Get a table-row of the theme in markdown\n * @param {ThemeSkeleton} themeObj theme object to describe\n * @returns {string} a table-row of the theme in markdown\n */\nexport function getTableRowMd(themeObj: ThemeSkeleton): string {\n const row = `| ${themeObj.name} | ${\n themeObj.linkedTrees ? themeObj.linkedTrees.join(', ') : ''\n } | \\`${themeObj._id}\\` |`;\n return row;\n}\n\n/**\n * List all the themes\n * @param {boolean} long Long version, more fields\n */\nexport async function listThemes(long = false) {\n const themeList = await readThemes();\n themeList.sort((a, b) => a.name.localeCompare(b.name));\n if (!long) {\n themeList.forEach((theme) => {\n printMessage(\n `${theme.isDefault ? theme.name['brightCyan'] : theme.name}`,\n 'data'\n );\n });\n } else {\n const table = createTable([\n 'Name'['brightCyan'],\n 'Id'['brightCyan'],\n 'Default'['brightCyan'],\n ]);\n themeList.forEach((theme) => {\n table.push([\n `${theme.name}`,\n `${theme._id}`,\n `${theme.isDefault ? 'Yes'['brightGreen'] : ''}`,\n ]);\n });\n printMessage(table.toString(), 'data');\n }\n}\n\n/**\n * Export theme by name to file\n * @param {String} name theme name\n * @param {String} file optional export file name\n */\nexport async function exportThemeByName(name, file) {\n let fileName = getTypedFilename(name, 'theme');\n if (file) {\n fileName = file;\n }\n createProgressIndicator('determinate', 1, `Exporting ${name}`);\n try {\n const themeData = await readThemeByName(name);\n if (!themeData._id) themeData._id = uuidv4();\n updateProgressIndicator(`Writing file ${fileName}`);\n saveToFile('theme', [themeData], '_id', fileName);\n stopProgressIndicator(`Successfully exported theme ${name}.`);\n } catch (error) {\n stopProgressIndicator(`${error.message}`);\n printMessage(`${error.message}`, 'error');\n }\n}\n\n/**\n * Export theme by uuid to file\n * @param {String} id theme uuid\n * @param {String} file optional export file name\n */\nexport async function exportThemeById(id, file) {\n let fileName = getTypedFilename(id, 'theme');\n if (file) {\n fileName = file;\n }\n createProgressIndicator('determinate', 1, `Exporting ${id}`);\n try {\n const themeData = await readTheme(id);\n updateProgressIndicator(`Writing file ${fileName}`);\n saveToFile('theme', [themeData], '_id', fileName);\n stopProgressIndicator(`Successfully exported theme ${id}.`);\n } catch (error) {\n stopProgressIndicator(`${error.message}`);\n printMessage(`${error.message}`, 'error');\n }\n}\n\n/**\n * Export all themes to file\n * @param {String} file optional export file name\n */\nexport async function exportThemesToFile(file) {\n let fileName = getTypedFilename(`all${getRealmString()}Themes`, 'theme');\n if (file) {\n fileName = file;\n }\n const allThemesData = await readThemes();\n createProgressIndicator(\n 'determinate',\n allThemesData.length,\n 'Exporting themes'\n );\n for (const themeData of allThemesData) {\n if (!themeData._id) themeData._id = uuidv4();\n updateProgressIndicator(`Exporting theme ${themeData.name}`);\n }\n saveToFile('theme', allThemesData, '_id', fileName);\n stopProgressIndicator(\n `${allThemesData.length} themes exported to ${fileName}.`\n );\n}\n\n/**\n * Export all themes to separate files\n */\nexport async function exportThemesToFiles() {\n const allThemesData = await readThemes();\n createProgressIndicator(\n 'determinate',\n allThemesData.length,\n 'Exporting themes'\n );\n for (const themeData of allThemesData) {\n if (!themeData._id) themeData._id = uuidv4();\n updateProgressIndicator(`Writing theme ${themeData.name}`);\n const fileName = getTypedFilename(themeData.name, 'theme');\n saveToFile('theme', themeData, '_id', fileName);\n }\n stopProgressIndicator(`${allThemesData.length} themes exported.`);\n}\n\n/**\n * Import theme by name from file\n * @param {String} name theme name\n * @param {String} file import file name\n */\nexport async function importThemeByName(name, file) {\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (validateImport(themeData.meta)) {\n createProgressIndicator('determinate', 1, 'Importing theme...');\n let found = false;\n for (const id in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, id)) {\n if (themeData.theme[id].name === name) {\n found = true;\n updateProgressIndicator(`Importing ${themeData.theme[id].name}`);\n try {\n await updateThemeByName(name, themeData.theme[id]);\n stopProgressIndicator(`Successfully imported theme ${name}.`);\n } catch (error) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[id].name}: ${error.message}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[id].name}: ${error.message}`,\n 'error'\n );\n }\n break;\n }\n }\n }\n if (!found) {\n stopProgressIndicator(`Theme ${name} not found!`);\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import theme by uuid from file\n * @param {String} id theme uuid\n * @param {String} file import file name\n */\nexport async function importThemeById(id, file) {\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (validateImport(themeData.meta)) {\n createProgressIndicator('determinate', 1, 'Importing theme...');\n let found = false;\n for (const themeId in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, themeId)) {\n if (themeId === id) {\n found = true;\n updateProgressIndicator(\n `Importing ${themeData.theme[themeId]._id}`\n );\n try {\n await updateTheme(themeId, themeData.theme[themeId]);\n stopProgressIndicator(`Successfully imported theme ${id}.`);\n } catch (error) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`,\n 'error'\n );\n }\n break;\n }\n }\n }\n if (!found) {\n stopProgressIndicator(`Theme ${id} not found!`);\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import all themes from single file\n * @param {String} file import file name\n */\nexport async function importThemesFromFile(file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const fileData = JSON.parse(data);\n if (validateImport(fileData.meta)) {\n createProgressIndicator(\n 'determinate',\n Object.keys(fileData.theme).length,\n 'Importing themes...'\n );\n for (const id in fileData.theme) {\n if ({}.hasOwnProperty.call(fileData.theme, id)) {\n updateProgressIndicator(`Importing ${fileData.theme[id].name}`);\n }\n }\n updateThemes(fileData.theme).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing ${Object.keys(fileData.theme).length} themes!`\n );\n printMessage(\n `Error importing ${\n Object.keys(fileData.theme).length\n } themes from ${file}`,\n 'error'\n );\n } else {\n stopProgressIndicator(\n `Successfully imported ${\n Object.keys(fileData.theme).length\n } themes.`\n );\n }\n });\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import themes from separate files\n */\nexport async function importThemesFromFiles() {\n const names = fs.readdirSync('.');\n const jsonFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.theme.json')\n );\n\n createProgressIndicator(\n 'determinate',\n jsonFiles.length,\n 'Importing themes...'\n );\n let fileData = null;\n let count = 0;\n let total = 0;\n let files = 0;\n for (const file of jsonFiles) {\n const data = fs.readFileSync(file, 'utf8');\n fileData = JSON.parse(data);\n if (validateImport(fileData.meta)) {\n count = Object.keys(fileData.theme).length;\n // eslint-disable-next-line no-await-in-loop\n const result = await updateThemes(fileData.theme);\n if (result == null) {\n printMessage(`Error importing ${count} themes from ${file}`, 'error');\n } else {\n files += 1;\n total += count;\n updateProgressIndicator(`Imported ${count} theme(s) from ${file}`);\n }\n } else {\n printMessage(`Validation of ${file} failed!`, 'error');\n }\n }\n stopProgressIndicator(\n `Finished importing ${total} theme(s) from ${files} file(s).`\n );\n}\n\n/**\n * Import first theme from file\n * @param {String} file import file name\n */\nexport async function importFirstThemeFromFile(file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (validateImport(themeData.meta)) {\n createProgressIndicator('determinate', 1, 'Importing theme...');\n for (const id in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, id)) {\n updateProgressIndicator(`Importing ${themeData.theme[id].name}`);\n updateTheme(id, themeData.theme[id]).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[id].name}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[id].name}`,\n 'error'\n );\n } else {\n stopProgressIndicator(\n `Successfully imported theme ${themeData.theme[id].name}`\n );\n }\n });\n break;\n }\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Delete theme by id\n * @param {String} id theme id\n */\nexport async function deleteThemeCmd(id) {\n createProgressIndicator('indeterminate', undefined, `Deleting ${id}...`);\n try {\n await deleteTheme(id);\n stopProgressIndicator(`Deleted ${id}.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete theme by name\n * @param {String} name theme name\n */\nexport async function deleteThemeByNameCmd(name) {\n createProgressIndicator('indeterminate', undefined, `Deleting ${name}...`);\n try {\n await deleteThemeByName(name);\n stopProgressIndicator(`Deleted ${name}.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete all themes\n */\nexport async function deleteAllThemes() {\n createProgressIndicator(\n 'indeterminate',\n undefined,\n `Deleting all realm themes...`\n );\n try {\n await deleteThemes();\n stopProgressIndicator(`Deleted all realm themes.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete all themes\n * @deprecated since version 0.14.0\n */\nexport async function deleteThemesCmd() {\n return deleteAllThemes();\n}\n"],"mappings":"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"}
@@ -1,6 +1,17 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
1
+ import { frodo, state } from '@rockcarver/frodo-lib';
2
2
  import { createKeyValueTable, createProgressBar, createTable, failSpinner, printMessage, showSpinner, stopProgressBar, succeedSpinner, updateProgressBar } from '../utils/Console';
3
3
  import wordwrap from './utils/Wordwrap';
4
+ const {
5
+ decodeBase64
6
+ } = frodo.utils;
7
+ const {
8
+ resolveUserName
9
+ } = frodo.idm.managed;
10
+ const {
11
+ readVariables,
12
+ readVariable,
13
+ updateVariable: _updateVariable
14
+ } = frodo.cloud.variable;
4
15
 
5
16
  /**
6
17
  * List variables
@@ -9,18 +20,16 @@ import wordwrap from './utils/Wordwrap';
9
20
  export async function listVariables(long) {
10
21
  let variables = [];
11
22
  try {
12
- variables = (await frodo.cloud.variable.getVariables()).result;
23
+ variables = await readVariables();
13
24
  variables.sort((a, b) => a._id.localeCompare(b._id));
14
25
  } catch (error) {
15
26
  printMessage(`${error.message}`, 'error');
16
27
  printMessage(error.response.data, 'error');
17
28
  }
18
29
  if (long) {
19
- const table = createTable(['Id'['brightCyan'], 'Value'['brightCyan'], 'Status'['brightCyan'], 'Description'['brightCyan'], 'Modifier'['brightCyan'], 'Modified'['brightCyan']]);
30
+ const table = createTable(['Id'['brightCyan'], 'Value'['brightCyan'], 'Status'['brightCyan'], 'Description'['brightCyan'], 'Modifier'['brightCyan'], 'Modified (UTC)'['brightCyan']]);
20
31
  for (const variable of variables) {
21
- table.push([variable._id, wordwrap(frodo.helper.base64.decode(variable.valueBase64), 40), variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'], wordwrap(variable.description, 40),
22
- // eslint-disable-next-line no-await-in-loop
23
- await frodo.idm.managed.resolveUserName('teammember', variable.lastChangedBy), new Date(variable.lastChangeDate).toLocaleString()]);
32
+ table.push([variable._id, wordwrap(decodeBase64(variable.valueBase64), 40), variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'], wordwrap(variable.description, 40), state.getUseBearerTokenForAmApis() ? variable.lastChangedBy : await resolveUserName('teammember', variable.lastChangedBy), new Date(variable.lastChangeDate).toUTCString()]);
24
33
  }
25
34
  printMessage(table.toString(), 'data');
26
35
  } else {
@@ -32,14 +41,15 @@ export async function listVariables(long) {
32
41
 
33
42
  /**
34
43
  * Create variable
35
- * @param {String} variableId variable id
36
- * @param {String} value variable value
37
- * @param {String} description variable description
44
+ * @param {string} variableId variable id
45
+ * @param {string} value variable value
46
+ * @param {string} description variable description
47
+ * @param {VariableExpressionType} type variable type
38
48
  */
39
- export async function createVariable(variableId, value, description) {
49
+ export async function createVariable(variableId, value, description, type = 'string') {
40
50
  showSpinner(`Creating variable ${variableId}...`);
41
51
  try {
42
- await frodo.cloud.variable.putVariable(variableId, value, description);
52
+ await _updateVariable(variableId, value, description, type);
43
53
  succeedSpinner(`Created variable ${variableId}`);
44
54
  } catch (error) {
45
55
  failSpinner(`Error: ${error.response.data.code} - ${error.response.data.message}`);
@@ -48,14 +58,14 @@ export async function createVariable(variableId, value, description) {
48
58
 
49
59
  /**
50
60
  * Update variable
51
- * @param {String} variableId variable id
52
- * @param {String} value variable value
53
- * @param {String} description variable description
61
+ * @param {string} variableId variable id
62
+ * @param {string} value variable value
63
+ * @param {string} description variable description
54
64
  */
55
65
  export async function updateVariable(variableId, value, description) {
56
66
  showSpinner(`Updating variable ${variableId}...`);
57
67
  try {
58
- await frodo.cloud.variable.putVariable(variableId, value, description);
68
+ await _updateVariable(variableId, value, description);
59
69
  succeedSpinner(`Updated variable ${variableId}`);
60
70
  } catch (error) {
61
71
  failSpinner(`Error: ${error.response.data.code} - ${error.response.data.message}`);
@@ -64,13 +74,13 @@ export async function updateVariable(variableId, value, description) {
64
74
 
65
75
  /**
66
76
  * Set description of variable
67
- * @param {String} variableId variable id
68
- * @param {String} description variable description
77
+ * @param {string} variableId variable id
78
+ * @param {string} description variable description
69
79
  */
70
80
  export async function setVariableDescription(variableId, description) {
71
81
  showSpinner(`Setting description of variable ${variableId}...`);
72
82
  try {
73
- await frodo.cloud.variable.setVariableDescription(variableId, description);
83
+ await setVariableDescription(variableId, description);
74
84
  succeedSpinner(`Set description of variable ${variableId}`);
75
85
  } catch (error) {
76
86
  failSpinner(`Error: ${error.response.data.code} - ${error.response.data.message}`);
@@ -79,12 +89,12 @@ export async function setVariableDescription(variableId, description) {
79
89
 
80
90
  /**
81
91
  * Delete a variable
82
- * @param {String} variableId variable id
92
+ * @param {string} variableId variable id
83
93
  */
84
94
  export async function deleteVariable(variableId) {
85
95
  showSpinner(`Deleting variable ${variableId}...`);
86
96
  try {
87
- await frodo.cloud.variable.deleteVariable(variableId);
97
+ await deleteVariable(variableId);
88
98
  succeedSpinner(`Deleted variable ${variableId}`);
89
99
  } catch (error) {
90
100
  failSpinner(`Error: ${error.response.data.code} - ${error.response.data.message}`);
@@ -96,12 +106,11 @@ export async function deleteVariable(variableId) {
96
106
  */
97
107
  export async function deleteVariables() {
98
108
  try {
99
- const variables = (await frodo.cloud.variable.getVariables()).result;
109
+ const variables = await readVariables();
100
110
  createProgressBar(variables.length, `Deleting variable...`);
101
111
  for (const variable of variables) {
102
112
  try {
103
- // eslint-disable-next-line no-await-in-loop
104
- await frodo.cloud.variable.deleteVariable(variable._id);
113
+ await deleteVariable(variable._id);
105
114
  updateProgressBar(`Deleted variable ${variable._id}`);
106
115
  } catch (error) {
107
116
  printMessage(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'error');
@@ -116,18 +125,18 @@ export async function deleteVariables() {
116
125
 
117
126
  /**
118
127
  * Describe a variable
119
- * @param {String} variableId variable id
128
+ * @param {string} variableId variable id
120
129
  */
121
130
  export async function describeVariable(variableId) {
122
- const variable = await frodo.cloud.variable.getVariable(variableId);
131
+ const variable = await readVariable(variableId);
123
132
  const table = createKeyValueTable();
124
133
  table.push(['Name'['brightCyan'], variable._id]);
125
- table.push(['Value'['brightCyan'], wordwrap(frodo.helper.base64.decode(variable.valueBase64), 40)]);
134
+ table.push(['Value'['brightCyan'], wordwrap(decodeBase64(variable.valueBase64), 40)]);
126
135
  table.push(['Status'['brightCyan'], variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed']]);
127
136
  table.push(['Description'['brightCyan'], wordwrap(variable.description, 60)]);
128
137
  table.push(['Modified'['brightCyan'], new Date(variable.lastChangeDate).toLocaleString()]);
129
- table.push(['Modifier'['brightCyan'], await frodo.idm.managed.resolveUserName('teammember', variable.lastChangedBy)]);
138
+ table.push(['Modifier'['brightCyan'], await resolveUserName('teammember', variable.lastChangedBy)]);
130
139
  table.push(['Modifier UUID'['brightCyan'], variable.lastChangedBy]);
131
140
  printMessage(table.toString());
132
141
  }
133
- //# sourceMappingURL=VariablesOps.js.map
142
+ //# sourceMappingURL=VariablesOps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VariablesOps.js","names":["frodo","createKeyValueTable","createProgressBar","createTable","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","wordwrap","listVariables","long","variables","cloud","variable","getVariables","result","sort","a","b","_id","localeCompare","error","message","response","data","table","push","helper","base64","decode","valueBase64","loaded","description","idm","managed","resolveUserName","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","secret","createVariable","variableId","value","putVariable","code","updateVariable","setVariableDescription","deleteVariable","deleteVariables","length","describeVariable","getVariable"],"sources":["ops/VariablesOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport {\n createKeyValueTable,\n createProgressBar,\n createTable,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport wordwrap from './utils/Wordwrap';\n\n/**\n * List variables\n * @param {boolean} long Long version, all the fields\n */\nexport async function listVariables(long) {\n let variables = [];\n try {\n variables = (await frodo.cloud.variable.getVariables()).result;\n variables.sort((a, b) => a._id.localeCompare(b._id));\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n 'Value'['brightCyan'],\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n for (const variable of variables) {\n table.push([\n variable._id,\n wordwrap(frodo.helper.base64.decode(variable.valueBase64), 40),\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(variable.description, 40),\n // eslint-disable-next-line no-await-in-loop\n await frodo.idm.managed.resolveUserName(\n 'teammember',\n variable.lastChangedBy\n ),\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n variables.forEach((secret) => {\n printMessage(secret._id, 'data');\n });\n }\n}\n\n/**\n * Create variable\n * @param {String} variableId variable id\n * @param {String} value variable value\n * @param {String} description variable description\n */\nexport async function createVariable(variableId, value, description) {\n showSpinner(`Creating variable ${variableId}...`);\n try {\n await frodo.cloud.variable.putVariable(variableId, value, description);\n succeedSpinner(`Created variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Update variable\n * @param {String} variableId variable id\n * @param {String} value variable value\n * @param {String} description variable description\n */\nexport async function updateVariable(variableId, value, description) {\n showSpinner(`Updating variable ${variableId}...`);\n try {\n await frodo.cloud.variable.putVariable(variableId, value, description);\n succeedSpinner(`Updated variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Set description of variable\n * @param {String} variableId variable id\n * @param {String} description variable description\n */\nexport async function setVariableDescription(variableId, description) {\n showSpinner(`Setting description of variable ${variableId}...`);\n try {\n await frodo.cloud.variable.setVariableDescription(variableId, description);\n succeedSpinner(`Set description of variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete a variable\n * @param {String} variableId variable id\n */\nexport async function deleteVariable(variableId) {\n showSpinner(`Deleting variable ${variableId}...`);\n try {\n await frodo.cloud.variable.deleteVariable(variableId);\n succeedSpinner(`Deleted variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete all variables\n */\nexport async function deleteVariables() {\n try {\n const variables = (await frodo.cloud.variable.getVariables()).result;\n createProgressBar(variables.length, `Deleting variable...`);\n for (const variable of variables) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await frodo.cloud.variable.deleteVariable(variable._id);\n updateProgressBar(`Deleted variable ${variable._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressBar(`Variables deleted.`);\n } catch (error) {\n stopProgressBar(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * Describe a variable\n * @param {String} variableId variable id\n */\nexport async function describeVariable(variableId) {\n const variable = await frodo.cloud.variable.getVariable(variableId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], variable._id]);\n table.push([\n 'Value'['brightCyan'],\n wordwrap(frodo.helper.base64.decode(variable.valueBase64), 40),\n ]);\n table.push([\n 'Status'['brightCyan'],\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(variable.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await frodo.idm.managed.resolveUserName(\n 'teammember',\n variable.lastChangedBy\n ),\n ]);\n table.push(['Modifier UUID'['brightCyan'], variable.lastChangedBy]);\n printMessage(table.toString());\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"VariablesOps.js","names":["frodo","state","createKeyValueTable","createProgressBar","createTable","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","wordwrap","decodeBase64","utils","resolveUserName","idm","managed","readVariables","readVariable","updateVariable","_updateVariable","cloud","variable","listVariables","long","variables","sort","a","b","_id","localeCompare","error","message","response","data","table","push","valueBase64","loaded","description","getUseBearerTokenForAmApis","lastChangedBy","Date","lastChangeDate","toUTCString","toString","forEach","secret","createVariable","variableId","value","type","code","setVariableDescription","deleteVariable","deleteVariables","length","describeVariable","toLocaleString"],"sources":["../../src/ops/VariablesOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { VariableExpressionType } from '@rockcarver/frodo-lib/types/api/cloud/VariablesApi';\n\nimport {\n createKeyValueTable,\n createProgressBar,\n createTable,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport wordwrap from './utils/Wordwrap';\n\nconst { decodeBase64 } = frodo.utils;\nconst { resolveUserName } = frodo.idm.managed;\nconst {\n readVariables,\n readVariable,\n updateVariable: _updateVariable,\n} = frodo.cloud.variable;\n\n/**\n * List variables\n * @param {boolean} long Long version, all the fields\n */\nexport async function listVariables(long) {\n let variables = [];\n try {\n variables = await readVariables();\n variables.sort((a, b) => a._id.localeCompare(b._id));\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n 'Value'['brightCyan'],\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified (UTC)'['brightCyan'],\n ]);\n for (const variable of variables) {\n table.push([\n variable._id,\n wordwrap(decodeBase64(variable.valueBase64), 40),\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(variable.description, 40),\n state.getUseBearerTokenForAmApis()\n ? variable.lastChangedBy\n : await resolveUserName('teammember', variable.lastChangedBy),\n new Date(variable.lastChangeDate).toUTCString(),\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n variables.forEach((secret) => {\n printMessage(secret._id, 'data');\n });\n }\n}\n\n/**\n * Create variable\n * @param {string} variableId variable id\n * @param {string} value variable value\n * @param {string} description variable description\n * @param {VariableExpressionType} type variable type\n */\nexport async function createVariable(\n variableId: string,\n value: string,\n description: string,\n type: VariableExpressionType = 'string'\n) {\n showSpinner(`Creating variable ${variableId}...`);\n try {\n await _updateVariable(variableId, value, description, type);\n succeedSpinner(`Created variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Update variable\n * @param {string} variableId variable id\n * @param {string} value variable value\n * @param {string} description variable description\n */\nexport async function updateVariable(variableId, value, description) {\n showSpinner(`Updating variable ${variableId}...`);\n try {\n await _updateVariable(variableId, value, description);\n succeedSpinner(`Updated variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Set description of variable\n * @param {string} variableId variable id\n * @param {string} description variable description\n */\nexport async function setVariableDescription(variableId, description) {\n showSpinner(`Setting description of variable ${variableId}...`);\n try {\n await setVariableDescription(variableId, description);\n succeedSpinner(`Set description of variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete a variable\n * @param {string} variableId variable id\n */\nexport async function deleteVariable(variableId) {\n showSpinner(`Deleting variable ${variableId}...`);\n try {\n await deleteVariable(variableId);\n succeedSpinner(`Deleted variable ${variableId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete all variables\n */\nexport async function deleteVariables() {\n try {\n const variables = await readVariables();\n createProgressBar(variables.length, `Deleting variable...`);\n for (const variable of variables) {\n try {\n await deleteVariable(variable._id);\n updateProgressBar(`Deleted variable ${variable._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressBar(`Variables deleted.`);\n } catch (error) {\n stopProgressBar(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * Describe a variable\n * @param {string} variableId variable id\n */\nexport async function describeVariable(variableId) {\n const variable = await readVariable(variableId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], variable._id]);\n table.push([\n 'Value'['brightCyan'],\n wordwrap(decodeBase64(variable.valueBase64), 40),\n ]);\n table.push([\n 'Status'['brightCyan'],\n variable.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(variable.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(variable.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', variable.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], variable.lastChangedBy]);\n printMessage(table.toString());\n}\n"],"mappings":"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"}
@@ -6,4 +6,4 @@
6
6
  export function cloneDeep(obj) {
7
7
  return JSON.parse(JSON.stringify(obj));
8
8
  }
9
- //# sourceMappingURL=OpsUtils.js.map
9
+ //# sourceMappingURL=OpsUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpsUtils.js","names":["cloneDeep","obj","JSON","parse","stringify"],"sources":["ops/utils/OpsUtils.ts"],"sourcesContent":["/**\n * Deep clone object\n * @param {any} obj object to deep clone\n * @returns {any} new object cloned from obj\n */\nexport function cloneDeep(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAASA,CAACC,GAAG,EAAE;EAC7B,OAAOC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACH,GAAG,CAAC,CAAC;AACxC"}
1
+ {"version":3,"file":"OpsUtils.js","names":["cloneDeep","obj","JSON","parse","stringify"],"sources":["../../../src/ops/utils/OpsUtils.ts"],"sourcesContent":["/**\n * Deep clone object\n * @param {any} obj object to deep clone\n * @returns {any} new object cloned from obj\n */\nexport function cloneDeep(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAASA,CAACC,GAAG,EAAE;EAC7B,OAAOC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACH,GAAG,CAAC,CAAC;AACxC"}
@@ -2,4 +2,4 @@ export default function wordwrap(str, len, indent = undefined) {
2
2
  if (!str) return '';
3
3
  return (str.match(new RegExp(`(\\S.{0,${len - 1 - (indent ? indent.length : 0)}})(?=\\s+|$)`, 'g')) || []).join(indent ? `\n${indent}` : '\n');
4
4
  }
5
- //# sourceMappingURL=Wordwrap.js.map
5
+ //# sourceMappingURL=Wordwrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wordwrap.js","names":["wordwrap","str","len","indent","undefined","match","RegExp","length","join"],"sources":["ops/utils/Wordwrap.ts"],"sourcesContent":["export default function wordwrap(str, len, indent = undefined) {\n if (!str) return '';\n return (\n str.match(\n new RegExp(\n `(\\\\S.{0,${len - 1 - (indent ? indent.length : 0)}})(?=\\\\s+|$)`,\n 'g'\n )\n ) || []\n ).join(indent ? `\\n${indent}` : '\\n');\n}\n"],"mappings":"AAAA,eAAe,SAASA,QAAQA,CAACC,GAAG,EAAEC,GAAG,EAAEC,MAAM,GAAGC,SAAS,EAAE;EAC7D,IAAI,CAACH,GAAG,EAAE,OAAO,EAAE;EACnB,OAAO,CACLA,GAAG,CAACI,KAAK,CACP,IAAIC,MAAM,CACP,WAAUJ,GAAG,GAAG,CAAC,IAAIC,MAAM,GAAGA,MAAM,CAACI,MAAM,GAAG,CAAC,CAAE,cAAa,EAC/D,GACF,CACF,CAAC,IAAI,EAAE,EACPC,IAAI,CAACL,MAAM,GAAI,KAAIA,MAAO,EAAC,GAAG,IAAI,CAAC;AACvC"}
1
+ {"version":3,"file":"Wordwrap.js","names":["wordwrap","str","len","indent","undefined","match","RegExp","length","join"],"sources":["../../../src/ops/utils/Wordwrap.ts"],"sourcesContent":["export default function wordwrap(\n str: string,\n len: number,\n indent: string = undefined\n) {\n if (!str) return '';\n return (\n str.match(\n new RegExp(\n `(\\\\S.{0,${len - 1 - (indent ? indent.length : 0)}})(?=\\\\s+|$)`,\n 'g'\n )\n ) || []\n ).join(indent ? `\\n${indent}` : '\\n');\n}\n"],"mappings":"AAAA,eAAe,SAASA,QAAQA,CAC9BC,GAAW,EACXC,GAAW,EACXC,MAAc,GAAGC,SAAS,EAC1B;EACA,IAAI,CAACH,GAAG,EAAE,OAAO,EAAE;EACnB,OAAO,CACLA,GAAG,CAACI,KAAK,CACP,IAAIC,MAAM,CACP,WAAUJ,GAAG,GAAG,CAAC,IAAIC,MAAM,GAAGA,MAAM,CAACI,MAAM,GAAG,CAAC,CAAE,cAAa,EAC/D,GACF,CACF,CAAC,IAAI,EAAE,EACPC,IAAI,CAACL,MAAM,GAAI,KAAIA,MAAO,EAAC,GAAG,IAAI,CAAC;AACvC"}
@@ -9,4 +9,4 @@ export const DEPLOYMENT_TYPE_REALM_MAP = {
9
9
  [FORGEOPS_DEPLOYMENT_TYPE_KEY]: '/'
10
10
  };
11
11
  export const FRODO_METADATA_ID = 'frodo';
12
- //# sourceMappingURL=StaticStorage.js.map
12
+ //# sourceMappingURL=StaticStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticStorage.js","names":["DEFAULT_REALM_KEY","CLASSIC_DEPLOYMENT_TYPE_KEY","CLOUD_DEPLOYMENT_TYPE_KEY","FORGEOPS_DEPLOYMENT_TYPE_KEY","DEPLOYMENT_TYPES","DEPLOYMENT_TYPE_REALM_MAP","FRODO_METADATA_ID"],"sources":["storage/StaticStorage.ts"],"sourcesContent":["export const DEFAULT_REALM_KEY = '__default__realm__';\nexport const CLASSIC_DEPLOYMENT_TYPE_KEY = 'classic';\nexport const CLOUD_DEPLOYMENT_TYPE_KEY = 'cloud';\nexport const FORGEOPS_DEPLOYMENT_TYPE_KEY = 'forgeops';\nexport const DEPLOYMENT_TYPES = [\n CLASSIC_DEPLOYMENT_TYPE_KEY,\n CLOUD_DEPLOYMENT_TYPE_KEY,\n FORGEOPS_DEPLOYMENT_TYPE_KEY,\n];\nexport const DEPLOYMENT_TYPE_REALM_MAP = {\n [CLASSIC_DEPLOYMENT_TYPE_KEY]: '/',\n [CLOUD_DEPLOYMENT_TYPE_KEY]: 'alpha',\n [FORGEOPS_DEPLOYMENT_TYPE_KEY]: '/',\n};\nexport const FRODO_METADATA_ID = 'frodo';\n"],"mappings":"AAAA,OAAO,MAAMA,iBAAiB,GAAG,oBAAoB;AACrD,OAAO,MAAMC,2BAA2B,GAAG,SAAS;AACpD,OAAO,MAAMC,yBAAyB,GAAG,OAAO;AAChD,OAAO,MAAMC,4BAA4B,GAAG,UAAU;AACtD,OAAO,MAAMC,gBAAgB,GAAG,CAC9BH,2BAA2B,EAC3BC,yBAAyB,EACzBC,4BAA4B,CAC7B;AACD,OAAO,MAAME,yBAAyB,GAAG;EACvC,CAACJ,2BAA2B,GAAG,GAAG;EAClC,CAACC,yBAAyB,GAAG,OAAO;EACpC,CAACC,4BAA4B,GAAG;AAClC,CAAC;AACD,OAAO,MAAMG,iBAAiB,GAAG,OAAO"}
1
+ {"version":3,"file":"StaticStorage.js","names":["DEFAULT_REALM_KEY","CLASSIC_DEPLOYMENT_TYPE_KEY","CLOUD_DEPLOYMENT_TYPE_KEY","FORGEOPS_DEPLOYMENT_TYPE_KEY","DEPLOYMENT_TYPES","DEPLOYMENT_TYPE_REALM_MAP","FRODO_METADATA_ID"],"sources":["../../src/storage/StaticStorage.ts"],"sourcesContent":["export const DEFAULT_REALM_KEY = '__default__realm__';\nexport const CLASSIC_DEPLOYMENT_TYPE_KEY = 'classic';\nexport const CLOUD_DEPLOYMENT_TYPE_KEY = 'cloud';\nexport const FORGEOPS_DEPLOYMENT_TYPE_KEY = 'forgeops';\nexport const DEPLOYMENT_TYPES = [\n CLASSIC_DEPLOYMENT_TYPE_KEY,\n CLOUD_DEPLOYMENT_TYPE_KEY,\n FORGEOPS_DEPLOYMENT_TYPE_KEY,\n];\nexport const DEPLOYMENT_TYPE_REALM_MAP = {\n [CLASSIC_DEPLOYMENT_TYPE_KEY]: '/',\n [CLOUD_DEPLOYMENT_TYPE_KEY]: 'alpha',\n [FORGEOPS_DEPLOYMENT_TYPE_KEY]: '/',\n};\nexport const FRODO_METADATA_ID = 'frodo';\n"],"mappings":"AAAA,OAAO,MAAMA,iBAAiB,GAAG,oBAAoB;AACrD,OAAO,MAAMC,2BAA2B,GAAG,SAAS;AACpD,OAAO,MAAMC,yBAAyB,GAAG,OAAO;AAChD,OAAO,MAAMC,4BAA4B,GAAG,UAAU;AACtD,OAAO,MAAMC,gBAAgB,GAAG,CAC9BH,2BAA2B,EAC3BC,yBAAyB,EACzBC,4BAA4B,CAC7B;AACD,OAAO,MAAME,yBAAyB,GAAG;EACvC,CAACJ,2BAA2B,GAAG,GAAG;EAClC,CAACC,yBAAyB,GAAG,OAAO;EACpC,CAACC,4BAA4B,GAAG;AAClC,CAAC;AACD,OAAO,MAAMG,iBAAiB,GAAG,OAAO"}
@@ -1,7 +1,10 @@
1
+ import { frodo } from '@rockcarver/frodo-lib';
1
2
  import fs from 'fs';
2
3
  import os from 'os';
3
- import { frodo } from '@rockcarver/frodo-lib';
4
4
  import { printMessage } from './Console';
5
+ const {
6
+ getDefaultNoiseFilter
7
+ } = frodo.cloud.log;
5
8
  export const FRODO_CONFIG_PATH_KEY = 'FRODO_CONFIG_PATH';
6
9
  export const FRODO_LOG_NOISEFILTER_FILENAME = 'LoggingNoiseFilter.json';
7
10
  export function getConfigPath() {
@@ -22,12 +25,12 @@ export function getNoiseFilters(defaults) {
22
25
  const filename = `${getConfigPath()}/${FRODO_LOG_NOISEFILTER_FILENAME}`;
23
26
  if (defaults) {
24
27
  printMessage(`Using default logging noise filters.`, 'info');
25
- return frodo.cloud.log.getDefaultNoiseFilter();
28
+ return getDefaultNoiseFilter();
26
29
  }
27
30
  let noiseFilter = getCustomNoiseFilters();
28
31
  if (noiseFilter.length == 0) {
29
32
  printMessage(`No custom noise filters defined. Using defaults.`, 'info');
30
- noiseFilter = frodo.cloud.log.getDefaultNoiseFilter();
33
+ noiseFilter = getDefaultNoiseFilter();
31
34
  try {
32
35
  fs.writeFileSync(filename, JSON.stringify(noiseFilter, null, 2));
33
36
  printMessage(`The default filters were saved in ${filename}. You can change the filters as needed.`, 'info');
@@ -37,4 +40,4 @@ export function getNoiseFilters(defaults) {
37
40
  }
38
41
  return noiseFilter;
39
42
  }
40
- //# sourceMappingURL=Config.js.map
43
+ //# sourceMappingURL=Config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.js","names":["fs","os","frodo","printMessage","FRODO_CONFIG_PATH_KEY","FRODO_LOG_NOISEFILTER_FILENAME","getConfigPath","process","env","homedir","getCustomNoiseFilters","filename","noiseFilter","data","readFileSync","JSON","parse","e","message","getNoiseFilters","defaults","cloud","log","getDefaultNoiseFilter","length","writeFileSync","stringify"],"sources":["utils/Config.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport { frodo } from '@rockcarver/frodo-lib';\n\nimport { printMessage } from './Console';\n\nexport const FRODO_CONFIG_PATH_KEY = 'FRODO_CONFIG_PATH';\nexport const FRODO_LOG_NOISEFILTER_FILENAME = 'LoggingNoiseFilter.json';\n\nexport function getConfigPath(): string {\n return process.env[FRODO_CONFIG_PATH_KEY] || `${os.homedir()}/.frodo`;\n}\n\nfunction getCustomNoiseFilters(): Array<string> {\n const filename = `${getConfigPath()}/${FRODO_LOG_NOISEFILTER_FILENAME}`;\n let noiseFilter = [];\n try {\n const data = fs.readFileSync(filename, 'utf8');\n noiseFilter = JSON.parse(data);\n } catch (e) {\n printMessage(`Error reading ${filename} (${e.message})`, 'error');\n }\n return noiseFilter;\n}\n\nexport function getNoiseFilters(defaults: boolean): Array<string> {\n const filename = `${getConfigPath()}/${FRODO_LOG_NOISEFILTER_FILENAME}`;\n if (defaults) {\n printMessage(`Using default logging noise filters.`, 'info');\n return frodo.cloud.log.getDefaultNoiseFilter();\n }\n let noiseFilter = getCustomNoiseFilters();\n if (noiseFilter.length == 0) {\n printMessage(`No custom noise filters defined. Using defaults.`, 'info');\n noiseFilter = frodo.cloud.log.getDefaultNoiseFilter();\n try {\n fs.writeFileSync(filename, JSON.stringify(noiseFilter, null, 2));\n printMessage(\n `The default filters were saved in ${filename}. You can change the filters as needed.`,\n 'info'\n );\n } catch (e) {\n printMessage(\n `Error creating noise filter configuration with default values.`,\n 'error'\n );\n }\n }\n return noiseFilter;\n}\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,IAAI;AACnB,OAAOC,EAAE,MAAM,IAAI;AACnB,SAASC,KAAK,QAAQ,uBAAuB;AAE7C,SAASC,YAAY,QAAQ,WAAW;AAExC,OAAO,MAAMC,qBAAqB,GAAG,mBAAmB;AACxD,OAAO,MAAMC,8BAA8B,GAAG,yBAAyB;AAEvE,OAAO,SAASC,aAAaA,CAAA,EAAW;EACtC,OAAOC,OAAO,CAACC,GAAG,CAACJ,qBAAqB,CAAC,IAAK,GAAEH,EAAE,CAACQ,OAAO,CAAC,CAAE,SAAQ;AACvE;AAEA,SAASC,qBAAqBA,CAAA,EAAkB;EAC9C,MAAMC,QAAQ,GAAI,GAAEL,aAAa,CAAC,CAAE,IAAGD,8BAA+B,EAAC;EACvE,IAAIO,WAAW,GAAG,EAAE;EACpB,IAAI;IACF,MAAMC,IAAI,GAAGb,EAAE,CAACc,YAAY,CAACH,QAAQ,EAAE,MAAM,CAAC;IAC9CC,WAAW,GAAGG,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;EAChC,CAAC,CAAC,OAAOI,CAAC,EAAE;IACVd,YAAY,CAAE,iBAAgBQ,QAAS,KAAIM,CAAC,CAACC,OAAQ,GAAE,EAAE,OAAO,CAAC;EACnE;EACA,OAAON,WAAW;AACpB;AAEA,OAAO,SAASO,eAAeA,CAACC,QAAiB,EAAiB;EAChE,MAAMT,QAAQ,GAAI,GAAEL,aAAa,CAAC,CAAE,IAAGD,8BAA+B,EAAC;EACvE,IAAIe,QAAQ,EAAE;IACZjB,YAAY,CAAE,sCAAqC,EAAE,MAAM,CAAC;IAC5D,OAAOD,KAAK,CAACmB,KAAK,CAACC,GAAG,CAACC,qBAAqB,CAAC,CAAC;EAChD;EACA,IAAIX,WAAW,GAAGF,qBAAqB,CAAC,CAAC;EACzC,IAAIE,WAAW,CAACY,MAAM,IAAI,CAAC,EAAE;IAC3BrB,YAAY,CAAE,kDAAiD,EAAE,MAAM,CAAC;IACxES,WAAW,GAAGV,KAAK,CAACmB,KAAK,CAACC,GAAG,CAACC,qBAAqB,CAAC,CAAC;IACrD,IAAI;MACFvB,EAAE,CAACyB,aAAa,CAACd,QAAQ,EAAEI,IAAI,CAACW,SAAS,CAACd,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;MAChET,YAAY,CACT,qCAAoCQ,QAAS,yCAAwC,EACtF,MACF,CAAC;IACH,CAAC,CAAC,OAAOM,CAAC,EAAE;MACVd,YAAY,CACT,gEAA+D,EAChE,OACF,CAAC;IACH;EACF;EACA,OAAOS,WAAW;AACpB"}
1
+ {"version":3,"file":"Config.js","names":["frodo","fs","os","printMessage","getDefaultNoiseFilter","cloud","log","FRODO_CONFIG_PATH_KEY","FRODO_LOG_NOISEFILTER_FILENAME","getConfigPath","process","env","homedir","getCustomNoiseFilters","filename","noiseFilter","data","readFileSync","JSON","parse","e","message","getNoiseFilters","defaults","length","writeFileSync","stringify"],"sources":["../../src/utils/Config.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport os from 'os';\n\nimport { printMessage } from './Console';\n\nconst { getDefaultNoiseFilter } = frodo.cloud.log;\n\nexport const FRODO_CONFIG_PATH_KEY = 'FRODO_CONFIG_PATH';\nexport const FRODO_LOG_NOISEFILTER_FILENAME = 'LoggingNoiseFilter.json';\n\nexport function getConfigPath(): string {\n return process.env[FRODO_CONFIG_PATH_KEY] || `${os.homedir()}/.frodo`;\n}\n\nfunction getCustomNoiseFilters(): Array<string> {\n const filename = `${getConfigPath()}/${FRODO_LOG_NOISEFILTER_FILENAME}`;\n let noiseFilter = [];\n try {\n const data = fs.readFileSync(filename, 'utf8');\n noiseFilter = JSON.parse(data);\n } catch (e) {\n printMessage(`Error reading ${filename} (${e.message})`, 'error');\n }\n return noiseFilter;\n}\n\nexport function getNoiseFilters(defaults: boolean): Array<string> {\n const filename = `${getConfigPath()}/${FRODO_LOG_NOISEFILTER_FILENAME}`;\n if (defaults) {\n printMessage(`Using default logging noise filters.`, 'info');\n return getDefaultNoiseFilter();\n }\n let noiseFilter = getCustomNoiseFilters();\n if (noiseFilter.length == 0) {\n printMessage(`No custom noise filters defined. Using defaults.`, 'info');\n noiseFilter = getDefaultNoiseFilter();\n try {\n fs.writeFileSync(filename, JSON.stringify(noiseFilter, null, 2));\n printMessage(\n `The default filters were saved in ${filename}. You can change the filters as needed.`,\n 'info'\n );\n } catch (e) {\n printMessage(\n `Error creating noise filter configuration with default values.`,\n 'error'\n );\n }\n }\n return noiseFilter;\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,OAAOC,EAAE,MAAM,IAAI;AACnB,OAAOC,EAAE,MAAM,IAAI;AAEnB,SAASC,YAAY,QAAQ,WAAW;AAExC,MAAM;EAAEC;AAAsB,CAAC,GAAGJ,KAAK,CAACK,KAAK,CAACC,GAAG;AAEjD,OAAO,MAAMC,qBAAqB,GAAG,mBAAmB;AACxD,OAAO,MAAMC,8BAA8B,GAAG,yBAAyB;AAEvE,OAAO,SAASC,aAAaA,CAAA,EAAW;EACtC,OAAOC,OAAO,CAACC,GAAG,CAACJ,qBAAqB,CAAC,IAAK,GAAEL,EAAE,CAACU,OAAO,CAAC,CAAE,SAAQ;AACvE;AAEA,SAASC,qBAAqBA,CAAA,EAAkB;EAC9C,MAAMC,QAAQ,GAAI,GAAEL,aAAa,CAAC,CAAE,IAAGD,8BAA+B,EAAC;EACvE,IAAIO,WAAW,GAAG,EAAE;EACpB,IAAI;IACF,MAAMC,IAAI,GAAGf,EAAE,CAACgB,YAAY,CAACH,QAAQ,EAAE,MAAM,CAAC;IAC9CC,WAAW,GAAGG,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;EAChC,CAAC,CAAC,OAAOI,CAAC,EAAE;IACVjB,YAAY,CAAE,iBAAgBW,QAAS,KAAIM,CAAC,CAACC,OAAQ,GAAE,EAAE,OAAO,CAAC;EACnE;EACA,OAAON,WAAW;AACpB;AAEA,OAAO,SAASO,eAAeA,CAACC,QAAiB,EAAiB;EAChE,MAAMT,QAAQ,GAAI,GAAEL,aAAa,CAAC,CAAE,IAAGD,8BAA+B,EAAC;EACvE,IAAIe,QAAQ,EAAE;IACZpB,YAAY,CAAE,sCAAqC,EAAE,MAAM,CAAC;IAC5D,OAAOC,qBAAqB,CAAC,CAAC;EAChC;EACA,IAAIW,WAAW,GAAGF,qBAAqB,CAAC,CAAC;EACzC,IAAIE,WAAW,CAACS,MAAM,IAAI,CAAC,EAAE;IAC3BrB,YAAY,CAAE,kDAAiD,EAAE,MAAM,CAAC;IACxEY,WAAW,GAAGX,qBAAqB,CAAC,CAAC;IACrC,IAAI;MACFH,EAAE,CAACwB,aAAa,CAACX,QAAQ,EAAEI,IAAI,CAACQ,SAAS,CAACX,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;MAChEZ,YAAY,CACT,qCAAoCW,QAAS,yCAAwC,EACtF,MACF,CAAC;IACH,CAAC,CAAC,OAAOM,CAAC,EAAE;MACVjB,YAAY,CACT,gEAA+D,EAChE,OACF,CAAC;IACH;EACF;EACA,OAAOY,WAAW;AACpB"}
@@ -1,10 +1,13 @@
1
1
  /* eslint-disable no-console */
2
+ import { frodo, state } from '@rockcarver/frodo-lib';
2
3
  import { MultiBar, Presets } from 'cli-progress';
3
- import { createSpinner } from 'nanospinner';
4
4
  import Table from 'cli-table3';
5
- import { frodo, state } from '@rockcarver/frodo-lib';
6
5
  import Color from 'colors';
6
+ import { createSpinner } from 'nanospinner';
7
7
  Color.enable();
8
+ const {
9
+ appendTextToFile
10
+ } = frodo.utils;
8
11
  let multiBarContainer = null;
9
12
  let progressBar = null;
10
13
  let spinner = null;
@@ -22,10 +25,11 @@ function data(message, newline = true) {
22
25
  if (newline) {
23
26
  message += '\n';
24
27
  }
25
- frodo.utils.impex.appendTextToFile(message, state.getOutputFile());
28
+ appendTextToFile(message, state.getOutputFile());
26
29
  } else if (typeof message === 'object') {
27
30
  console.dir(message, {
28
- depth: 3
31
+ depth: 10,
32
+ maxArrayLength: null
29
33
  });
30
34
  } else if (newline) {
31
35
  console.log(message);
@@ -531,4 +535,4 @@ export function createObjectTable(object, keyMap = {}) {
531
535
  addRows(object, depth, level + 1, table, keyMap);
532
536
  return table;
533
537
  }
534
- //# sourceMappingURL=Console.js.map
538
+ //# sourceMappingURL=Console.js.map