@rockcarver/frodo-cli 2.0.0-6 → 2.0.0-60

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 (443) hide show
  1. package/.vscode/launch.json +1 -0
  2. package/CHANGELOG.md +427 -7
  3. package/dist/app.cjs +187368 -0
  4. package/dist/app.cjs.map +1 -0
  5. package/dist/app.d.cts +2 -0
  6. package/dist/chunk-MPPKDFVI.cjs +56 -0
  7. package/dist/chunk-MPPKDFVI.cjs.map +1 -0
  8. package/dist/launch.cjs +27 -0
  9. package/dist/launch.cjs.map +1 -0
  10. package/dist/launch.d.cts +1 -0
  11. package/dist/loader.cjs +836 -0
  12. package/dist/loader.cjs.map +1 -0
  13. package/dist/loader.d.cts +3 -0
  14. package/global-jest-setup.js +5 -0
  15. package/package.json +71 -64
  16. package/tsup.config.ts +40 -0
  17. package/esm/app.js +0 -58
  18. package/esm/app.js.map +0 -1
  19. package/esm/cli/FrodoCommand.js +0 -147
  20. package/esm/cli/FrodoCommand.js.map +0 -1
  21. package/esm/cli/_template/something-delete.js +0 -19
  22. package/esm/cli/_template/something-delete.js.map +0 -1
  23. package/esm/cli/_template/something-describe.js +0 -19
  24. package/esm/cli/_template/something-describe.js.map +0 -1
  25. package/esm/cli/_template/something-else-delete.js +0 -19
  26. package/esm/cli/_template/something-else-delete.js.map +0 -1
  27. package/esm/cli/_template/something-else-describe.js +0 -19
  28. package/esm/cli/_template/something-else-describe.js.map +0 -1
  29. package/esm/cli/_template/something-else-export.js +0 -19
  30. package/esm/cli/_template/something-else-export.js.map +0 -1
  31. package/esm/cli/_template/something-else-import.js +0 -19
  32. package/esm/cli/_template/something-else-import.js.map +0 -1
  33. package/esm/cli/_template/something-else-list.js +0 -19
  34. package/esm/cli/_template/something-else-list.js.map +0 -1
  35. package/esm/cli/_template/something-else.js +0 -10
  36. package/esm/cli/_template/something-else.js.map +0 -1
  37. package/esm/cli/_template/something-export.js +0 -19
  38. package/esm/cli/_template/something-export.js.map +0 -1
  39. package/esm/cli/_template/something-import.js +0 -19
  40. package/esm/cli/_template/something-import.js.map +0 -1
  41. package/esm/cli/_template/something-list.js +0 -19
  42. package/esm/cli/_template/something-list.js.map +0 -1
  43. package/esm/cli/_template/something-other-delete.js +0 -19
  44. package/esm/cli/_template/something-other-delete.js.map +0 -1
  45. package/esm/cli/_template/something-other-describe.js +0 -19
  46. package/esm/cli/_template/something-other-describe.js.map +0 -1
  47. package/esm/cli/_template/something-other-export.js +0 -19
  48. package/esm/cli/_template/something-other-export.js.map +0 -1
  49. package/esm/cli/_template/something-other-import.js +0 -19
  50. package/esm/cli/_template/something-other-import.js.map +0 -1
  51. package/esm/cli/_template/something-other-list.js +0 -19
  52. package/esm/cli/_template/something-other-list.js.map +0 -1
  53. package/esm/cli/_template/something-other.js +0 -10
  54. package/esm/cli/_template/something-other.js.map +0 -1
  55. package/esm/cli/_template/something.js +0 -16
  56. package/esm/cli/_template/something.js.map +0 -1
  57. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +0 -21
  58. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +0 -1
  59. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +0 -79
  60. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +0 -1
  61. package/esm/cli/admin/admin-federation-export.js +0 -42
  62. package/esm/cli/admin/admin-federation-export.js.map +0 -1
  63. package/esm/cli/admin/admin-federation-import.js +0 -46
  64. package/esm/cli/admin/admin-federation-import.js.map +0 -1
  65. package/esm/cli/admin/admin-federation-list.js +0 -26
  66. package/esm/cli/admin/admin-federation-list.js.map +0 -1
  67. package/esm/cli/admin/admin-federation.js +0 -13
  68. package/esm/cli/admin/admin-federation.js.map +0 -1
  69. package/esm/cli/admin/admin-get-access-token.js +0 -22
  70. package/esm/cli/admin/admin-get-access-token.js.map +0 -1
  71. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +0 -22
  72. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +0 -1
  73. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +0 -22
  74. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +0 -1
  75. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +0 -24
  76. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +0 -1
  77. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +0 -24
  78. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +0 -1
  79. package/esm/cli/admin/admin-list-static-user-mappings.js +0 -25
  80. package/esm/cli/admin/admin-list-static-user-mappings.js.map +0 -1
  81. package/esm/cli/admin/admin-remove-static-user-mapping.js +0 -21
  82. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +0 -1
  83. package/esm/cli/admin/admin-repair-org-model.js +0 -22
  84. package/esm/cli/admin/admin-repair-org-model.js.map +0 -1
  85. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +0 -22
  86. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +0 -1
  87. package/esm/cli/admin/admin-show-generic-extension-attributes.js +0 -22
  88. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +0 -1
  89. package/esm/cli/admin/admin.js +0 -22
  90. package/esm/cli/admin/admin.js.map +0 -1
  91. package/esm/cli/agent/agent-delete.js +0 -45
  92. package/esm/cli/agent/agent-delete.js.map +0 -1
  93. package/esm/cli/agent/agent-describe.js +0 -19
  94. package/esm/cli/agent/agent-describe.js.map +0 -1
  95. package/esm/cli/agent/agent-export.js +0 -39
  96. package/esm/cli/agent/agent-export.js.map +0 -1
  97. package/esm/cli/agent/agent-gateway-delete.js +0 -45
  98. package/esm/cli/agent/agent-gateway-delete.js.map +0 -1
  99. package/esm/cli/agent/agent-gateway-describe.js +0 -19
  100. package/esm/cli/agent/agent-gateway-describe.js.map +0 -1
  101. package/esm/cli/agent/agent-gateway-export.js +0 -39
  102. package/esm/cli/agent/agent-gateway-export.js.map +0 -1
  103. package/esm/cli/agent/agent-gateway-import.js +0 -44
  104. package/esm/cli/agent/agent-gateway-import.js.map +0 -1
  105. package/esm/cli/agent/agent-gateway-list.js +0 -20
  106. package/esm/cli/agent/agent-gateway-list.js.map +0 -1
  107. package/esm/cli/agent/agent-gateway.js +0 -10
  108. package/esm/cli/agent/agent-gateway.js.map +0 -1
  109. package/esm/cli/agent/agent-import.js +0 -44
  110. package/esm/cli/agent/agent-import.js.map +0 -1
  111. package/esm/cli/agent/agent-java-delete.js +0 -45
  112. package/esm/cli/agent/agent-java-delete.js.map +0 -1
  113. package/esm/cli/agent/agent-java-describe.js +0 -19
  114. package/esm/cli/agent/agent-java-describe.js.map +0 -1
  115. package/esm/cli/agent/agent-java-export.js +0 -39
  116. package/esm/cli/agent/agent-java-export.js.map +0 -1
  117. package/esm/cli/agent/agent-java-import.js +0 -44
  118. package/esm/cli/agent/agent-java-import.js.map +0 -1
  119. package/esm/cli/agent/agent-java-list.js +0 -20
  120. package/esm/cli/agent/agent-java-list.js.map +0 -1
  121. package/esm/cli/agent/agent-java.js +0 -10
  122. package/esm/cli/agent/agent-java.js.map +0 -1
  123. package/esm/cli/agent/agent-list.js +0 -20
  124. package/esm/cli/agent/agent-list.js.map +0 -1
  125. package/esm/cli/agent/agent-web-delete.js +0 -45
  126. package/esm/cli/agent/agent-web-delete.js.map +0 -1
  127. package/esm/cli/agent/agent-web-describe.js +0 -19
  128. package/esm/cli/agent/agent-web-describe.js.map +0 -1
  129. package/esm/cli/agent/agent-web-export.js +0 -39
  130. package/esm/cli/agent/agent-web-export.js.map +0 -1
  131. package/esm/cli/agent/agent-web-import.js +0 -44
  132. package/esm/cli/agent/agent-web-import.js.map +0 -1
  133. package/esm/cli/agent/agent-web-list.js +0 -20
  134. package/esm/cli/agent/agent-web-list.js.map +0 -1
  135. package/esm/cli/agent/agent-web.js +0 -10
  136. package/esm/cli/agent/agent-web.js.map +0 -1
  137. package/esm/cli/agent/agent.js +0 -17
  138. package/esm/cli/agent/agent.js.map +0 -1
  139. package/esm/cli/app/app-delete.js +0 -19
  140. package/esm/cli/app/app-delete.js.map +0 -1
  141. package/esm/cli/app/app-describe.js +0 -19
  142. package/esm/cli/app/app-describe.js.map +0 -1
  143. package/esm/cli/app/app-export.js +0 -49
  144. package/esm/cli/app/app-export.js.map +0 -1
  145. package/esm/cli/app/app-import.js +0 -54
  146. package/esm/cli/app/app-import.js.map +0 -1
  147. package/esm/cli/app/app-list.js +0 -22
  148. package/esm/cli/app/app-list.js.map +0 -1
  149. package/esm/cli/app/app.js +0 -21
  150. package/esm/cli/app/app.js.map +0 -1
  151. package/esm/cli/authz/authz-policy-delete.js +0 -40
  152. package/esm/cli/authz/authz-policy-delete.js.map +0 -1
  153. package/esm/cli/authz/authz-policy-describe.js +0 -27
  154. package/esm/cli/authz/authz-policy-describe.js.map +0 -1
  155. package/esm/cli/authz/authz-policy-export.js +0 -72
  156. package/esm/cli/authz/authz-policy-export.js.map +0 -1
  157. package/esm/cli/authz/authz-policy-import.js +0 -62
  158. package/esm/cli/authz/authz-policy-import.js.map +0 -1
  159. package/esm/cli/authz/authz-policy-list.js +0 -34
  160. package/esm/cli/authz/authz-policy-list.js.map +0 -1
  161. package/esm/cli/authz/authz-policy.js +0 -10
  162. package/esm/cli/authz/authz-policy.js.map +0 -1
  163. package/esm/cli/authz/authz-set-delete.js +0 -34
  164. package/esm/cli/authz/authz-set-delete.js.map +0 -1
  165. package/esm/cli/authz/authz-set-describe.js +0 -27
  166. package/esm/cli/authz/authz-set-describe.js.map +0 -1
  167. package/esm/cli/authz/authz-set-export.js +0 -52
  168. package/esm/cli/authz/authz-set-export.js.map +0 -1
  169. package/esm/cli/authz/authz-set-import.js +0 -58
  170. package/esm/cli/authz/authz-set-import.js.map +0 -1
  171. package/esm/cli/authz/authz-set-list.js +0 -22
  172. package/esm/cli/authz/authz-set-list.js.map +0 -1
  173. package/esm/cli/authz/authz-set.js +0 -10
  174. package/esm/cli/authz/authz-set.js.map +0 -1
  175. package/esm/cli/authz/authz-type-delete.js +0 -40
  176. package/esm/cli/authz/authz-type-delete.js.map +0 -1
  177. package/esm/cli/authz/authz-type-describe.js +0 -31
  178. package/esm/cli/authz/authz-type-describe.js.map +0 -1
  179. package/esm/cli/authz/authz-type-export.js +0 -46
  180. package/esm/cli/authz/authz-type-export.js.map +0 -1
  181. package/esm/cli/authz/authz-type-import.js +0 -52
  182. package/esm/cli/authz/authz-type-import.js.map +0 -1
  183. package/esm/cli/authz/authz-type-list.js +0 -23
  184. package/esm/cli/authz/authz-type-list.js.map +0 -1
  185. package/esm/cli/authz/authz-type.js +0 -10
  186. package/esm/cli/authz/authz-type.js.map +0 -1
  187. package/esm/cli/authz/authz.js +0 -12
  188. package/esm/cli/authz/authz.js.map +0 -1
  189. package/esm/cli/conn/conn-delete.js +0 -14
  190. package/esm/cli/conn/conn-delete.js.map +0 -1
  191. package/esm/cli/conn/conn-describe.js +0 -15
  192. package/esm/cli/conn/conn-describe.js.map +0 -1
  193. package/esm/cli/conn/conn-list.js +0 -15
  194. package/esm/cli/conn/conn-list.js.map +0 -1
  195. package/esm/cli/conn/conn-save.js +0 -94
  196. package/esm/cli/conn/conn-save.js.map +0 -1
  197. package/esm/cli/conn/conn.js +0 -15
  198. package/esm/cli/conn/conn.js.map +0 -1
  199. package/esm/cli/email/email-template-export.js +0 -37
  200. package/esm/cli/email/email-template-export.js.map +0 -1
  201. package/esm/cli/email/email-template-import.js +0 -42
  202. package/esm/cli/email/email-template-import.js.map +0 -1
  203. package/esm/cli/email/email-template-list.js +0 -22
  204. package/esm/cli/email/email-template-list.js.map +0 -1
  205. package/esm/cli/email/email-template.js +0 -8
  206. package/esm/cli/email/email-template.js.map +0 -1
  207. package/esm/cli/email/email.js +0 -11
  208. package/esm/cli/email/email.js.map +0 -1
  209. package/esm/cli/esv/esv-apply.js +0 -52
  210. package/esm/cli/esv/esv-apply.js.map +0 -1
  211. package/esm/cli/esv/esv-secret-create.js +0 -22
  212. package/esm/cli/esv/esv-secret-create.js.map +0 -1
  213. package/esm/cli/esv/esv-secret-delete.js +0 -32
  214. package/esm/cli/esv/esv-secret-delete.js.map +0 -1
  215. package/esm/cli/esv/esv-secret-describe.js +0 -22
  216. package/esm/cli/esv/esv-secret-describe.js.map +0 -1
  217. package/esm/cli/esv/esv-secret-export.js +0 -19
  218. package/esm/cli/esv/esv-secret-export.js.map +0 -1
  219. package/esm/cli/esv/esv-secret-import.js +0 -19
  220. package/esm/cli/esv/esv-secret-import.js.map +0 -1
  221. package/esm/cli/esv/esv-secret-list.js +0 -22
  222. package/esm/cli/esv/esv-secret-list.js.map +0 -1
  223. package/esm/cli/esv/esv-secret-set.js +0 -22
  224. package/esm/cli/esv/esv-secret-set.js.map +0 -1
  225. package/esm/cli/esv/esv-secret-version-activate.js +0 -27
  226. package/esm/cli/esv/esv-secret-version-activate.js.map +0 -1
  227. package/esm/cli/esv/esv-secret-version-create.js +0 -22
  228. package/esm/cli/esv/esv-secret-version-create.js.map +0 -1
  229. package/esm/cli/esv/esv-secret-version-deactivate.js +0 -27
  230. package/esm/cli/esv/esv-secret-version-deactivate.js.map +0 -1
  231. package/esm/cli/esv/esv-secret-version-delete.js +0 -32
  232. package/esm/cli/esv/esv-secret-version-delete.js.map +0 -1
  233. package/esm/cli/esv/esv-secret-version-list.js +0 -22
  234. package/esm/cli/esv/esv-secret-version-list.js.map +0 -1
  235. package/esm/cli/esv/esv-secret-version.js +0 -10
  236. package/esm/cli/esv/esv-secret-version.js.map +0 -1
  237. package/esm/cli/esv/esv-secret.js +0 -16
  238. package/esm/cli/esv/esv-secret.js.map +0 -1
  239. package/esm/cli/esv/esv-variable-create.js +0 -21
  240. package/esm/cli/esv/esv-variable-create.js.map +0 -1
  241. package/esm/cli/esv/esv-variable-delete.js +0 -32
  242. package/esm/cli/esv/esv-variable-delete.js.map +0 -1
  243. package/esm/cli/esv/esv-variable-describe.js +0 -22
  244. package/esm/cli/esv/esv-variable-describe.js.map +0 -1
  245. package/esm/cli/esv/esv-variable-export.js +0 -19
  246. package/esm/cli/esv/esv-variable-export.js.map +0 -1
  247. package/esm/cli/esv/esv-variable-import.js +0 -19
  248. package/esm/cli/esv/esv-variable-import.js.map +0 -1
  249. package/esm/cli/esv/esv-variable-list.js +0 -22
  250. package/esm/cli/esv/esv-variable-list.js.map +0 -1
  251. package/esm/cli/esv/esv-variable-set.js +0 -28
  252. package/esm/cli/esv/esv-variable-set.js.map +0 -1
  253. package/esm/cli/esv/esv-variable.js +0 -15
  254. package/esm/cli/esv/esv-variable.js.map +0 -1
  255. package/esm/cli/esv/esv.js +0 -12
  256. package/esm/cli/esv/esv.js.map +0 -1
  257. package/esm/cli/idm/idm-count.js +0 -22
  258. package/esm/cli/idm/idm-count.js.map +0 -1
  259. package/esm/cli/idm/idm-export.js +0 -39
  260. package/esm/cli/idm/idm-export.js.map +0 -1
  261. package/esm/cli/idm/idm-import.js +0 -42
  262. package/esm/cli/idm/idm-import.js.map +0 -1
  263. package/esm/cli/idm/idm-list.js +0 -26
  264. package/esm/cli/idm/idm-list.js.map +0 -1
  265. package/esm/cli/idm/idm.js +0 -13
  266. package/esm/cli/idm/idm.js.map +0 -1
  267. package/esm/cli/idp/idp-export.js +0 -39
  268. package/esm/cli/idp/idp-export.js.map +0 -1
  269. package/esm/cli/idp/idp-import.js +0 -42
  270. package/esm/cli/idp/idp-import.js.map +0 -1
  271. package/esm/cli/idp/idp-list.js +0 -25
  272. package/esm/cli/idp/idp-list.js.map +0 -1
  273. package/esm/cli/idp/idp.js +0 -12
  274. package/esm/cli/idp/idp.js.map +0 -1
  275. package/esm/cli/info/info.js +0 -48
  276. package/esm/cli/info/info.js.map +0 -1
  277. package/esm/cli/journey/journey-delete.js +0 -31
  278. package/esm/cli/journey/journey-delete.js.map +0 -1
  279. package/esm/cli/journey/journey-describe.js +0 -117
  280. package/esm/cli/journey/journey-describe.js.map +0 -1
  281. package/esm/cli/journey/journey-disable.js +0 -37
  282. package/esm/cli/journey/journey-disable.js.map +0 -1
  283. package/esm/cli/journey/journey-enable.js +0 -37
  284. package/esm/cli/journey/journey-enable.js.map +0 -1
  285. package/esm/cli/journey/journey-export.js +0 -47
  286. package/esm/cli/journey/journey-export.js.map +0 -1
  287. package/esm/cli/journey/journey-import.js +0 -54
  288. package/esm/cli/journey/journey-import.js.map +0 -1
  289. package/esm/cli/journey/journey-list.js +0 -22
  290. package/esm/cli/journey/journey-list.js.map +0 -1
  291. package/esm/cli/journey/journey-prune.js +0 -31
  292. package/esm/cli/journey/journey-prune.js.map +0 -1
  293. package/esm/cli/journey/journey.js +0 -17
  294. package/esm/cli/journey/journey.js.map +0 -1
  295. package/esm/cli/log/log-fetch.js +0 -91
  296. package/esm/cli/log/log-fetch.js.map +0 -1
  297. package/esm/cli/log/log-key-delete.js +0 -32
  298. package/esm/cli/log/log-key-delete.js.map +0 -1
  299. package/esm/cli/log/log-key-describe.js +0 -19
  300. package/esm/cli/log/log-key-describe.js.map +0 -1
  301. package/esm/cli/log/log-key-list.js +0 -23
  302. package/esm/cli/log/log-key-list.js.map +0 -1
  303. package/esm/cli/log/log-key.js +0 -8
  304. package/esm/cli/log/log-key.js.map +0 -1
  305. package/esm/cli/log/log-list.js +0 -49
  306. package/esm/cli/log/log-list.js.map +0 -1
  307. package/esm/cli/log/log-tail.js +0 -46
  308. package/esm/cli/log/log-tail.js.map +0 -1
  309. package/esm/cli/log/log.js +0 -17
  310. package/esm/cli/log/log.js.map +0 -1
  311. package/esm/cli/realm/realm-add-custom-domain.js +0 -22
  312. package/esm/cli/realm/realm-add-custom-domain.js.map +0 -1
  313. package/esm/cli/realm/realm-describe.js +0 -21
  314. package/esm/cli/realm/realm-describe.js.map +0 -1
  315. package/esm/cli/realm/realm-list.js +0 -22
  316. package/esm/cli/realm/realm-list.js.map +0 -1
  317. package/esm/cli/realm/realm-remove-custom-domain.js +0 -21
  318. package/esm/cli/realm/realm-remove-custom-domain.js.map +0 -1
  319. package/esm/cli/realm/realm.js +0 -18
  320. package/esm/cli/realm/realm.js.map +0 -1
  321. package/esm/cli/saml/saml-cot-export.js +0 -40
  322. package/esm/cli/saml/saml-cot-export.js.map +0 -1
  323. package/esm/cli/saml/saml-cot-import.js +0 -46
  324. package/esm/cli/saml/saml-cot-import.js.map +0 -1
  325. package/esm/cli/saml/saml-cot-list.js +0 -23
  326. package/esm/cli/saml/saml-cot-list.js.map +0 -1
  327. package/esm/cli/saml/saml-cot.js +0 -8
  328. package/esm/cli/saml/saml-cot.js.map +0 -1
  329. package/esm/cli/saml/saml-delete.js +0 -31
  330. package/esm/cli/saml/saml-delete.js.map +0 -1
  331. package/esm/cli/saml/saml-describe.js +0 -22
  332. package/esm/cli/saml/saml-describe.js.map +0 -1
  333. package/esm/cli/saml/saml-export.js +0 -37
  334. package/esm/cli/saml/saml-export.js.map +0 -1
  335. package/esm/cli/saml/saml-import.js +0 -42
  336. package/esm/cli/saml/saml-import.js.map +0 -1
  337. package/esm/cli/saml/saml-list.js +0 -22
  338. package/esm/cli/saml/saml-list.js.map +0 -1
  339. package/esm/cli/saml/saml-metadata-export.js +0 -32
  340. package/esm/cli/saml/saml-metadata-export.js.map +0 -1
  341. package/esm/cli/saml/saml-metadata.js +0 -6
  342. package/esm/cli/saml/saml-metadata.js.map +0 -1
  343. package/esm/cli/saml/saml.js +0 -16
  344. package/esm/cli/saml/saml.js.map +0 -1
  345. package/esm/cli/script/script-delete.js +0 -19
  346. package/esm/cli/script/script-delete.js.map +0 -1
  347. package/esm/cli/script/script-describe.js +0 -19
  348. package/esm/cli/script/script-describe.js.map +0 -1
  349. package/esm/cli/script/script-export.js +0 -59
  350. package/esm/cli/script/script-export.js.map +0 -1
  351. package/esm/cli/script/script-import.js +0 -32
  352. package/esm/cli/script/script-import.js.map +0 -1
  353. package/esm/cli/script/script-list.js +0 -23
  354. package/esm/cli/script/script-list.js.map +0 -1
  355. package/esm/cli/script/script.js +0 -18
  356. package/esm/cli/script/script.js.map +0 -1
  357. package/esm/cli/service/service-delete.js +0 -19
  358. package/esm/cli/service/service-delete.js.map +0 -1
  359. package/esm/cli/service/service-export.js +0 -37
  360. package/esm/cli/service/service-export.js.map +0 -1
  361. package/esm/cli/service/service-import.js +0 -44
  362. package/esm/cli/service/service-import.js.map +0 -1
  363. package/esm/cli/service/service-list.js +0 -17
  364. package/esm/cli/service/service-list.js.map +0 -1
  365. package/esm/cli/service/service.js +0 -13
  366. package/esm/cli/service/service.js.map +0 -1
  367. package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
  368. package/esm/cli/theme/theme-delete.js +0 -37
  369. package/esm/cli/theme/theme-delete.js.map +0 -1
  370. package/esm/cli/theme/theme-export.js +0 -42
  371. package/esm/cli/theme/theme-export.js.map +0 -1
  372. package/esm/cli/theme/theme-import.js +0 -47
  373. package/esm/cli/theme/theme-import.js.map +0 -1
  374. package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
  375. package/esm/cli/theme/theme-list.js +0 -22
  376. package/esm/cli/theme/theme-list.js.map +0 -1
  377. package/esm/cli/theme/theme.js +0 -13
  378. package/esm/cli/theme/theme.js.map +0 -1
  379. package/esm/help/SampleData.js +0 -7
  380. package/esm/help/SampleData.js.map +0 -1
  381. package/esm/launch.js +0 -15
  382. package/esm/launch.js.map +0 -1
  383. package/esm/loader.js +0 -40
  384. package/esm/loader.js.map +0 -1
  385. package/esm/ops/AdminFederationOps.js +0 -208
  386. package/esm/ops/AdminFederationOps.js.map +0 -1
  387. package/esm/ops/AgentOps.js +0 -665
  388. package/esm/ops/AgentOps.js.map +0 -1
  389. package/esm/ops/CirclesOfTrustOps.js +0 -248
  390. package/esm/ops/CirclesOfTrustOps.js.map +0 -1
  391. package/esm/ops/ConnectionProfileOps.js +0 -118
  392. package/esm/ops/ConnectionProfileOps.js.map +0 -1
  393. package/esm/ops/EmailTemplateOps.js +0 -353
  394. package/esm/ops/EmailTemplateOps.js.map +0 -1
  395. package/esm/ops/IdmOps.js +0 -347
  396. package/esm/ops/IdmOps.js.map +0 -1
  397. package/esm/ops/IdpOps.js +0 -204
  398. package/esm/ops/IdpOps.js.map +0 -1
  399. package/esm/ops/JourneyOps.js +0 -653
  400. package/esm/ops/JourneyOps.js.map +0 -1
  401. package/esm/ops/LogOps.js +0 -139
  402. package/esm/ops/LogOps.js.map +0 -1
  403. package/esm/ops/NodeOps.js +0 -86
  404. package/esm/ops/NodeOps.js.map +0 -1
  405. package/esm/ops/OAuth2ClientOps.js +0 -258
  406. package/esm/ops/OAuth2ClientOps.js.map +0 -1
  407. package/esm/ops/OrganizationOps.js +0 -28
  408. package/esm/ops/OrganizationOps.js.map +0 -1
  409. package/esm/ops/PolicyOps.js +0 -478
  410. package/esm/ops/PolicyOps.js.map +0 -1
  411. package/esm/ops/PolicySetOps.js +0 -362
  412. package/esm/ops/PolicySetOps.js.map +0 -1
  413. package/esm/ops/RealmOps.js +0 -111
  414. package/esm/ops/RealmOps.js.map +0 -1
  415. package/esm/ops/ResourceTypeOps.js +0 -436
  416. package/esm/ops/ResourceTypeOps.js.map +0 -1
  417. package/esm/ops/Saml2Ops.js +0 -273
  418. package/esm/ops/Saml2Ops.js.map +0 -1
  419. package/esm/ops/Saml2Ops.test_.js.map +0 -1
  420. package/esm/ops/ScriptOps.js +0 -375
  421. package/esm/ops/ScriptOps.js.map +0 -1
  422. package/esm/ops/SecretsOps.js +0 -223
  423. package/esm/ops/SecretsOps.js.map +0 -1
  424. package/esm/ops/ServiceOps.js +0 -192
  425. package/esm/ops/ServiceOps.js.map +0 -1
  426. package/esm/ops/ThemeOps.js +0 -345
  427. package/esm/ops/ThemeOps.js.map +0 -1
  428. package/esm/ops/VariablesOps.js +0 -133
  429. package/esm/ops/VariablesOps.js.map +0 -1
  430. package/esm/ops/utils/OpsUtils.js +0 -9
  431. package/esm/ops/utils/OpsUtils.js.map +0 -1
  432. package/esm/ops/utils/Wordwrap.js +0 -5
  433. package/esm/ops/utils/Wordwrap.js.map +0 -1
  434. package/esm/storage/StaticStorage.js +0 -12
  435. package/esm/storage/StaticStorage.js.map +0 -1
  436. package/esm/utils/Config.js +0 -40
  437. package/esm/utils/Config.js.map +0 -1
  438. package/esm/utils/Console.js +0 -534
  439. package/esm/utils/Console.js.map +0 -1
  440. package/esm/utils/ExportImportUtils.js +0 -90
  441. package/esm/utils/ExportImportUtils.js.map +0 -1
  442. package/esm/utils/Version.js +0 -135
  443. package/esm/utils/Version.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"SecretsOps.js","names":["frodo","createKeyValueTable","createProgressBar","createTable","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","wordwrap","listSecrets","long","secrets","cloud","secret","getSecrets","result","sort","a","b","_id","localeCompare","error","message","response","data","table","hAlign","content","push","activeVersion","loadedVersion","loaded","description","idm","managed","resolveUserName","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","createSecret","id","value","encoding","useInPlaceholders","putSecret","code","setSecretDescription","secretId","deleteSecret","deleteSecrets","length","listSecretVersions","versions","getSecretVersions","statusMap","ENABLED","DISABLED","DESTROYED","version","status","createDate","describeSecret","getSecret","createNewVersionOfSecret","activateVersionOfSecret","setStatusOfVersionOfSecret","deactivateVersionOfSecret","deleteVersionOfSecret"],"sources":["ops/SecretsOps.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 secrets\n * @param {boolean} long Long version, all the fields\n */\nexport async function listSecrets(long) {\n let secrets = [];\n try {\n secrets = (await frodo.cloud.secret.getSecrets()).result;\n secrets.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 { hAlign: 'right', content: 'Active\\nVersion'['brightCyan'] },\n { hAlign: 'right', content: 'Loaded\\nVersion'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n for (const secret of secrets) {\n table.push([\n secret._id,\n { hAlign: 'right', content: secret.activeVersion },\n { hAlign: 'right', content: secret.loadedVersion },\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(secret.description, 40),\n await frodo.idm.managed.resolveUserName(\n 'teammember',\n secret.lastChangedBy\n ),\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n secrets.forEach((secret) => {\n printMessage(secret._id, 'data');\n });\n }\n}\n\n/**\n * Create secret\n * @param {String} id secret id\n * @param {String} value secret value\n * @param {String} description secret description\n * @param {String} encoding secret encoding\n * @param {boolean} useInPlaceholders use secret in placeholders\n */\nexport async function createSecret(\n id,\n value,\n description,\n encoding,\n useInPlaceholders\n) {\n showSpinner(`Creating secret ${id}...`);\n try {\n await frodo.cloud.secret.putSecret(\n id,\n value,\n description,\n encoding,\n useInPlaceholders\n );\n succeedSpinner(`Created secret ${id}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Set description of secret\n * @param {String} secretId secret id\n * @param {String} description secret description\n */\nexport async function setSecretDescription(secretId, description) {\n showSpinner(`Setting description of secret ${secretId}...`);\n try {\n await frodo.cloud.secret.setSecretDescription(secretId, description);\n succeedSpinner(`Set description of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete a secret\n * @param {String} secretId secret id\n */\nexport async function deleteSecret(secretId) {\n showSpinner(`Deleting secret ${secretId}...`);\n try {\n await frodo.cloud.secret.deleteSecret(secretId);\n succeedSpinner(`Deleted secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete all secrets\n */\nexport async function deleteSecrets() {\n try {\n const secrets = (await frodo.cloud.secret.getSecrets()).result;\n createProgressBar(secrets.length, `Deleting secrets...`);\n for (const secret of secrets) {\n try {\n await frodo.cloud.secret.deleteSecret(secret._id);\n updateProgressBar(`Deleted secret ${secret._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressBar(`Secrets deleted.`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * List all the versions of the secret\n * @param {String} secretId secret id\n */\nexport async function listSecretVersions(secretId) {\n let versions = [];\n try {\n versions = await frodo.cloud.secret.getSecretVersions(secretId);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n const table = createTable([\n { hAlign: 'right', content: 'Version'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Loaded'['brightCyan'],\n 'Created'['brightCyan'],\n ]);\n // versions.sort((a, b) => a._id.localeCompare(b._id));\n const statusMap = {\n ENABLED: 'active'['brightGreen'],\n DISABLED: 'inactive'['brightRed'],\n DESTROYED: 'deleted'['brightRed'],\n };\n for (const version of versions) {\n table.push([\n { hAlign: 'right', content: version.version },\n statusMap[version.status],\n version.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n new Date(version.createDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n}\n\n/**\n * Describe a secret\n * @param {String} secretId Secret id\n */\nexport async function describeSecret(secretId) {\n const secret = await frodo.cloud.secret.getSecret(secretId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], secret._id]);\n table.push(['Active Version'['brightCyan'], secret.activeVersion]);\n table.push(['Loaded Version'['brightCyan'], secret.loadedVersion]);\n table.push([\n 'Status'['brightCyan'],\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(secret.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await frodo.idm.managed.resolveUserName('teammember', secret.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], secret.lastChangedBy]);\n table.push(['Encoding'['brightCyan'], secret.encoding]);\n table.push(['Use In Placeholders'['brightCyan'], secret.useInPlaceholders]);\n printMessage(table.toString());\n printMessage('\\nSecret Versions:');\n await listSecretVersions(secretId);\n}\n\n/**\n * Create new version of secret\n * @param {String} secretId secret id\n * @param {String} value secret value\n */\nexport async function createNewVersionOfSecret(secretId, value) {\n showSpinner(`Creating new version of secret ${secretId}...`);\n try {\n const version = await frodo.cloud.secret.createNewVersionOfSecret(\n secretId,\n value\n );\n succeedSpinner(`Created version ${version.version} of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Activate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function activateVersionOfSecret(secretId, version) {\n showSpinner(`Activating version ${version} of secret ${secretId}...`);\n try {\n await frodo.cloud.secret.setStatusOfVersionOfSecret(\n secretId,\n version,\n 'ENABLED'\n );\n succeedSpinner(`Activated version ${version} of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Deactivate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deactivateVersionOfSecret(secretId, version) {\n showSpinner(`Deactivating version ${version} of secret ${secretId}...`);\n try {\n await frodo.cloud.secret.setStatusOfVersionOfSecret(\n secretId,\n version,\n 'DISABLED'\n );\n succeedSpinner(`Deactivated version ${version} of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete version of secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deleteVersionOfSecret(secretId, version) {\n showSpinner(`Deleting version ${version} of secret ${secretId}...`);\n try {\n await frodo.cloud.secret.deleteVersionOfSecret(secretId, version);\n succeedSpinner(`Deleted version ${version} of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n"],"mappings":"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"}
@@ -1,192 +0,0 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
2
- import fs from 'fs';
3
- import { printMessage, createTable, debugMessage, showSpinner, succeedSpinner, failSpinner } from '../utils/Console';
4
- /**
5
- * List services
6
- */
7
- export async function listServices(long = false, globalConfig = false) {
8
- try {
9
- const services = await frodo.service.getListOfServices(globalConfig);
10
- services.sort((a, b) => a._id.localeCompare(b._id));
11
- if (long) {
12
- const table = createTable(['Service Id', 'Service Name']);
13
- for (const service of services) {
14
- table.push([service._id, service.name]);
15
- }
16
- printMessage(table.toString(), 'data');
17
- } else {
18
- for (const service of services) {
19
- printMessage(`${service._id}`, 'data');
20
- }
21
- }
22
- } catch (error) {
23
- printMessage(`Error listing agents - ${error}`, 'error');
24
- printMessage(error.stack, 'error');
25
- }
26
- }
27
-
28
- /**
29
- * Export all services to file
30
- * @param {string} file file name
31
- */
32
- export async function exportServicesToFile(file, globalConfig = false) {
33
- const exportData = await frodo.service.exportServices(globalConfig);
34
- let fileName = frodo.utils.impex.getTypedFilename(`all${frodo.utils.impex.titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Services`, `service`);
35
- if (file) {
36
- fileName = file;
37
- }
38
- frodo.utils.impex.saveJsonToFile(exportData, fileName);
39
- }
40
-
41
- /**
42
- * Export service to file
43
- * @param {string} serviceId service id
44
- * @param {string} file file name
45
- */
46
- export async function exportServiceToFile(serviceId, file, globalConfig = false) {
47
- const exportData = await frodo.service.exportService(serviceId, globalConfig);
48
- let fileName = frodo.utils.impex.getTypedFilename(serviceId, `service`);
49
- if (file) {
50
- fileName = file;
51
- }
52
- frodo.utils.impex.saveJsonToFile(exportData, fileName);
53
- }
54
-
55
- /**
56
- * Export all services to separate files
57
- */
58
- export async function exportServicesToFiles(globalConfig = false) {
59
- debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);
60
- const services = await frodo.service.getFullServices(globalConfig);
61
- for (const service of services) {
62
- const fileName = frodo.utils.impex.getTypedFilename(service._type._id, `service`);
63
- const exportData = frodo.service.createServiceExportTemplate();
64
- exportData.service[service._type._id] = service;
65
- debugMessage(`cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`);
66
- frodo.utils.impex.saveJsonToFile(exportData, fileName);
67
- }
68
- debugMessage(`cli.ServiceOps.exportServicesToFiles: end.`);
69
- }
70
-
71
- /**
72
- * Import a service from file
73
- * @param {string} serviceId service id/name
74
- * @param {string} file import file name
75
- * @param {boolean} clean remove existing service
76
- */
77
- export async function importServiceFromFile(serviceId, file, clean, globalConfig = false) {
78
- debugMessage(`cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`);
79
- const verbose = state.getVerbose();
80
- fs.readFile(file, 'utf8', async (err, data) => {
81
- if (err) throw err;
82
- const importData = JSON.parse(data);
83
- if (importData && importData.service[serviceId]) {
84
- if (!verbose) showSpinner(`Importing ${serviceId}...`);
85
- try {
86
- if (verbose) showSpinner(`Importing ${serviceId}...`);
87
- await frodo.service.importService(serviceId, importData, clean, globalConfig);
88
- succeedSpinner(`Imported ${serviceId}.`);
89
- } catch (importError) {
90
- var _importError$response, _importError$response2, _importError$response3, _importError$response4;
91
- const message = (_importError$response = importError.response) === null || _importError$response === void 0 ? void 0 : (_importError$response2 = _importError$response.data) === null || _importError$response2 === void 0 ? void 0 : _importError$response2.message;
92
- const detail = (_importError$response3 = importError.response) === null || _importError$response3 === void 0 ? void 0 : (_importError$response4 = _importError$response3.data) === null || _importError$response4 === void 0 ? void 0 : _importError$response4.detail;
93
- if (verbose) showSpinner(`Importing ${serviceId}...`);
94
- failSpinner(`${detail ? message + ' - ' + detail : message}`);
95
- }
96
- } else {
97
- showSpinner(`Importing ${serviceId}...`);
98
- failSpinner(`${serviceId} not found!`);
99
- }
100
- });
101
- debugMessage(`cli.ServiceOps.importServiceFromFile: end [serviceId=${serviceId}, file=${file}]`);
102
- }
103
-
104
- /**
105
- * Import first service from file
106
- * @param {string} file import file name
107
- * @param {boolean} clean remove existing service
108
- */
109
- export async function importFirstServiceFromFile(file, clean, globalConfig = false) {
110
- debugMessage(`cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`);
111
- const verbose = state.getVerbose();
112
- fs.readFile(file, 'utf8', async (err, data) => {
113
- if (err) throw err;
114
- const importData = JSON.parse(data);
115
- if (importData && Object.keys(importData.service).length) {
116
- const serviceId = Object.keys(importData.service)[0];
117
- if (!verbose) showSpinner(`Importing ${serviceId}...`);
118
- try {
119
- if (verbose) showSpinner(`Importing ${serviceId}...`);
120
- await frodo.service.importService(serviceId, importData, clean, globalConfig);
121
- succeedSpinner(`Imported ${serviceId}.`);
122
- } catch (importError) {
123
- var _importError$response5, _importError$response6, _importError$response7, _importError$response8;
124
- const message = (_importError$response5 = importError.response) === null || _importError$response5 === void 0 ? void 0 : (_importError$response6 = _importError$response5.data) === null || _importError$response6 === void 0 ? void 0 : _importError$response6.message;
125
- const detail = (_importError$response7 = importError.response) === null || _importError$response7 === void 0 ? void 0 : (_importError$response8 = _importError$response7.data) === null || _importError$response8 === void 0 ? void 0 : _importError$response8.detail;
126
- if (verbose) showSpinner(`Importing ${serviceId}...`);
127
- failSpinner(`${detail ? message + ' - ' + detail : message}`);
128
- }
129
- } else {
130
- showSpinner(`Importing service...`);
131
- failSpinner(`No service found in ${file}!`);
132
- }
133
- debugMessage(`cli.ServiceOps.importFirstServiceFromFile: end [file=${file}]`);
134
- });
135
- }
136
-
137
- /**
138
- * Import services from file
139
- * @param {String} file file name
140
- * @param {boolean} clean remove existing service
141
- */
142
- export async function importServicesFromFile(file, clean, globalConfig = false) {
143
- debugMessage(`cli.ServiceOps.importServiceFromFile: start [file=${file}]`);
144
- fs.readFile(file, 'utf8', async (err, data) => {
145
- if (err) throw err;
146
- debugMessage(`cli.ServiceOps.importServiceFromFile: importing ${file}`);
147
- const importData = JSON.parse(data);
148
- try {
149
- await frodo.service.importServices(importData, clean, globalConfig);
150
- } catch (error) {
151
- printMessage(`${error.message}`, 'error');
152
- printMessage(error.response.status, 'error');
153
- }
154
- debugMessage(`cli.ServiceOps.importServiceFromFile: end [file=${file}]`);
155
- });
156
- }
157
-
158
- /**
159
- * Import all services from separate files
160
- * @param {boolean} clean remove existing service
161
- */
162
- export async function importServicesFromFiles(clean, globalConfig = false) {
163
- debugMessage(`cli.ServiceOps.importServicesFromFiles: start`);
164
- const names = fs.readdirSync(frodo.utils.impex.getWorkingDirectory());
165
- const agentFiles = names.filter(name => name.toLowerCase().endsWith('.service.json'));
166
- for (const file of agentFiles) {
167
- await importServicesFromFile(file, clean, globalConfig);
168
- }
169
- debugMessage(`cli.ServiceOps.importServicesFromFiles: end`);
170
- }
171
-
172
- /**
173
- * Delete a service by id/name
174
- * @param {string} serviceId Reference to the service to delete
175
- */
176
- export async function deleteService(serviceId, globalConfig = false) {
177
- try {
178
- await frodo.service.deleteFullService(serviceId, globalConfig);
179
- } catch (error) {
180
- var _error$response, _error$response$data;
181
- const message = (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.message;
182
- printMessage(`Delete service '${serviceId}': ${message}`, 'error');
183
- }
184
- }
185
-
186
- /**
187
- * Delete all services
188
- */
189
- export async function deleteServices(globalConfig = false) {
190
- await frodo.service.deleteFullServices(globalConfig);
191
- }
192
- //# sourceMappingURL=ServiceOps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServiceOps.js","names":["frodo","state","fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","listServices","long","globalConfig","services","service","getListOfServices","sort","a","b","_id","localeCompare","table","push","name","toString","error","stack","exportServicesToFile","file","exportData","exportServices","fileName","utils","impex","getTypedFilename","titleCase","helper","getRealmName","getRealm","saveJsonToFile","exportServiceToFile","serviceId","exportService","exportServicesToFiles","getFullServices","_type","createServiceExportTemplate","importServiceFromFile","clean","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importService","importError","_importError$response","_importError$response2","_importError$response3","_importError$response4","message","response","detail","importFirstServiceFromFile","Object","keys","length","_importError$response5","_importError$response6","_importError$response7","_importError$response8","importServicesFromFile","importServices","status","importServicesFromFiles","names","readdirSync","getWorkingDirectory","agentFiles","filter","toLowerCase","endsWith","deleteService","deleteFullService","_error$response","_error$response$data","deleteServices","deleteFullServices"],"sources":["ops/ServiceOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport type { ServiceExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\n\n/**\n * List services\n */\nexport async function listServices(long = false, globalConfig = false) {\n try {\n const services = await frodo.service.getListOfServices(globalConfig);\n services.sort((a, b) => a._id.localeCompare(b._id));\n if (long) {\n const table = createTable(['Service Id', 'Service Name']);\n for (const service of services) {\n table.push([service._id, service.name]);\n }\n printMessage(table.toString(), 'data');\n } else {\n for (const service of services) {\n printMessage(`${service._id}`, 'data');\n }\n }\n } catch (error) {\n printMessage(`Error listing agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * Export all services to file\n * @param {string} file file name\n */\nexport async function exportServicesToFile(file, globalConfig = false) {\n const exportData = await frodo.service.exportServices(globalConfig);\n let fileName = frodo.utils.impex.getTypedFilename(\n `all${frodo.utils.impex.titleCase(\n frodo.helper.utils.getRealmName(state.getRealm())\n )}Services`,\n `service`\n );\n if (file) {\n fileName = file;\n }\n frodo.utils.impex.saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export service to file\n * @param {string} serviceId service id\n * @param {string} file file name\n */\nexport async function exportServiceToFile(\n serviceId: string,\n file: string,\n globalConfig = false\n) {\n const exportData = await frodo.service.exportService(serviceId, globalConfig);\n let fileName = frodo.utils.impex.getTypedFilename(serviceId, `service`);\n if (file) {\n fileName = file;\n }\n frodo.utils.impex.saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all services to separate files\n */\nexport async function exportServicesToFiles(globalConfig = false) {\n debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);\n const services = await frodo.service.getFullServices(globalConfig);\n for (const service of services) {\n const fileName = frodo.utils.impex.getTypedFilename(\n service._type._id,\n `service`\n );\n const exportData = frodo.service.createServiceExportTemplate();\n exportData.service[service._type._id] = service;\n debugMessage(\n `cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`\n );\n frodo.utils.impex.saveJsonToFile(exportData, fileName);\n }\n debugMessage(`cli.ServiceOps.exportServicesToFiles: end.`);\n}\n\n/**\n * Import a service from file\n * @param {string} serviceId service id/name\n * @param {string} file import file name\n * @param {boolean} clean remove existing service\n */\nexport async function importServiceFromFile(\n serviceId: string,\n file: string,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`\n );\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (importData && importData.service[serviceId]) {\n if (!verbose) showSpinner(`Importing ${serviceId}...`);\n try {\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n await frodo.service.importService(\n serviceId,\n importData,\n clean,\n globalConfig\n );\n succeedSpinner(`Imported ${serviceId}.`);\n } catch (importError) {\n const message = importError.response?.data?.message;\n const detail = importError.response?.data?.detail;\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${detail ? message + ' - ' + detail : message}`);\n }\n } else {\n showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${serviceId} not found!`);\n }\n });\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: end [serviceId=${serviceId}, file=${file}]`\n );\n}\n\n/**\n * Import first service from file\n * @param {string} file import file name\n * @param {boolean} clean remove existing service\n */\nexport async function importFirstServiceFromFile(\n file: string,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`\n );\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (importData && Object.keys(importData.service).length) {\n const serviceId = Object.keys(importData.service)[0];\n if (!verbose) showSpinner(`Importing ${serviceId}...`);\n try {\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n await frodo.service.importService(\n serviceId,\n importData,\n clean,\n globalConfig\n );\n succeedSpinner(`Imported ${serviceId}.`);\n } catch (importError) {\n const message = importError.response?.data?.message;\n const detail = importError.response?.data?.detail;\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${detail ? message + ' - ' + detail : message}`);\n }\n } else {\n showSpinner(`Importing service...`);\n failSpinner(`No service found in ${file}!`);\n }\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: end [file=${file}]`\n );\n });\n}\n\n/**\n * Import services from file\n * @param {String} file file name\n * @param {boolean} clean remove existing service\n */\nexport async function importServicesFromFile(\n file: string,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(`cli.ServiceOps.importServiceFromFile: start [file=${file}]`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.ServiceOps.importServiceFromFile: importing ${file}`);\n const importData = JSON.parse(data) as ServiceExportInterface;\n try {\n await frodo.service.importServices(importData, clean, globalConfig);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.ServiceOps.importServiceFromFile: end [file=${file}]`);\n });\n}\n\n/**\n * Import all services from separate files\n * @param {boolean} clean remove existing service\n */\nexport async function importServicesFromFiles(\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(`cli.ServiceOps.importServicesFromFiles: start`);\n const names = fs.readdirSync(frodo.utils.impex.getWorkingDirectory());\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.service.json')\n );\n for (const file of agentFiles) {\n await importServicesFromFile(file, clean, globalConfig);\n }\n debugMessage(`cli.ServiceOps.importServicesFromFiles: end`);\n}\n\n/**\n * Delete a service by id/name\n * @param {string} serviceId Reference to the service to delete\n */\nexport async function deleteService(serviceId: string, globalConfig = false) {\n try {\n await frodo.service.deleteFullService(serviceId, globalConfig);\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete service '${serviceId}': ${message}`, 'error');\n }\n}\n\n/**\n * Delete all services\n */\nexport async function deleteServices(globalConfig = false) {\n await frodo.service.deleteFullServices(globalConfig);\n}\n"],"mappings":"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"}
@@ -1,345 +0,0 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
- import fs from 'fs';
3
- import { printMessage, createTable, createProgressIndicator, updateProgressIndicator, stopProgressIndicator } from '../utils/Console';
4
- import { saveToFile, getTypedFilename } from '../utils/ExportImportUtils';
5
- /**
6
- * Get a one-line description of the theme
7
- * @param {ThemeSkeleton} themeObj theme object to describe
8
- * @returns {string} a one-line description
9
- */
10
- export function getOneLineDescription(themeObj) {
11
- const description = `[${themeObj._id['brightCyan']}] ${themeObj.name}${themeObj.linkedTrees ? ' (' + themeObj.linkedTrees.join(', ')['brightCyan'] + ')' : ''}`;
12
- return description;
13
- }
14
-
15
- /**
16
- * Get markdown table header
17
- * @returns {string} markdown table header
18
- */
19
- export function getTableHeaderMd() {
20
- let markdown = '';
21
- markdown += '| Name | Linked Journey(s) | Id |\n';
22
- markdown += '| ---- | ----------------- | ---|';
23
- return markdown;
24
- }
25
-
26
- /**
27
- * Get a table-row of the theme in markdown
28
- * @param {ThemeSkeleton} themeObj theme object to describe
29
- * @returns {string} a table-row of the theme in markdown
30
- */
31
- export function getTableRowMd(themeObj) {
32
- const row = `| ${themeObj.name} | ${themeObj.linkedTrees ? themeObj.linkedTrees.join(', ') : ''} | \`${themeObj._id}\` |`;
33
- return row;
34
- }
35
-
36
- /**
37
- * List all the themes
38
- * @param {boolean} long Long version, more fields
39
- */
40
- export async function listThemes(long = false) {
41
- const themeList = await frodo.theme.getThemes();
42
- themeList.sort((a, b) => a.name.localeCompare(b.name));
43
- if (!long) {
44
- themeList.forEach(theme => {
45
- printMessage(`${theme.isDefault ? theme.name['brightCyan'] : theme.name}`, 'data');
46
- });
47
- } else {
48
- const table = createTable(['Name'['brightCyan'], 'Id'['brightCyan'], 'Default'['brightCyan']]);
49
- themeList.forEach(theme => {
50
- table.push([`${theme.name}`, `${theme._id}`, `${theme.isDefault ? 'Yes'['brightGreen'] : ''}`]);
51
- });
52
- printMessage(table.toString(), 'data');
53
- }
54
- }
55
-
56
- /**
57
- * Export theme by name to file
58
- * @param {String} name theme name
59
- * @param {String} file optional export file name
60
- */
61
- export async function exportThemeByName(name, file) {
62
- let fileName = getTypedFilename(name, 'theme');
63
- if (file) {
64
- fileName = file;
65
- }
66
- createProgressIndicator('determinate', 1, `Exporting ${name}`);
67
- try {
68
- const themeData = await frodo.theme.getThemeByName(name);
69
- updateProgressIndicator(`Writing file ${fileName}`);
70
- saveToFile('theme', [themeData], '_id', fileName);
71
- stopProgressIndicator(`Successfully exported theme ${name}.`);
72
- } catch (error) {
73
- stopProgressIndicator(`${error.message}`);
74
- printMessage(`${error.message}`, 'error');
75
- }
76
- }
77
-
78
- /**
79
- * Export theme by uuid to file
80
- * @param {String} id theme uuid
81
- * @param {String} file optional export file name
82
- */
83
- export async function exportThemeById(id, file) {
84
- let fileName = getTypedFilename(id, 'theme');
85
- if (file) {
86
- fileName = file;
87
- }
88
- createProgressIndicator('determinate', 1, `Exporting ${id}`);
89
- try {
90
- const themeData = await frodo.theme.getTheme(id);
91
- updateProgressIndicator(`Writing file ${fileName}`);
92
- saveToFile('theme', [themeData], '_id', fileName);
93
- stopProgressIndicator(`Successfully exported theme ${id}.`);
94
- } catch (error) {
95
- stopProgressIndicator(`${error.message}`);
96
- printMessage(`${error.message}`, 'error');
97
- }
98
- }
99
-
100
- /**
101
- * Export all themes to file
102
- * @param {String} file optional export file name
103
- */
104
- export async function exportThemesToFile(file) {
105
- let fileName = getTypedFilename(`all${frodo.utils.impex.getRealmString()}Themes`, 'theme');
106
- if (file) {
107
- fileName = file;
108
- }
109
- const allThemesData = await frodo.theme.getThemes();
110
- createProgressIndicator('determinate', allThemesData.length, 'Exporting themes');
111
- for (const themeData of allThemesData) {
112
- updateProgressIndicator(`Exporting theme ${themeData.name}`);
113
- }
114
- saveToFile('theme', allThemesData, '_id', fileName);
115
- stopProgressIndicator(`${allThemesData.length} themes exported to ${fileName}.`);
116
- }
117
-
118
- /**
119
- * Export all themes to separate files
120
- */
121
- export async function exportThemesToFiles() {
122
- const allThemesData = await frodo.theme.getThemes();
123
- createProgressIndicator('determinate', allThemesData.length, 'Exporting themes');
124
- for (const themeData of allThemesData) {
125
- updateProgressIndicator(`Writing theme ${themeData.name}`);
126
- const fileName = getTypedFilename(themeData.name, 'theme');
127
- saveToFile('theme', themeData, '_id', fileName);
128
- }
129
- stopProgressIndicator(`${allThemesData.length} themes exported.`);
130
- }
131
-
132
- /**
133
- * Import theme by name from file
134
- * @param {String} name theme name
135
- * @param {String} file import file name
136
- */
137
- export async function importThemeByName(name, file) {
138
- fs.readFile(file, 'utf8', async (err, data) => {
139
- if (err) throw err;
140
- const themeData = JSON.parse(data);
141
- if (frodo.utils.impex.validateImport(themeData.meta)) {
142
- createProgressIndicator('determinate', 1, 'Importing theme...');
143
- let found = false;
144
- for (const id in themeData.theme) {
145
- if ({}.hasOwnProperty.call(themeData.theme, id)) {
146
- if (themeData.theme[id].name === name) {
147
- found = true;
148
- updateProgressIndicator(`Importing ${themeData.theme[id].name}`);
149
- try {
150
- await frodo.theme.putThemeByName(name, themeData.theme[id]);
151
- stopProgressIndicator(`Successfully imported theme ${name}.`);
152
- } catch (error) {
153
- stopProgressIndicator(`Error importing theme ${themeData.theme[id].name}: ${error.message}`);
154
- printMessage(`Error importing theme ${themeData.theme[id].name}: ${error.message}`, 'error');
155
- }
156
- break;
157
- }
158
- }
159
- }
160
- if (!found) {
161
- stopProgressIndicator(`Theme ${name} not found!`);
162
- }
163
- } else {
164
- printMessage('Import validation failed...', 'error');
165
- }
166
- });
167
- }
168
-
169
- /**
170
- * Import theme by uuid from file
171
- * @param {String} id theme uuid
172
- * @param {String} file import file name
173
- */
174
- export async function importThemeById(id, file) {
175
- fs.readFile(file, 'utf8', async (err, data) => {
176
- if (err) throw err;
177
- const themeData = JSON.parse(data);
178
- if (frodo.utils.impex.validateImport(themeData.meta)) {
179
- createProgressIndicator('determinate', 1, 'Importing theme...');
180
- let found = false;
181
- for (const themeId in themeData.theme) {
182
- if ({}.hasOwnProperty.call(themeData.theme, themeId)) {
183
- if (themeId === id) {
184
- found = true;
185
- updateProgressIndicator(`Importing ${themeData.theme[themeId]._id}`);
186
- try {
187
- await frodo.theme.putTheme(themeId, themeData.theme[themeId]);
188
- stopProgressIndicator(`Successfully imported theme ${id}.`);
189
- } catch (error) {
190
- stopProgressIndicator(`Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`);
191
- printMessage(`Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`, 'error');
192
- }
193
- break;
194
- }
195
- }
196
- }
197
- if (!found) {
198
- stopProgressIndicator(`Theme ${id} not found!`);
199
- }
200
- } else {
201
- printMessage('Import validation failed...', 'error');
202
- }
203
- });
204
- }
205
-
206
- /**
207
- * Import all themes from single file
208
- * @param {String} file import file name
209
- */
210
- export async function importThemesFromFile(file) {
211
- fs.readFile(file, 'utf8', (err, data) => {
212
- if (err) throw err;
213
- const fileData = JSON.parse(data);
214
- if (frodo.utils.impex.validateImport(fileData.meta)) {
215
- createProgressIndicator('determinate', Object.keys(fileData.theme).length, 'Importing themes...');
216
- for (const id in fileData.theme) {
217
- if ({}.hasOwnProperty.call(fileData.theme, id)) {
218
- updateProgressIndicator(`Importing ${fileData.theme[id].name}`);
219
- }
220
- }
221
- frodo.theme.putThemes(fileData.theme).then(result => {
222
- if (result == null) {
223
- stopProgressIndicator(`Error importing ${Object.keys(fileData.theme).length} themes!`);
224
- printMessage(`Error importing ${Object.keys(fileData.theme).length} themes from ${file}`, 'error');
225
- } else {
226
- stopProgressIndicator(`Successfully imported ${Object.keys(fileData.theme).length} themes.`);
227
- }
228
- });
229
- } else {
230
- printMessage('Import validation failed...', 'error');
231
- }
232
- });
233
- }
234
-
235
- /**
236
- * Import themes from separate files
237
- */
238
- export async function importThemesFromFiles() {
239
- const names = fs.readdirSync('.');
240
- const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.theme.json'));
241
- createProgressIndicator('determinate', jsonFiles.length, 'Importing themes...');
242
- let fileData = null;
243
- let count = 0;
244
- let total = 0;
245
- let files = 0;
246
- for (const file of jsonFiles) {
247
- const data = fs.readFileSync(file, 'utf8');
248
- fileData = JSON.parse(data);
249
- if (frodo.utils.impex.validateImport(fileData.meta)) {
250
- count = Object.keys(fileData.theme).length;
251
- // eslint-disable-next-line no-await-in-loop
252
- const result = await frodo.theme.putThemes(fileData.theme);
253
- if (result == null) {
254
- printMessage(`Error importing ${count} themes from ${file}`, 'error');
255
- } else {
256
- files += 1;
257
- total += count;
258
- updateProgressIndicator(`Imported ${count} theme(s) from ${file}`);
259
- }
260
- } else {
261
- printMessage(`Validation of ${file} failed!`, 'error');
262
- }
263
- }
264
- stopProgressIndicator(`Finished importing ${total} theme(s) from ${files} file(s).`);
265
- }
266
-
267
- /**
268
- * Import first theme from file
269
- * @param {String} file import file name
270
- */
271
- export async function importFirstThemeFromFile(file) {
272
- fs.readFile(file, 'utf8', (err, data) => {
273
- if (err) throw err;
274
- const themeData = JSON.parse(data);
275
- if (frodo.utils.impex.validateImport(themeData.meta)) {
276
- createProgressIndicator('determinate', 1, 'Importing theme...');
277
- for (const id in themeData.theme) {
278
- if ({}.hasOwnProperty.call(themeData.theme, id)) {
279
- updateProgressIndicator(`Importing ${themeData.theme[id].name}`);
280
- frodo.theme.putTheme(id, themeData.theme[id]).then(result => {
281
- if (result == null) {
282
- stopProgressIndicator(`Error importing theme ${themeData.theme[id].name}`);
283
- printMessage(`Error importing theme ${themeData.theme[id].name}`, 'error');
284
- } else {
285
- stopProgressIndicator(`Successfully imported theme ${themeData.theme[id].name}`);
286
- }
287
- });
288
- break;
289
- }
290
- }
291
- } else {
292
- printMessage('Import validation failed...', 'error');
293
- }
294
- });
295
- }
296
-
297
- /**
298
- * Delete theme by id
299
- * @param {String} id theme id
300
- */
301
- export async function deleteThemeCmd(id) {
302
- createProgressIndicator('indeterminate', undefined, `Deleting ${id}...`);
303
- try {
304
- await frodo.theme.deleteTheme(id);
305
- stopProgressIndicator(`Deleted ${id}.`, 'success');
306
- } catch (error) {
307
- stopProgressIndicator(`Error: ${error.message}`, 'fail');
308
- }
309
- }
310
-
311
- /**
312
- * Delete theme by name
313
- * @param {String} name theme name
314
- */
315
- export async function deleteThemeByNameCmd(name) {
316
- createProgressIndicator('indeterminate', undefined, `Deleting ${name}...`);
317
- try {
318
- await frodo.theme.deleteThemeByName(name);
319
- stopProgressIndicator(`Deleted ${name}.`, 'success');
320
- } catch (error) {
321
- stopProgressIndicator(`Error: ${error.message}`, 'fail');
322
- }
323
- }
324
-
325
- /**
326
- * Delete all themes
327
- */
328
- export async function deleteAllThemes() {
329
- createProgressIndicator('indeterminate', undefined, `Deleting all realm themes...`);
330
- try {
331
- await frodo.theme.deleteThemes();
332
- stopProgressIndicator(`Deleted all realm themes.`, 'success');
333
- } catch (error) {
334
- stopProgressIndicator(`Error: ${error.message}`, 'fail');
335
- }
336
- }
337
-
338
- /**
339
- * Delete all themes
340
- * @deprecated since version 0.14.0
341
- */
342
- export async function deleteThemesCmd() {
343
- return deleteAllThemes();
344
- }
345
- //# sourceMappingURL=ThemeOps.js.map