@rockcarver/frodo-cli 2.0.0-50 → 2.0.0-52

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 (386) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/esm/app.js +7 -2
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/_template/something-delete.js +1 -4
  5. package/esm/cli/_template/something-delete.js.map +1 -1
  6. package/esm/cli/_template/something-describe.js +1 -4
  7. package/esm/cli/_template/something-describe.js.map +1 -1
  8. package/esm/cli/_template/something-else-delete.js +1 -4
  9. package/esm/cli/_template/something-else-delete.js.map +1 -1
  10. package/esm/cli/_template/something-else-describe.js +1 -4
  11. package/esm/cli/_template/something-else-describe.js.map +1 -1
  12. package/esm/cli/_template/something-else-export.js +1 -4
  13. package/esm/cli/_template/something-else-export.js.map +1 -1
  14. package/esm/cli/_template/something-else-import.js +1 -4
  15. package/esm/cli/_template/something-else-import.js.map +1 -1
  16. package/esm/cli/_template/something-else-list.js +1 -4
  17. package/esm/cli/_template/something-else-list.js.map +1 -1
  18. package/esm/cli/_template/something-export.js +1 -4
  19. package/esm/cli/_template/something-export.js.map +1 -1
  20. package/esm/cli/_template/something-import.js +1 -4
  21. package/esm/cli/_template/something-import.js.map +1 -1
  22. package/esm/cli/_template/something-list.js +1 -4
  23. package/esm/cli/_template/something-list.js.map +1 -1
  24. package/esm/cli/_template/something-other-delete.js +1 -4
  25. package/esm/cli/_template/something-other-delete.js.map +1 -1
  26. package/esm/cli/_template/something-other-describe.js +1 -4
  27. package/esm/cli/_template/something-other-describe.js.map +1 -1
  28. package/esm/cli/_template/something-other-export.js +1 -4
  29. package/esm/cli/_template/something-other-export.js.map +1 -1
  30. package/esm/cli/_template/something-other-import.js +1 -4
  31. package/esm/cli/_template/something-other-import.js.map +1 -1
  32. package/esm/cli/_template/something-other-list.js +1 -4
  33. package/esm/cli/_template/something-other-list.js.map +1 -1
  34. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +4 -9
  35. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  36. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +47 -54
  37. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  38. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +1 -4
  39. package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -1
  40. package/esm/cli/admin/admin-federation-export.js +2 -5
  41. package/esm/cli/admin/admin-federation-export.js.map +1 -1
  42. package/esm/cli/admin/admin-federation-import.js +2 -5
  43. package/esm/cli/admin/admin-federation-import.js.map +1 -1
  44. package/esm/cli/admin/admin-federation-list.js +2 -5
  45. package/esm/cli/admin/admin-federation-list.js.map +1 -1
  46. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +2 -4
  47. package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -1
  48. package/esm/cli/admin/admin-get-access-token.js +1 -3
  49. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  50. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +5 -9
  51. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  52. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +5 -9
  53. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  54. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +5 -12
  55. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  56. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +5 -12
  57. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  58. package/esm/cli/admin/admin-list-static-user-mappings.js +4 -12
  59. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  60. package/esm/cli/admin/admin-remove-static-user-mapping.js +4 -9
  61. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  62. package/esm/cli/admin/admin-repair-org-model.js +5 -9
  63. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  64. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +5 -9
  65. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  66. package/esm/cli/admin/admin-show-generic-extension-attributes.js +5 -9
  67. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  68. package/esm/cli/admin/admin-train-auto-access-model.js +1 -3
  69. package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -1
  70. package/esm/cli/agent/agent-delete.js +9 -24
  71. package/esm/cli/agent/agent-delete.js.map +1 -1
  72. package/esm/cli/agent/agent-describe.js +1 -4
  73. package/esm/cli/agent/agent-describe.js.map +1 -1
  74. package/esm/cli/agent/agent-export.js +7 -7
  75. package/esm/cli/agent/agent-export.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-delete.js +8 -23
  77. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-describe.js +1 -4
  79. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  80. package/esm/cli/agent/agent-gateway-export.js +7 -7
  81. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  82. package/esm/cli/agent/agent-gateway-import.js +9 -8
  83. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  84. package/esm/cli/agent/agent-gateway-list.js +3 -5
  85. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  86. package/esm/cli/agent/agent-import.js +9 -8
  87. package/esm/cli/agent/agent-import.js.map +1 -1
  88. package/esm/cli/agent/agent-java-delete.js +8 -23
  89. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  90. package/esm/cli/agent/agent-java-describe.js +1 -4
  91. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  92. package/esm/cli/agent/agent-java-export.js +7 -7
  93. package/esm/cli/agent/agent-java-export.js.map +1 -1
  94. package/esm/cli/agent/agent-java-import.js +9 -8
  95. package/esm/cli/agent/agent-java-import.js.map +1 -1
  96. package/esm/cli/agent/agent-java-list.js +3 -5
  97. package/esm/cli/agent/agent-java-list.js.map +1 -1
  98. package/esm/cli/agent/agent-list.js +3 -5
  99. package/esm/cli/agent/agent-list.js.map +1 -1
  100. package/esm/cli/agent/agent-web-delete.js +8 -23
  101. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  102. package/esm/cli/agent/agent-web-describe.js +1 -4
  103. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  104. package/esm/cli/agent/agent-web-export.js +7 -7
  105. package/esm/cli/agent/agent-web-export.js.map +1 -1
  106. package/esm/cli/agent/agent-web-import.js +9 -8
  107. package/esm/cli/agent/agent-web-import.js.map +1 -1
  108. package/esm/cli/agent/agent-web-list.js +3 -5
  109. package/esm/cli/agent/agent-web-list.js.map +1 -1
  110. package/esm/cli/app/app-delete.js +5 -8
  111. package/esm/cli/app/app-delete.js.map +1 -1
  112. package/esm/cli/app/app-describe.js +1 -4
  113. package/esm/cli/app/app-describe.js.map +1 -1
  114. package/esm/cli/app/app-export.js +7 -10
  115. package/esm/cli/app/app-export.js.map +1 -1
  116. package/esm/cli/app/app-import.js +9 -12
  117. package/esm/cli/app/app-import.js.map +1 -1
  118. package/esm/cli/app/app-list.js +3 -5
  119. package/esm/cli/app/app-list.js.map +1 -1
  120. package/esm/cli/authn/authn-describe.js +1 -4
  121. package/esm/cli/authn/authn-describe.js.map +1 -1
  122. package/esm/cli/authn/authn-export.js +1 -4
  123. package/esm/cli/authn/authn-export.js.map +1 -1
  124. package/esm/cli/authn/authn-import.js +1 -4
  125. package/esm/cli/authn/authn-import.js.map +1 -1
  126. package/esm/cli/authz/authz-policy-delete.js +1 -4
  127. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  128. package/esm/cli/authz/authz-policy-describe.js +1 -4
  129. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  130. package/esm/cli/authz/authz-policy-export.js +1 -4
  131. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  132. package/esm/cli/authz/authz-policy-import.js +1 -4
  133. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  134. package/esm/cli/authz/authz-policy-list.js +1 -4
  135. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  136. package/esm/cli/authz/authz-set-delete.js +1 -4
  137. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  138. package/esm/cli/authz/authz-set-describe.js +1 -4
  139. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  140. package/esm/cli/authz/authz-set-export.js +1 -4
  141. package/esm/cli/authz/authz-set-export.js.map +1 -1
  142. package/esm/cli/authz/authz-set-import.js +1 -4
  143. package/esm/cli/authz/authz-set-import.js.map +1 -1
  144. package/esm/cli/authz/authz-set-list.js +1 -4
  145. package/esm/cli/authz/authz-set-list.js.map +1 -1
  146. package/esm/cli/authz/authz-type-delete.js +1 -4
  147. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  148. package/esm/cli/authz/authz-type-describe.js +1 -4
  149. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  150. package/esm/cli/authz/authz-type-export.js +1 -4
  151. package/esm/cli/authz/authz-type-export.js.map +1 -1
  152. package/esm/cli/authz/authz-type-import.js +1 -4
  153. package/esm/cli/authz/authz-type-import.js.map +1 -1
  154. package/esm/cli/authz/authz-type-list.js +1 -4
  155. package/esm/cli/authz/authz-type-list.js.map +1 -1
  156. package/esm/cli/config/config-delete.js +1 -4
  157. package/esm/cli/config/config-delete.js.map +1 -1
  158. package/esm/cli/config/config-describe.js +1 -4
  159. package/esm/cli/config/config-describe.js.map +1 -1
  160. package/esm/cli/config/config-export.js +2 -4
  161. package/esm/cli/config/config-export.js.map +1 -1
  162. package/esm/cli/config/config-import.js +2 -4
  163. package/esm/cli/config/config-import.js.map +1 -1
  164. package/esm/cli/config/config-list.js +1 -4
  165. package/esm/cli/config/config-list.js.map +1 -1
  166. package/esm/cli/conn/conn-delete.js +7 -1
  167. package/esm/cli/conn/conn-delete.js.map +1 -1
  168. package/esm/cli/conn/conn-save.js +10 -12
  169. package/esm/cli/conn/conn-save.js.map +1 -1
  170. package/esm/cli/email/email-template-export.js +8 -7
  171. package/esm/cli/email/email-template-export.js.map +1 -1
  172. package/esm/cli/email/email-template-import.js +9 -8
  173. package/esm/cli/email/email-template-import.js.map +1 -1
  174. package/esm/cli/email/email-template-list.js +3 -5
  175. package/esm/cli/email/email-template-list.js.map +1 -1
  176. package/esm/cli/esv/esv-apply.js +1 -3
  177. package/esm/cli/esv/esv-apply.js.map +1 -1
  178. package/esm/cli/esv/esv-secret-create.js +2 -5
  179. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  180. package/esm/cli/esv/esv-secret-delete.js +2 -5
  181. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  182. package/esm/cli/esv/esv-secret-describe.js +2 -5
  183. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  184. package/esm/cli/esv/esv-secret-export.js +3 -5
  185. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  186. package/esm/cli/esv/esv-secret-import.js +1 -4
  187. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  188. package/esm/cli/esv/esv-secret-list.js +2 -5
  189. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  190. package/esm/cli/esv/esv-secret-set.js +2 -5
  191. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  192. package/esm/cli/esv/esv-secret-version-activate.js +2 -5
  193. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  194. package/esm/cli/esv/esv-secret-version-create.js +2 -5
  195. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  196. package/esm/cli/esv/esv-secret-version-deactivate.js +2 -5
  197. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  198. package/esm/cli/esv/esv-secret-version-delete.js +2 -5
  199. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  200. package/esm/cli/esv/esv-secret-version-list.js +2 -5
  201. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  202. package/esm/cli/esv/esv-variable-create.js +2 -5
  203. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  204. package/esm/cli/esv/esv-variable-delete.js +2 -5
  205. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  206. package/esm/cli/esv/esv-variable-describe.js +2 -5
  207. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  208. package/esm/cli/esv/esv-variable-export.js +3 -5
  209. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  210. package/esm/cli/esv/esv-variable-import.js +1 -4
  211. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  212. package/esm/cli/esv/esv-variable-list.js +2 -5
  213. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  214. package/esm/cli/esv/esv-variable-set.js +2 -5
  215. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  216. package/esm/cli/idm/idm-count.js +3 -5
  217. package/esm/cli/idm/idm-count.js.map +1 -1
  218. package/esm/cli/idm/idm-export.js +8 -7
  219. package/esm/cli/idm/idm-export.js.map +1 -1
  220. package/esm/cli/idm/idm-import.js +10 -8
  221. package/esm/cli/idm/idm-import.js.map +1 -1
  222. package/esm/cli/idm/idm-list.js +3 -5
  223. package/esm/cli/idm/idm-list.js.map +1 -1
  224. package/esm/cli/idp/idp-export.js +8 -7
  225. package/esm/cli/idp/idp-export.js.map +1 -1
  226. package/esm/cli/idp/idp-import.js +10 -8
  227. package/esm/cli/idp/idp-import.js.map +1 -1
  228. package/esm/cli/idp/idp-list.js +4 -5
  229. package/esm/cli/idp/idp-list.js.map +1 -1
  230. package/esm/cli/info/info.js +1 -3
  231. package/esm/cli/info/info.js.map +1 -1
  232. package/esm/cli/journey/journey-delete.js +7 -10
  233. package/esm/cli/journey/journey-delete.js.map +1 -1
  234. package/esm/cli/journey/journey-describe.js +16 -12
  235. package/esm/cli/journey/journey-describe.js.map +1 -1
  236. package/esm/cli/journey/journey-disable.js +1 -4
  237. package/esm/cli/journey/journey-disable.js.map +1 -1
  238. package/esm/cli/journey/journey-enable.js +1 -4
  239. package/esm/cli/journey/journey-enable.js.map +1 -1
  240. package/esm/cli/journey/journey-export.js +7 -7
  241. package/esm/cli/journey/journey-export.js.map +1 -1
  242. package/esm/cli/journey/journey-import.js +9 -8
  243. package/esm/cli/journey/journey-import.js.map +1 -1
  244. package/esm/cli/journey/journey-list.js +4 -5
  245. package/esm/cli/journey/journey-list.js.map +1 -1
  246. package/esm/cli/journey/journey-prune.js +4 -5
  247. package/esm/cli/journey/journey-prune.js.map +1 -1
  248. package/esm/cli/log/log-fetch.js +7 -5
  249. package/esm/cli/log/log-fetch.js.map +1 -1
  250. package/esm/cli/log/log-key-delete.js +1 -4
  251. package/esm/cli/log/log-key-delete.js.map +1 -1
  252. package/esm/cli/log/log-key-describe.js +1 -4
  253. package/esm/cli/log/log-key-describe.js.map +1 -1
  254. package/esm/cli/log/log-key-list.js +1 -4
  255. package/esm/cli/log/log-key-list.js.map +1 -1
  256. package/esm/cli/log/log-list.js +13 -6
  257. package/esm/cli/log/log-list.js.map +1 -1
  258. package/esm/cli/log/log-tail.js +7 -5
  259. package/esm/cli/log/log-tail.js.map +1 -1
  260. package/esm/cli/oauth/oauth-client-delete.js +1 -4
  261. package/esm/cli/oauth/oauth-client-delete.js.map +1 -1
  262. package/esm/cli/oauth/oauth-client-describe.js +1 -4
  263. package/esm/cli/oauth/oauth-client-describe.js.map +1 -1
  264. package/esm/cli/oauth/oauth-client-export.js +7 -10
  265. package/esm/cli/oauth/oauth-client-export.js.map +1 -1
  266. package/esm/cli/oauth/oauth-client-import.js +9 -12
  267. package/esm/cli/oauth/oauth-client-import.js.map +1 -1
  268. package/esm/cli/oauth/oauth-client-list.js +3 -5
  269. package/esm/cli/oauth/oauth-client-list.js.map +1 -1
  270. package/esm/cli/realm/realm-add-custom-domain.js +2 -4
  271. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  272. package/esm/cli/realm/realm-describe.js +1 -3
  273. package/esm/cli/realm/realm-describe.js.map +1 -1
  274. package/esm/cli/realm/realm-list.js +1 -4
  275. package/esm/cli/realm/realm-list.js.map +1 -1
  276. package/esm/cli/realm/realm-remove-custom-domain.js +1 -3
  277. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  278. package/esm/cli/saml/saml-cot-export.js +2 -4
  279. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  280. package/esm/cli/saml/saml-cot-import.js +2 -4
  281. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  282. package/esm/cli/saml/saml-cot-list.js +2 -4
  283. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  284. package/esm/cli/saml/saml-delete.js +1 -3
  285. package/esm/cli/saml/saml-delete.js.map +1 -1
  286. package/esm/cli/saml/saml-describe.js +4 -5
  287. package/esm/cli/saml/saml-describe.js.map +1 -1
  288. package/esm/cli/saml/saml-export.js +8 -7
  289. package/esm/cli/saml/saml-export.js.map +1 -1
  290. package/esm/cli/saml/saml-import.js +10 -8
  291. package/esm/cli/saml/saml-import.js.map +1 -1
  292. package/esm/cli/saml/saml-list.js +4 -5
  293. package/esm/cli/saml/saml-list.js.map +1 -1
  294. package/esm/cli/saml/saml-metadata-export.js +12 -6
  295. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  296. package/esm/cli/script/script-delete.js +12 -8
  297. package/esm/cli/script/script-delete.js.map +1 -1
  298. package/esm/cli/script/script-describe.js +1 -4
  299. package/esm/cli/script/script-describe.js.map +1 -1
  300. package/esm/cli/script/script-export.js +10 -17
  301. package/esm/cli/script/script-export.js.map +1 -1
  302. package/esm/cli/script/script-import.js +21 -18
  303. package/esm/cli/script/script-import.js.map +1 -1
  304. package/esm/cli/script/script-list.js +2 -4
  305. package/esm/cli/script/script-list.js.map +1 -1
  306. package/esm/cli/service/service-delete.js +5 -6
  307. package/esm/cli/service/service-delete.js.map +1 -1
  308. package/esm/cli/service/service-export.js +7 -7
  309. package/esm/cli/service/service-export.js.map +1 -1
  310. package/esm/cli/service/service-import.js +9 -8
  311. package/esm/cli/service/service-import.js.map +1 -1
  312. package/esm/cli/service/service-list.js +3 -5
  313. package/esm/cli/service/service-list.js.map +1 -1
  314. package/esm/cli/shell/shell.js +3 -7
  315. package/esm/cli/shell/shell.js.map +1 -1
  316. package/esm/cli/theme/theme-delete.js +9 -8
  317. package/esm/cli/theme/theme-delete.js.map +1 -1
  318. package/esm/cli/theme/theme-export.js +10 -8
  319. package/esm/cli/theme/theme-export.js.map +1 -1
  320. package/esm/cli/theme/theme-import.js +12 -9
  321. package/esm/cli/theme/theme-import.js.map +1 -1
  322. package/esm/cli/theme/theme-list.js +4 -5
  323. package/esm/cli/theme/theme-list.js.map +1 -1
  324. package/esm/ops/AdminOps.js +790 -3
  325. package/esm/ops/AdminOps.js.map +1 -1
  326. package/esm/ops/AgentOps.js +638 -305
  327. package/esm/ops/AgentOps.js.map +1 -1
  328. package/esm/ops/ApplicationOps.js +91 -79
  329. package/esm/ops/ApplicationOps.js.map +1 -1
  330. package/esm/ops/AuthenticateOps.js +23 -0
  331. package/esm/ops/AuthenticateOps.js.map +1 -0
  332. package/esm/ops/AuthenticationSettingsOps.js +22 -23
  333. package/esm/ops/AuthenticationSettingsOps.js.map +1 -1
  334. package/esm/ops/CirclesOfTrustOps.js +52 -55
  335. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  336. package/esm/ops/ConfigOps.js +100 -84
  337. package/esm/ops/ConfigOps.js.map +1 -1
  338. package/esm/ops/ConnectionProfileOps.js +9 -7
  339. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  340. package/esm/ops/EmailTemplateOps.js +64 -47
  341. package/esm/ops/EmailTemplateOps.js.map +1 -1
  342. package/esm/ops/IdmOps.js +149 -117
  343. package/esm/ops/IdmOps.js.map +1 -1
  344. package/esm/ops/IdpOps.js +76 -46
  345. package/esm/ops/IdpOps.js.map +1 -1
  346. package/esm/ops/JourneyOps.js +333 -238
  347. package/esm/ops/JourneyOps.js.map +1 -1
  348. package/esm/ops/LogOps.js +15 -23
  349. package/esm/ops/LogOps.js.map +1 -1
  350. package/esm/ops/OAuth2ClientOps.js +43 -36
  351. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  352. package/esm/ops/PolicyOps.js +104 -108
  353. package/esm/ops/PolicyOps.js.map +1 -1
  354. package/esm/ops/PolicySetOps.js +72 -78
  355. package/esm/ops/PolicySetOps.js.map +1 -1
  356. package/esm/ops/ResourceTypeOps.js +84 -99
  357. package/esm/ops/ResourceTypeOps.js.map +1 -1
  358. package/esm/ops/Saml2Ops.js +132 -88
  359. package/esm/ops/Saml2Ops.js.map +1 -1
  360. package/esm/ops/ScriptOps.js +90 -80
  361. package/esm/ops/ScriptOps.js.map +1 -1
  362. package/esm/ops/ServiceOps.js +125 -87
  363. package/esm/ops/ServiceOps.js.map +1 -1
  364. package/esm/ops/ThemeOps.js +170 -139
  365. package/esm/ops/ThemeOps.js.map +1 -1
  366. package/esm/ops/{AdminFederationOps.js → cloud/AdminFederationOps.js} +10 -16
  367. package/esm/ops/cloud/AdminFederationOps.js.map +1 -0
  368. package/esm/ops/{SecretsOps.js → cloud/SecretsOps.js} +123 -129
  369. package/esm/ops/cloud/SecretsOps.js.map +1 -0
  370. package/esm/ops/{VariablesOps.js → cloud/VariablesOps.js} +48 -52
  371. package/esm/ops/cloud/VariablesOps.js.map +1 -0
  372. package/esm/ops/templates/OAuth2ClientTemplate.json +270 -0
  373. package/esm/ops/templates/OAuth2TrustedJwtIssuerTemplate.json +38 -0
  374. package/esm/ops/templates/OrgModelUserAttributesTemplate.json +149 -0
  375. package/esm/ops/templates/autoaccess/IPAddresses.json +202 -0
  376. package/esm/ops/templates/autoaccess/UserAgents.json +35 -0
  377. package/esm/ops/templates/autoaccess/Usernames.json +203 -0
  378. package/esm/ops/templates/cloud/GenericExtensionAttributesTemplate.json +392 -0
  379. package/esm/ops/templates/cloud/managed.json +4119 -0
  380. package/esm/ops/utils/OpsUtils.js.map +1 -1
  381. package/esm/utils/Console.js +31 -0
  382. package/esm/utils/Console.js.map +1 -1
  383. package/package.json +11 -6
  384. package/esm/ops/AdminFederationOps.js.map +0 -1
  385. package/esm/ops/SecretsOps.js.map +0 -1
  386. package/esm/ops/VariablesOps.js.map +0 -1
@@ -1,11 +1,8 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
1
  import { Option } from 'commander';
2
+ import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { exportScriptByNameToFile, exportScriptsToFile, exportScriptsToFiles } from '../../ops/ScriptOps';
4
4
  import { printMessage, verboseMessage } from '../../utils/Console';
5
5
  import { FrodoCommand } from '../FrodoCommand';
6
- const {
7
- getTokens
8
- } = frodo.login;
9
6
  const program = new FrodoCommand('frodo script export');
10
7
  program.description('Export scripts.').addOption(new Option('-n, --script-name <name>', 'Name of the script. If specified, -a and -A are ignored.'))
11
8
  // .addOption(
@@ -20,28 +17,24 @@ program.description('Export scripts.').addOption(new Option('-n, --script-name <
20
17
  // implement command logic inside action handler
21
18
  async (host, realm, user, password, options, command) => {
22
19
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
23
- const tokens = await getTokens();
24
- if (!tokens) {
25
- printMessage('Unable to get tokens. Exiting...', 'error');
26
- program.help();
27
- process.exitCode = 1;
28
- return;
29
- }
30
20
  // export by name
31
- if (options.scriptName || options.script) {
21
+ if ((options.scriptName || options.script) && (await getTokens())) {
32
22
  verboseMessage('Exporting script...');
33
- await exportScriptByNameToFile(options.scriptName || options.script, options.file, options.metadata);
23
+ const outcome = await exportScriptByNameToFile(options.scriptName || options.script, options.file, options.metadata);
24
+ if (!outcome) process.exitCode = 1;
34
25
  }
35
26
  // -a / --all
36
- else if (options.all) {
27
+ else if (options.all && (await getTokens())) {
37
28
  verboseMessage('Exporting all scripts to a single file...');
38
- await exportScriptsToFile(options.file, options.metadata, options.default);
29
+ const outcome = await exportScriptsToFile(options.file, options.metadata, options.default);
30
+ if (!outcome) process.exitCode = 1;
39
31
  }
40
32
  // -A / --all-separate
41
- else if (options.allSeparate) {
33
+ else if (options.allSeparate && (await getTokens())) {
42
34
  verboseMessage('Exporting all scripts to separate files...');
43
35
  // -x / --extract
44
- await exportScriptsToFiles(options.extract, options.metadata, options.default);
36
+ const outcome = await exportScriptsToFiles(options.extract, options.metadata, options.default);
37
+ if (!outcome) process.exitCode = 1;
45
38
  }
46
39
 
47
40
  // unrecognized combination of options or no options
@@ -1 +1 @@
1
- {"version":3,"file":"script-export.js","names":["frodo","Option","exportScriptByNameToFile","exportScriptsToFile","exportScriptsToFiles","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","tokens","help","process","exitCode","scriptName","script","file","metadata","all","default","allSeparate","extract","parse"],"sources":["../../../src/cli/script/script-export.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n exportScriptByNameToFile,\n exportScriptsToFile,\n exportScriptsToFiles,\n} from '../../ops/ScriptOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo script export');\n\nprogram\n .description('Export scripts.')\n .addOption(\n new Option(\n '-n, --script-name <name>',\n 'Name of the script. If specified, -a and -A are ignored.'\n )\n )\n // .addOption(\n // new Option(\n // '-i, --script-id <uuid>',\n // 'Uuid of the script. If specified, -a and -A are ignored.'\n // )\n // )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export all scripts to a single file. Ignored with -n.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all scripts to separate files (*.script.json) in the current directory. Ignored with -n or -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export file.'\n )\n )\n // deprecated option\n .addOption(\n new Option(\n '-s, --script <script>',\n 'DEPRECATED! Use -n/--script-name instead. Name of the script.'\n )\n )\n .addOption(\n new Option(\n '-x, --extract',\n 'Extract the script from the exported file, and save it to a separate file. Ignored with -n or -a.'\n )\n )\n .addOption(\n new Option(\n '-d, --default',\n 'Export all scripts including the default scripts. Ignored with -n.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n const tokens = await getTokens();\n if (!tokens) {\n printMessage('Unable to get tokens. Exiting...', 'error');\n program.help();\n process.exitCode = 1;\n return;\n }\n // export by name\n if (options.scriptName || options.script) {\n verboseMessage('Exporting script...');\n await exportScriptByNameToFile(\n options.scriptName || options.script,\n options.file,\n options.metadata\n );\n }\n // -a / --all\n else if (options.all) {\n verboseMessage('Exporting all scripts to a single file...');\n await exportScriptsToFile(\n options.file,\n options.metadata,\n options.default\n );\n }\n // -A / --all-separate\n else if (options.allSeparate) {\n verboseMessage('Exporting all scripts to separate files...');\n // -x / --extract\n await exportScriptsToFiles(\n options.extract,\n options.metadata,\n options.default\n );\n }\n\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,wBAAwB,EACxBC,mBAAmB,EACnBC,oBAAoB,QACf,qBAAqB;AAC5B,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGR,KAAK,CAACS,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,qBAAqB,CAAC;AAEvDG,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CACR,IAAIX,MAAM,CACR,0BAA0B,EAC1B,0DACF,CACF;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACCW,SAAS,CAAC,IAAIX,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,uDACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,uGACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,+CACF,CACF;AACA;AAAA,CACCW,SAAS,CACR,IAAIX,MAAM,CACR,uBAAuB,EACvB,+DACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,eAAe,EACf,mGACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,eAAe,EACf,oEACF,CACF,CAAC,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,MAAME,MAAM,GAAG,MAAMb,SAAS,CAAC,CAAC;EAChC,IAAI,CAACa,MAAM,EAAE;IACXhB,YAAY,CAAC,kCAAkC,EAAE,OAAO,CAAC;IACzDK,OAAO,CAACY,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACpB;EACF;EACA;EACA,IAAIN,OAAO,CAACO,UAAU,IAAIP,OAAO,CAACQ,MAAM,EAAE;IACxCpB,cAAc,CAAC,qBAAqB,CAAC;IACrC,MAAMJ,wBAAwB,CAC5BgB,OAAO,CAACO,UAAU,IAAIP,OAAO,CAACQ,MAAM,EACpCR,OAAO,CAACS,IAAI,EACZT,OAAO,CAACU,QACV,CAAC;EACH;EACA;EAAA,KACK,IAAIV,OAAO,CAACW,GAAG,EAAE;IACpBvB,cAAc,CAAC,2CAA2C,CAAC;IAC3D,MAAMH,mBAAmB,CACvBe,OAAO,CAACS,IAAI,EACZT,OAAO,CAACU,QAAQ,EAChBV,OAAO,CAACY,OACV,CAAC;EACH;EACA;EAAA,KACK,IAAIZ,OAAO,CAACa,WAAW,EAAE;IAC5BzB,cAAc,CAAC,4CAA4C,CAAC;IAC5D;IACA,MAAMF,oBAAoB,CACxBc,OAAO,CAACc,OAAO,EACfd,OAAO,CAACU,QAAQ,EAChBV,OAAO,CAACY,OACV,CAAC;EACH;;EAEA;EAAA,KACK;IACHzB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACY,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHd,OAAO,CAACuB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"script-export.js","names":["Option","getTokens","exportScriptByNameToFile","exportScriptsToFile","exportScriptsToFiles","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","scriptName","script","outcome","file","metadata","process","exitCode","all","default","allSeparate","extract","help","parse"],"sources":["../../../src/cli/script/script-export.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n exportScriptByNameToFile,\n exportScriptsToFile,\n exportScriptsToFiles,\n} from '../../ops/ScriptOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo script export');\n\nprogram\n .description('Export scripts.')\n .addOption(\n new Option(\n '-n, --script-name <name>',\n 'Name of the script. If specified, -a and -A are ignored.'\n )\n )\n // .addOption(\n // new Option(\n // '-i, --script-id <uuid>',\n // 'Uuid of the script. If specified, -a and -A are ignored.'\n // )\n // )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Export all scripts to a single file. Ignored with -n.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all scripts to separate files (*.script.json) in the current directory. Ignored with -n or -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export file.'\n )\n )\n // deprecated option\n .addOption(\n new Option(\n '-s, --script <script>',\n 'DEPRECATED! Use -n/--script-name instead. Name of the script.'\n )\n )\n .addOption(\n new Option(\n '-x, --extract',\n 'Extract the script from the exported file, and save it to a separate file. Ignored with -n or -a.'\n )\n )\n .addOption(\n new Option(\n '-d, --default',\n 'Export all scripts including the default scripts. Ignored with -n.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // export by name\n if ((options.scriptName || options.script) && (await getTokens())) {\n verboseMessage('Exporting script...');\n const outcome = await exportScriptByNameToFile(\n options.scriptName || options.script,\n options.file,\n options.metadata\n );\n if (!outcome) process.exitCode = 1;\n }\n // -a / --all\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all scripts to a single file...');\n const outcome = await exportScriptsToFile(\n options.file,\n options.metadata,\n options.default\n );\n if (!outcome) process.exitCode = 1;\n }\n // -A / --all-separate\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all scripts to separate files...');\n // -x / --extract\n const outcome = await exportScriptsToFiles(\n options.extract,\n options.metadata,\n options.default\n );\n if (!outcome) process.exitCode = 1;\n }\n\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -1,11 +1,9 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
3
4
  import { importScriptsFromFile, importScriptsFromFiles } from '../../ops/ScriptOps';
4
5
  import { printMessage, verboseMessage } from '../../utils/Console';
5
6
  import { FrodoCommand } from '../FrodoCommand';
6
- const {
7
- getTokens
8
- } = frodo.login;
9
7
  const program = new FrodoCommand('frodo script import');
10
8
  program.description('Import scripts.').addOption(new Option('-f, --file <file>', 'Name of the file to import.')).addOption(new Option('-n, --script-name <name>', 'Name of the script. If specified, -a and -A are ignored.')).addOption(new Option('--re-uuid', 'Re-UUID. Create a new UUID for the script upon import. Use this to duplicate a script or create a new version of the same script. Note that you must also choose a new name using -n/--script-name to avoid import errors.').default(false, 'false'))
11
9
  // deprecated option
@@ -13,25 +11,30 @@ program.description('Import scripts.').addOption(new Option('-f, --file <file>',
13
11
  // implement command logic inside action handler
14
12
  async (host, realm, user, password, options, command) => {
15
13
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
16
- const tokens = await getTokens();
17
- if (!tokens) {
18
- printMessage('Unable to get tokens. Exiting...', 'error');
19
- program.help();
20
- process.exitCode = 1;
21
- return;
22
- }
23
- verboseMessage(`Importing script(s) into realm "${state.getRealm()}"...`);
24
- if (options.file) {
14
+ if (options.file && (await getTokens())) {
15
+ verboseMessage(`Importing script(s) into realm "${state.getRealm()}"...`);
25
16
  const outcome = await importScriptsFromFile(options.scriptName || options.script, options.file, {
26
17
  reUuid: options.reUuid,
27
18
  includeDefault: options.default
28
19
  });
29
20
  if (!outcome) process.exitCode = 1;
30
- } else if (options.allSeparate) {
31
- await importScriptsFromFiles(options.watch, {
32
- reUuid: options.reUuid,
33
- includeDefault: options.default
34
- }, true);
21
+ } else if (options.allSeparate && (await getTokens())) {
22
+ verboseMessage(`Importing script(s) into realm "${state.getRealm()}"...`);
23
+ try {
24
+ await importScriptsFromFiles(options.watch, {
25
+ reUuid: options.reUuid,
26
+ includeDefault: options.default
27
+ }, true);
28
+ } catch (error) {
29
+ process.exitCode = 1;
30
+ }
31
+ }
32
+
33
+ // unrecognized combination of options or no options
34
+ else {
35
+ printMessage('Unrecognized combination of options or no options...', 'error');
36
+ program.help();
37
+ process.exitCode = 1;
35
38
  }
36
39
  }
37
40
  // end command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"script-import.js","names":["frodo","state","Option","importScriptsFromFile","importScriptsFromFiles","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","tokens","help","process","exitCode","getRealm","file","outcome","scriptName","script","reUuid","includeDefault","allSeparate","watch","parse"],"sources":["../../../src/cli/script/script-import.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n importScriptsFromFile,\n importScriptsFromFiles,\n} from '../../ops/ScriptOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo script import');\n\nprogram\n .description('Import scripts.')\n .addOption(new Option('-f, --file <file>', 'Name of the file to import.'))\n .addOption(\n new Option(\n '-n, --script-name <name>',\n 'Name of the script. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '--re-uuid',\n 'Re-UUID. Create a new UUID for the script upon import. Use this to duplicate a script or create a new version of the same script. Note that you must also choose a new name using -n/--script-name to avoid import errors.'\n ).default(false, 'false')\n )\n // deprecated option\n .addOption(\n new Option(\n '-s, --script <script>',\n 'DEPRECATED! Use -n/--script-name instead. Name of the script.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all scripts from separate files (*.script.json) in the current directory. Ignored with -n.'\n )\n )\n .addOption(\n new Option(\n '-w, --watch',\n 'Watch for changes to the script files and import the scripts automatically when the file changes. Can only be used with -A.'\n ).default(false, 'false')\n )\n .addOption(\n new Option(\n '-d, --default',\n 'Import all scripts including the default scripts. Ignored with -n.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n const tokens = await getTokens();\n if (!tokens) {\n printMessage('Unable to get tokens. Exiting...', 'error');\n program.help();\n process.exitCode = 1;\n return;\n }\n\n verboseMessage(`Importing script(s) into realm \"${state.getRealm()}\"...`);\n\n if (options.file) {\n const outcome = await importScriptsFromFile(\n options.scriptName || options.script,\n options.file,\n {\n reUuid: options.reUuid,\n includeDefault: options.default,\n }\n );\n if (!outcome) process.exitCode = 1;\n } else if (options.allSeparate) {\n await importScriptsFromFiles(\n options.watch,\n {\n reUuid: options.reUuid,\n includeDefault: options.default,\n },\n true\n );\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,qBAAqB,EACrBC,sBAAsB,QACjB,qBAAqB;AAC5B,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGR,KAAK,CAACS,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,qBAAqB,CAAC;AAEvDG,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEU,SAAS,CACR,IAAIV,MAAM,CACR,0BAA0B,EAC1B,0DACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,4NACF,CAAC,CAACW,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1B;AACA;AAAA,CACCD,SAAS,CACR,IAAIV,MAAM,CACR,uBAAuB,EACvB,+DACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,mGACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,aAAa,EACb,6HACF,CAAC,CAACW,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1B,CAAC,CACAD,SAAS,CACR,IAAIV,MAAM,CACR,eAAe,EACf,oEACF,CACF,CAAC,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,MAAME,MAAM,GAAG,MAAMd,SAAS,CAAC,CAAC;EAChC,IAAI,CAACc,MAAM,EAAE;IACXjB,YAAY,CAAC,kCAAkC,EAAE,OAAO,CAAC;IACzDK,OAAO,CAACa,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;IACpB;EACF;EAEAnB,cAAc,CAAE,mCAAkCL,KAAK,CAACyB,QAAQ,CAAC,CAAE,MAAK,CAAC;EAEzE,IAAIP,OAAO,CAACQ,IAAI,EAAE;IAChB,MAAMC,OAAO,GAAG,MAAMzB,qBAAqB,CACzCgB,OAAO,CAACU,UAAU,IAAIV,OAAO,CAACW,MAAM,EACpCX,OAAO,CAACQ,IAAI,EACZ;MACEI,MAAM,EAAEZ,OAAO,CAACY,MAAM;MACtBC,cAAc,EAAEb,OAAO,CAACN;IAC1B,CACF,CAAC;IACD,IAAI,CAACe,OAAO,EAAEJ,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM,IAAIN,OAAO,CAACc,WAAW,EAAE;IAC9B,MAAM7B,sBAAsB,CAC1Be,OAAO,CAACe,KAAK,EACb;MACEH,MAAM,EAAEZ,OAAO,CAACY,MAAM;MACtBC,cAAc,EAAEb,OAAO,CAACN;IAC1B,CAAC,EACD,IACF,CAAC;EACH;AACF;AACA;AACF,CAAC;AAEHH,OAAO,CAACyB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"script-import.js","names":["state","Option","getTokens","importScriptsFromFile","importScriptsFromFiles","printMessage","verboseMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","getRealm","outcome","scriptName","script","reUuid","includeDefault","process","exitCode","allSeparate","watch","error","help","parse"],"sources":["../../../src/cli/script/script-import.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n importScriptsFromFile,\n importScriptsFromFiles,\n} from '../../ops/ScriptOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo script import');\n\nprogram\n .description('Import scripts.')\n .addOption(new Option('-f, --file <file>', 'Name of the file to import.'))\n .addOption(\n new Option(\n '-n, --script-name <name>',\n 'Name of the script. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '--re-uuid',\n 'Re-UUID. Create a new UUID for the script upon import. Use this to duplicate a script or create a new version of the same script. Note that you must also choose a new name using -n/--script-name to avoid import errors.'\n ).default(false, 'false')\n )\n // deprecated option\n .addOption(\n new Option(\n '-s, --script <script>',\n 'DEPRECATED! Use -n/--script-name instead. Name of the script.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all scripts from separate files (*.script.json) in the current directory. Ignored with -n.'\n )\n )\n .addOption(\n new Option(\n '-w, --watch',\n 'Watch for changes to the script files and import the scripts automatically when the file changes. Can only be used with -A.'\n ).default(false, 'false')\n )\n .addOption(\n new Option(\n '-d, --default',\n 'Import all scripts including the default scripts. Ignored with -n.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n\n if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing script(s) into realm \"${state.getRealm()}\"...`\n );\n const outcome = await importScriptsFromFile(\n options.scriptName || options.script,\n options.file,\n {\n reUuid: options.reUuid,\n includeDefault: options.default,\n }\n );\n if (!outcome) process.exitCode = 1;\n } else if (options.allSeparate && (await getTokens())) {\n verboseMessage(\n `Importing script(s) into realm \"${state.getRealm()}\"...`\n );\n try {\n await importScriptsFromFiles(\n options.watch,\n {\n reUuid: options.reUuid,\n includeDefault: options.default,\n },\n true\n );\n } catch (error) {\n process.exitCode = 1;\n }\n }\n\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SACEC,qBAAqB,EACrBC,sBAAsB,QACjB,qBAAqB;AAC5B,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,qBAAqB,CAAC;AAEvDC,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CAAC,IAAIT,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzES,SAAS,CACR,IAAIT,MAAM,CACR,0BAA0B,EAC1B,0DACF,CACF,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CACR,WAAW,EACX,4NACF,CAAC,CAACU,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1B;AACA;AAAA,CACCD,SAAS,CACR,IAAIT,MAAM,CACR,uBAAuB,EACvB,+DACF,CACF,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CACR,oBAAoB,EACpB,mGACF,CACF,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CACR,aAAa,EACb,6HACF,CAAC,CAACU,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1B,CAAC,CACAD,SAAS,CACR,IAAIT,MAAM,CACR,eAAe,EACf,oEACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EAED,IAAID,OAAO,CAACG,IAAI,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IACvCI,cAAc,CACX,mCAAkCN,KAAK,CAACqB,QAAQ,CAAC,CAAE,MACtD,CAAC;IACD,MAAMC,OAAO,GAAG,MAAMnB,qBAAqB,CACzCc,OAAO,CAACM,UAAU,IAAIN,OAAO,CAACO,MAAM,EACpCP,OAAO,CAACG,IAAI,EACZ;MACEK,MAAM,EAAER,OAAO,CAACQ,MAAM;MACtBC,cAAc,EAAET,OAAO,CAACN;IAC1B,CACF,CAAC;IACD,IAAI,CAACW,OAAO,EAAEK,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM,IAAIX,OAAO,CAACY,WAAW,KAAK,MAAM3B,SAAS,CAAC,CAAC,CAAC,EAAE;IACrDI,cAAc,CACX,mCAAkCN,KAAK,CAACqB,QAAQ,CAAC,CAAE,MACtD,CAAC;IACD,IAAI;MACF,MAAMjB,sBAAsB,CAC1Ba,OAAO,CAACa,KAAK,EACb;QACEL,MAAM,EAAER,OAAO,CAACQ,MAAM;QACtBC,cAAc,EAAET,OAAO,CAACN;MAC1B,CAAC,EACD,IACF,CAAC;IACH,CAAC,CAAC,OAAOoB,KAAK,EAAE;MACdJ,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF;;EAEA;EAAA,KACK;IACHvB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDG,OAAO,CAACwB,IAAI,CAAC,CAAC;IACdL,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHpB,OAAO,CAACyB,KAAK,CAAC,CAAC"}
@@ -1,11 +1,9 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
3
4
  import { listScripts } from '../../ops/ScriptOps';
4
5
  import { verboseMessage } from '../../utils/Console';
5
6
  import { FrodoCommand } from '../FrodoCommand';
6
- const {
7
- getTokens
8
- } = frodo.login;
9
7
  const program = new FrodoCommand('frodo script list');
10
8
  program.description('List scripts.').addOption(new Option('-l, --long', 'Long with all fields besides usage.').default(false, 'false')).addOption(new Option('-u, --usage', 'Display usage field. If a file is provided with -f or --file, it will search for usage in the file. If a directory is provided with -D or --directory, it will search for usage in all .json files in the directory and sub-directories. If no file or directory is provided, it will perform a full export automatically to determine usage.').default(false, 'false')).addOption(new Option('-f, --file [file]', 'Optional export file to use to determine usage. Overrides -D, --directory. Only used if -u or --usage is provided as well.')).action(
11
9
  // implement command logic inside action handler
@@ -1 +1 @@
1
- {"version":3,"file":"script-list.js","names":["frodo","state","Option","listScripts","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","outcome","long","usage","file","process","exitCode","parse"],"sources":["../../../src/cli/script/script-list.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { listScripts } from '../../ops/ScriptOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo script list');\n\nprogram\n .description('List scripts.')\n .addOption(\n new Option('-l, --long', 'Long with all fields besides usage.').default(\n false,\n 'false'\n )\n )\n .addOption(\n new Option(\n '-u, --usage',\n 'Display usage field. If a file is provided with -f or --file, it will search for usage in the file. If a directory is provided with -D or --directory, it will search for usage in all .json files in the directory and sub-directories. If no file or directory is provided, it will perform a full export automatically to determine usage.'\n ).default(false, 'false')\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Optional export file to use to determine usage. Overrides -D, --directory. Only used if -u or --usage is provided as well.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing scripts in realm \"${state.getRealm()}\"...`);\n const outcome = await listScripts(\n options.long,\n options.usage,\n options.file\n );\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,WAAW,QAAQ,qBAAqB;AACjD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGN,KAAK,CAACO,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,mBAAmB,CAAC;AAErDG,OAAO,CACJC,WAAW,CAAC,eAAe,CAAC,CAC5BC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,qCAAqC,CAAC,CAACS,OAAO,CACrE,KAAK,EACL,OACF,CACF,CAAC,CACAD,SAAS,CACR,IAAIR,MAAM,CACR,aAAa,EACb,+UACF,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1B,CAAC,CACAD,SAAS,CACR,IAAIR,MAAM,CACR,mBAAmB,EACnB,4HACF,CACF,CAAC,CACAU,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,cAAc,CAAE,6BAA4BH,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAAK,CAAC;IACnE,MAAMC,OAAO,GAAG,MAAMlB,WAAW,CAC/Bc,OAAO,CAACK,IAAI,EACZL,OAAO,CAACM,KAAK,EACbN,OAAO,CAACO,IACV,CAAC;IACD,IAAI,CAACH,OAAO,EAAEI,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHlB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"script-list.js","names":["state","Option","getTokens","listScripts","verboseMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","outcome","long","usage","file","process","exitCode","parse"],"sources":["../../../src/cli/script/script-list.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { listScripts } from '../../ops/ScriptOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo script list');\n\nprogram\n .description('List scripts.')\n .addOption(\n new Option('-l, --long', 'Long with all fields besides usage.').default(\n false,\n 'false'\n )\n )\n .addOption(\n new Option(\n '-u, --usage',\n 'Display usage field. If a file is provided with -f or --file, it will search for usage in the file. If a directory is provided with -D or --directory, it will search for usage in all .json files in the directory and sub-directories. If no file or directory is provided, it will perform a full export automatically to determine usage.'\n ).default(false, 'false')\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Optional export file to use to determine usage. Overrides -D, --directory. Only used if -u or --usage is provided as well.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing scripts in realm \"${state.getRealm()}\"...`);\n const outcome = await listScripts(\n options.long,\n options.usage,\n options.file\n );\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,WAAW,QAAQ,qBAAqB;AACjD,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,mBAAmB,CAAC;AAErDC,OAAO,CACJC,WAAW,CAAC,eAAe,CAAC,CAC5BC,SAAS,CACR,IAAIP,MAAM,CAAC,YAAY,EAAE,qCAAqC,CAAC,CAACQ,OAAO,CACrE,KAAK,EACL,OACF,CACF,CAAC,CACAD,SAAS,CACR,IAAIP,MAAM,CACR,aAAa,EACb,+UACF,CAAC,CAACQ,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1B,CAAC,CACAD,SAAS,CACR,IAAIP,MAAM,CACR,mBAAmB,EACnB,4HACF,CACF,CAAC,CACAS,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBE,cAAc,CAAE,6BAA4BJ,KAAK,CAACkB,QAAQ,CAAC,CAAE,MAAK,CAAC;IACnE,MAAMC,OAAO,GAAG,MAAMhB,WAAW,CAC/BY,OAAO,CAACK,IAAI,EACZL,OAAO,CAACM,KAAK,EACbN,OAAO,CAACO,IACV,CAAC;IACD,IAAI,CAACH,OAAO,EAAEI,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHlB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
@@ -1,18 +1,17 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
1
  import { Option } from 'commander';
2
+ import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { deleteService, deleteServices } from '../../ops/ServiceOps.js';
4
4
  import { FrodoCommand } from '../FrodoCommand';
5
- const {
6
- getTokens
7
- } = frodo.login;
8
5
  const program = new FrodoCommand('frodo service delete');
9
6
  program.description('Delete AM services.').addOption(new Option('-i, --id <id>', 'Id of Service to be deleted.')).addOption(new Option('-a, --all', 'Delete all services. Ignored with -i.')).addOption(new Option('-g, --global', 'Delete global services.')).action(async (host, realm, user, password, options, command) => {
10
7
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
11
8
  const globalConfig = options.global ?? false;
12
9
  if (options.id && (await getTokens())) {
13
- await deleteService(options.id, globalConfig);
10
+ const outcome = await deleteService(options.id, globalConfig);
11
+ if (!outcome) process.exitCode = 1;
14
12
  } else if (options.all && (await getTokens())) {
15
- await deleteServices(globalConfig);
13
+ const outcome = await deleteServices(globalConfig);
14
+ if (!outcome) process.exitCode = 1;
16
15
  } else {
17
16
  program.help();
18
17
  process.exitCode = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"service-delete.js","names":["frodo","Option","deleteService","deleteServices","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","globalConfig","global","id","all","help","process","exitCode","parse"],"sources":["../../../src/cli/service/service-delete.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { deleteService, deleteServices } from '../../ops/ServiceOps.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo service delete');\n\ninterface ServiceDeleteOptions {\n id?: string;\n type?: string;\n insecure?: boolean;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n all?: boolean;\n global?: boolean;\n}\n\nprogram\n .description('Delete AM services.')\n .addOption(new Option('-i, --id <id>', 'Id of Service to be deleted.'))\n .addOption(new Option('-a, --all', 'Delete all services. Ignored with -i.'))\n .addOption(new Option('-g, --global', 'Delete global services.'))\n .action(\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: ServiceDeleteOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n\n const globalConfig = options.global ?? false;\n\n if (options.id && (await getTokens())) {\n await deleteService(options.id, globalConfig);\n } else if (options.all && (await getTokens())) {\n await deleteServices(globalConfig);\n } else {\n program.help();\n process.exitCode = 1;\n }\n }\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,aAAa,EAAEC,cAAc,QAAQ,yBAAyB;AACvE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,sBAAsB,CAAC;AAaxDG,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CAAC,IAAIR,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC,CACtEQ,SAAS,CAAC,IAAIR,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAC3EQ,SAAS,CAAC,IAAIR,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC,CAChES,MAAM,CACL,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAA6B,EAC7BC,OAAO,KACJ;EACHA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EAED,MAAME,YAAY,GAAGH,OAAO,CAACI,MAAM,IAAI,KAAK;EAE5C,IAAIJ,OAAO,CAACK,EAAE,KAAK,MAAMf,SAAS,CAAC,CAAC,CAAC,EAAE;IACrC,MAAMH,aAAa,CAACa,OAAO,CAACK,EAAE,EAAEF,YAAY,CAAC;EAC/C,CAAC,MAAM,IAAIH,OAAO,CAACM,GAAG,KAAK,MAAMhB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC7C,MAAMF,cAAc,CAACe,YAAY,CAAC;EACpC,CAAC,MAAM;IACLX,OAAO,CAACe,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF,CACF,CAAC;AAEHjB,OAAO,CAACkB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"service-delete.js","names":["Option","getTokens","deleteService","deleteServices","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","globalConfig","global","id","outcome","process","exitCode","all","help","parse"],"sources":["../../../src/cli/service/service-delete.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { deleteService, deleteServices } from '../../ops/ServiceOps.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo service delete');\n\ninterface ServiceDeleteOptions {\n id?: string;\n type?: string;\n insecure?: boolean;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n all?: boolean;\n global?: boolean;\n}\n\nprogram\n .description('Delete AM services.')\n .addOption(new Option('-i, --id <id>', 'Id of Service to be deleted.'))\n .addOption(new Option('-a, --all', 'Delete all services. Ignored with -i.'))\n .addOption(new Option('-g, --global', 'Delete global services.'))\n .action(\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: ServiceDeleteOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n\n const globalConfig = options.global ?? false;\n\n if (options.id && (await getTokens())) {\n const outcome = await deleteService(options.id, globalConfig);\n if (!outcome) process.exitCode = 1;\n } else if (options.all && (await getTokens())) {\n const outcome = await deleteServices(globalConfig);\n if (!outcome) process.exitCode = 1;\n } else {\n program.help();\n process.exitCode = 1;\n }\n }\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,aAAa,EAAEC,cAAc,QAAQ,yBAAyB;AACvE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,sBAAsB,CAAC;AAaxDC,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CAAC,IAAIP,MAAM,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC,CACtEO,SAAS,CAAC,IAAIP,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAC3EO,SAAS,CAAC,IAAIP,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC,CAChEQ,MAAM,CACL,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAA6B,EAC7BC,OAAO,KACJ;EACHA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EAED,MAAME,YAAY,GAAGH,OAAO,CAACI,MAAM,IAAI,KAAK;EAE5C,IAAIJ,OAAO,CAACK,EAAE,KAAK,MAAMjB,SAAS,CAAC,CAAC,CAAC,EAAE;IACrC,MAAMkB,OAAO,GAAG,MAAMjB,aAAa,CAACW,OAAO,CAACK,EAAE,EAAEF,YAAY,CAAC;IAC7D,IAAI,CAACG,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM,IAAIR,OAAO,CAACS,GAAG,KAAK,MAAMrB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC7C,MAAMkB,OAAO,GAAG,MAAMhB,cAAc,CAACa,YAAY,CAAC;IAClD,IAAI,CAACG,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLhB,OAAO,CAACkB,IAAI,CAAC,CAAC;IACdH,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF,CACF,CAAC;AAEHhB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
@@ -1,11 +1,8 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
1
  import { Option } from 'commander';
2
+ import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { exportServicesToFile, exportServicesToFiles, exportServiceToFile } from '../../ops/ServiceOps.js';
4
4
  import { printMessage, verboseMessage } from '../../utils/Console.js';
5
5
  import { FrodoCommand } from '../FrodoCommand';
6
- const {
7
- getTokens
8
- } = frodo.login;
9
6
  const program = new FrodoCommand('frodo service export');
10
7
  program.description('Export AM services.').addOption(new Option('-i, --service-id <service-id>', 'Service id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export all services to a single file.')).addOption(new Option('-A, --all-separate', 'Export all services to separate files (*.service.json) in the current directory. Ignored with -a.')).addOption(new Option('-N, --no-metadata', 'Does not include metadata in the export file.')).addOption(new Option('-g, --global', 'Export global services.')).action(async (host, realm, user, password, options, command) => {
11
8
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
@@ -14,17 +11,20 @@ program.description('Export AM services.').addOption(new Option('-i, --service-i
14
11
  // export by name
15
12
  if (options.serviceId && (await getTokens())) {
16
13
  verboseMessage('Exporting service...');
17
- await exportServiceToFile(options.serviceId, options.file, globalConfig, options.metadata);
14
+ const outcome = await exportServiceToFile(options.serviceId, options.file, globalConfig, options.metadata);
15
+ if (!outcome) process.exitCode = 1;
18
16
  }
19
17
  // -a / --all
20
18
  else if (options.all && (await getTokens())) {
21
19
  verboseMessage('Exporting all services to a single file...');
22
- await exportServicesToFile(options.file, globalConfig, options.metadata);
20
+ const outcome = await exportServicesToFile(options.file, globalConfig, options.metadata);
21
+ if (!outcome) process.exitCode = 1;
23
22
  }
24
23
  // -A / --all-separate
25
24
  else if (options.allSeparate && (await getTokens())) {
26
25
  verboseMessage('Exporting all services to separate files...');
27
- await exportServicesToFiles(globalConfig, options.metadata);
26
+ const outcome = await exportServicesToFiles(globalConfig, options.metadata);
27
+ if (!outcome) process.exitCode = 1;
28
28
  }
29
29
  // unrecognized combination of options or no options
30
30
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"service-export.js","names":["frodo","Option","exportServicesToFile","exportServicesToFiles","exportServiceToFile","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","globalConfig","global","serviceId","file","metadata","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/service/service-export.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n exportServicesToFile,\n exportServicesToFiles,\n exportServiceToFile,\n} from '../../ops/ServiceOps.js';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo service export');\n\ninterface ServiceExportOptions {\n file?: string;\n all?: boolean;\n serviceId?: string;\n allSeparate?: boolean;\n type?: string;\n insecure?: boolean;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n global?: boolean;\n metadata?: boolean;\n}\n\nprogram\n .description('Export AM services.')\n .addOption(\n new Option(\n '-i, --service-id <service-id>',\n 'Service id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(new Option('-a, --all', 'Export all services to a single file.'))\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all services to separate files (*.service.json) in the current directory. Ignored with -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export file.'\n )\n )\n .addOption(new Option('-g, --global', 'Export global services.'))\n .action(\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: ServiceExportOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n\n const globalConfig = options.global ?? false;\n\n // export by name\n if (options.serviceId && (await getTokens())) {\n verboseMessage('Exporting service...');\n await exportServiceToFile(\n options.serviceId,\n options.file,\n globalConfig,\n options.metadata\n );\n }\n // -a / --all\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all services to a single file...');\n await exportServicesToFile(\n options.file,\n globalConfig,\n options.metadata\n );\n }\n // -A / --all-separate\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all services to separate files...');\n await exportServicesToFiles(globalConfig, options.metadata);\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,mBAAmB,QACd,yBAAyB;AAChC,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGR,KAAK,CAACS,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,sBAAsB,CAAC;AAgBxDG,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CACR,IAAIX,MAAM,CACR,+BAA+B,EAC/B,kDACF,CACF,CAAC,CACAW,SAAS,CAAC,IAAIX,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEW,SAAS,CAAC,IAAIX,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAC3EW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,mGACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,mBAAmB,EACnB,+CACF,CACF,CAAC,CACAW,SAAS,CAAC,IAAIX,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC,CAChEY,MAAM,CACL,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAA6B,EAC7BC,OAAO,KACJ;EACHA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EAED,MAAME,YAAY,GAAGH,OAAO,CAACI,MAAM,IAAI,KAAK;;EAE5C;EACA,IAAIJ,OAAO,CAACK,SAAS,KAAK,MAAMf,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CF,cAAc,CAAC,sBAAsB,CAAC;IACtC,MAAMF,mBAAmB,CACvBc,OAAO,CAACK,SAAS,EACjBL,OAAO,CAACM,IAAI,EACZH,YAAY,EACZH,OAAO,CAACO,QACV,CAAC;EACH;EACA;EAAA,KACK,IAAIP,OAAO,CAACQ,GAAG,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CF,cAAc,CAAC,4CAA4C,CAAC;IAC5D,MAAMJ,oBAAoB,CACxBgB,OAAO,CAACM,IAAI,EACZH,YAAY,EACZH,OAAO,CAACO,QACV,CAAC;EACH;EACA;EAAA,KACK,IAAIP,OAAO,CAACS,WAAW,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDF,cAAc,CAAC,6CAA6C,CAAC;IAC7D,MAAMH,qBAAqB,CAACkB,YAAY,EAAEH,OAAO,CAACO,QAAQ,CAAC;EAC7D;EACA;EAAA,KACK;IACHpB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACkB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHpB,OAAO,CAACqB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"service-export.js","names":["Option","getTokens","exportServicesToFile","exportServicesToFiles","exportServiceToFile","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","globalConfig","global","serviceId","outcome","file","metadata","process","exitCode","all","allSeparate","help","parse"],"sources":["../../../src/cli/service/service-export.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n exportServicesToFile,\n exportServicesToFiles,\n exportServiceToFile,\n} from '../../ops/ServiceOps.js';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo service export');\n\ninterface ServiceExportOptions {\n file?: string;\n all?: boolean;\n serviceId?: string;\n allSeparate?: boolean;\n type?: string;\n insecure?: boolean;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n global?: boolean;\n metadata?: boolean;\n}\n\nprogram\n .description('Export AM services.')\n .addOption(\n new Option(\n '-i, --service-id <service-id>',\n 'Service id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(new Option('-a, --all', 'Export all services to a single file.'))\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all services to separate files (*.service.json) in the current directory. Ignored with -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export file.'\n )\n )\n .addOption(new Option('-g, --global', 'Export global services.'))\n .action(\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: ServiceExportOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n\n const globalConfig = options.global ?? false;\n\n // export by name\n if (options.serviceId && (await getTokens())) {\n verboseMessage('Exporting service...');\n const outcome = await exportServiceToFile(\n options.serviceId,\n options.file,\n globalConfig,\n options.metadata\n );\n if (!outcome) process.exitCode = 1;\n }\n // -a / --all\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all services to a single file...');\n const outcome = await exportServicesToFile(\n options.file,\n globalConfig,\n options.metadata\n );\n if (!outcome) process.exitCode = 1;\n }\n // -A / --all-separate\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all services to separate files...');\n const outcome = await exportServicesToFiles(\n globalConfig,\n options.metadata\n );\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,mBAAmB,QACd,yBAAyB;AAChC,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,sBAAsB,CAAC;AAgBxDC,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CACR,IAAIV,MAAM,CACR,+BAA+B,EAC/B,kDACF,CACF,CAAC,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEU,SAAS,CAAC,IAAIV,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAC3EU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,mGACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,+CACF,CACF,CAAC,CACAU,SAAS,CAAC,IAAIV,MAAM,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC,CAChEW,MAAM,CACL,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAA6B,EAC7BC,OAAO,KACJ;EACHA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EAED,MAAME,YAAY,GAAGH,OAAO,CAACI,MAAM,IAAI,KAAK;;EAE5C;EACA,IAAIJ,OAAO,CAACK,SAAS,KAAK,MAAMpB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CK,cAAc,CAAC,sBAAsB,CAAC;IACtC,MAAMgB,OAAO,GAAG,MAAMlB,mBAAmB,CACvCY,OAAO,CAACK,SAAS,EACjBL,OAAO,CAACO,IAAI,EACZJ,YAAY,EACZH,OAAO,CAACQ,QACV,CAAC;IACD,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAIV,OAAO,CAACW,GAAG,KAAK,MAAM1B,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CK,cAAc,CAAC,4CAA4C,CAAC;IAC5D,MAAMgB,OAAO,GAAG,MAAMpB,oBAAoB,CACxCc,OAAO,CAACO,IAAI,EACZJ,YAAY,EACZH,OAAO,CAACQ,QACV,CAAC;IACD,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAIV,OAAO,CAACY,WAAW,KAAK,MAAM3B,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDK,cAAc,CAAC,6CAA6C,CAAC;IAC7D,MAAMgB,OAAO,GAAG,MAAMnB,qBAAqB,CACzCgB,YAAY,EACZH,OAAO,CAACQ,QACV,CAAC;IACD,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHrB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDG,OAAO,CAACqB,IAAI,CAAC,CAAC;IACdJ,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHlB,OAAO,CAACsB,KAAK,CAAC,CAAC"}
@@ -1,11 +1,8 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
1
  import { Option } from 'commander';
2
+ import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { importFirstServiceFromFile, importServiceFromFile, importServicesFromFile, importServicesFromFiles } from '../../ops/ServiceOps.js';
4
4
  import { printMessage, verboseMessage } from '../../utils/Console.js';
5
5
  import { FrodoCommand } from '../FrodoCommand';
6
- const {
7
- getTokens
8
- } = frodo.login;
9
6
  const program = new FrodoCommand('frodo service import');
10
7
  program.description('Import AM services.').addOption(new Option('-i, --service-id <service-id>', 'Service id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import SAML Entity(s) from. Ignored with -A.')).addOption(new Option('-a, --all', 'Import all services from a single file.')).addOption(new Option('-C, --clean', 'Remove existing service(s) before importing.')).addOption(new Option('-A, --all-separate', 'Import all services from separate files <id>.service.json.')).addOption(new Option('-g, --global', 'Import service(s) as global service(s).')).addOption(new Option('-r, --current-realm', 'Import service(s) into the current realm.')).action(async (host, realm, user, password, options, command) => {
11
8
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
@@ -16,38 +13,42 @@ program.description('Import AM services.').addOption(new Option('-i, --service-i
16
13
  // import by id
17
14
  if (options.serviceId && options.file && (await getTokens())) {
18
15
  verboseMessage('Importing service...');
19
- await importServiceFromFile(options.serviceId, options.file, {
16
+ const outcome = await importServiceFromFile(options.serviceId, options.file, {
20
17
  clean,
21
18
  global: globalConfig,
22
19
  realm: realmConfig
23
20
  });
21
+ if (!outcome) process.exitCode = 1;
24
22
  }
25
23
  // -a / --all
26
24
  else if (options.all && options.file && (await getTokens())) {
27
25
  verboseMessage('Importing all services from a single file...');
28
- await importServicesFromFile(options.file, {
26
+ const outcome = await importServicesFromFile(options.file, {
29
27
  clean,
30
28
  global: globalConfig,
31
29
  realm: realmConfig
32
30
  });
31
+ if (!outcome) process.exitCode = 1;
33
32
  }
34
33
  // -A / --all-separate
35
34
  else if (options.allSeparate && (await getTokens())) {
36
35
  verboseMessage('Importing all services from separate files...');
37
- await importServicesFromFiles({
36
+ const outcome = await importServicesFromFiles({
38
37
  clean,
39
38
  global: globalConfig,
40
39
  realm: realmConfig
41
40
  });
41
+ if (!outcome) process.exitCode = 1;
42
42
  }
43
43
  // import file
44
44
  else if (options.file && (await getTokens())) {
45
45
  verboseMessage('Importing service...');
46
- await importFirstServiceFromFile(options.file, {
46
+ const outcome = await importFirstServiceFromFile(options.file, {
47
47
  clean,
48
48
  global: globalConfig,
49
49
  realm: realmConfig
50
50
  });
51
+ if (!outcome) process.exitCode = 1;
51
52
  }
52
53
  // unrecognized combination of options or no options
53
54
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"service-import.js","names":["frodo","Option","importFirstServiceFromFile","importServiceFromFile","importServicesFromFile","importServicesFromFiles","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","clean","globalConfig","global","realmConfig","serviceId","file","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/service/service-import.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n importFirstServiceFromFile,\n importServiceFromFile,\n importServicesFromFile,\n importServicesFromFiles,\n} from '../../ops/ServiceOps.js';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo service import');\n\ninterface ServiceImportOptions {\n file?: string;\n all?: boolean;\n serviceId?: string;\n allSeparate?: boolean;\n type?: string;\n insecure?: boolean;\n clean?: boolean;\n directory?: string;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n global?: boolean;\n realm?: boolean;\n}\n\nprogram\n .description('Import AM services.')\n .addOption(\n new Option(\n '-i, --service-id <service-id>',\n 'Service id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import SAML Entity(s) from. Ignored with -A.'\n )\n )\n .addOption(new Option('-a, --all', 'Import all services from a single file.'))\n .addOption(\n new Option('-C, --clean', 'Remove existing service(s) before importing.')\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all services from separate files <id>.service.json.'\n )\n )\n .addOption(\n new Option('-g, --global', 'Import service(s) as global service(s).')\n )\n .addOption(\n new Option(\n '-r, --current-realm',\n 'Import service(s) into the current realm.'\n )\n )\n .action(\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: ServiceImportOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n\n const clean = options.clean ?? false;\n const globalConfig = options.global ?? false;\n const realmConfig = options.realm ?? false;\n\n // import by id\n if (options.serviceId && options.file && (await getTokens())) {\n verboseMessage('Importing service...');\n await importServiceFromFile(options.serviceId, options.file, {\n clean,\n global: globalConfig,\n realm: realmConfig,\n });\n }\n // -a / --all\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage('Importing all services from a single file...');\n await importServicesFromFile(options.file, {\n clean,\n global: globalConfig,\n realm: realmConfig,\n });\n }\n // -A / --all-separate\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Importing all services from separate files...');\n await importServicesFromFiles({\n clean,\n global: globalConfig,\n realm: realmConfig,\n });\n }\n // import file\n else if (options.file && (await getTokens())) {\n verboseMessage('Importing service...');\n await importFirstServiceFromFile(options.file, {\n clean,\n global: globalConfig,\n realm: realmConfig,\n });\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,0BAA0B,EAC1BC,qBAAqB,EACrBC,sBAAsB,EACtBC,uBAAuB,QAClB,yBAAyB;AAChC,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGT,KAAK,CAACU,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,sBAAsB,CAAC;AAkBxDG,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CACR,IAAIZ,MAAM,CACR,+BAA+B,EAC/B,kDACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,mBAAmB,EACnB,kEACF,CACF,CAAC,CACAY,SAAS,CAAC,IAAIZ,MAAM,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC,CAC7EY,SAAS,CACR,IAAIZ,MAAM,CAAC,aAAa,EAAE,8CAA8C,CAC1E,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,oBAAoB,EACpB,4DACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CAAC,cAAc,EAAE,yCAAyC,CACtE,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,qBAAqB,EACrB,2CACF,CACF,CAAC,CACAa,MAAM,CACL,OACEC,IAAY,EACZC,KAAa,EACbC,IAAY,EACZC,QAAgB,EAChBC,OAA6B,EAC7BC,OAAO,KACJ;EACHA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EAED,MAAME,KAAK,GAAGH,OAAO,CAACG,KAAK,IAAI,KAAK;EACpC,MAAMC,YAAY,GAAGJ,OAAO,CAACK,MAAM,IAAI,KAAK;EAC5C,MAAMC,WAAW,GAAGN,OAAO,CAACH,KAAK,IAAI,KAAK;;EAE1C;EACA,IAAIG,OAAO,CAACO,SAAS,IAAIP,OAAO,CAACQ,IAAI,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5DF,cAAc,CAAC,sBAAsB,CAAC;IACtC,MAAMJ,qBAAqB,CAACgB,OAAO,CAACO,SAAS,EAAEP,OAAO,CAACQ,IAAI,EAAE;MAC3DL,KAAK;MACLE,MAAM,EAAED,YAAY;MACpBP,KAAK,EAAES;IACT,CAAC,CAAC;EACJ;EACA;EAAA,KACK,IAAIN,OAAO,CAACS,GAAG,IAAIT,OAAO,CAACQ,IAAI,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3DF,cAAc,CAAC,8CAA8C,CAAC;IAC9D,MAAMH,sBAAsB,CAACe,OAAO,CAACQ,IAAI,EAAE;MACzCL,KAAK;MACLE,MAAM,EAAED,YAAY;MACpBP,KAAK,EAAES;IACT,CAAC,CAAC;EACJ;EACA;EAAA,KACK,IAAIN,OAAO,CAACU,WAAW,KAAK,MAAMpB,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDF,cAAc,CAAC,+CAA+C,CAAC;IAC/D,MAAMF,uBAAuB,CAAC;MAC5BiB,KAAK;MACLE,MAAM,EAAED,YAAY;MACpBP,KAAK,EAAES;IACT,CAAC,CAAC;EACJ;EACA;EAAA,KACK,IAAIN,OAAO,CAACQ,IAAI,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CF,cAAc,CAAC,sBAAsB,CAAC;IACtC,MAAML,0BAA0B,CAACiB,OAAO,CAACQ,IAAI,EAAE;MAC7CL,KAAK;MACLE,MAAM,EAAED,YAAY;MACpBP,KAAK,EAAES;IACT,CAAC,CAAC;EACJ;EACA;EAAA,KACK;IACHnB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACmB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHrB,OAAO,CAACsB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"service-import.js","names":["Option","getTokens","importFirstServiceFromFile","importServiceFromFile","importServicesFromFile","importServicesFromFiles","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","clean","globalConfig","global","realmConfig","serviceId","file","outcome","process","exitCode","all","allSeparate","help","parse"],"sources":["../../../src/cli/service/service-import.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n importFirstServiceFromFile,\n importServiceFromFile,\n importServicesFromFile,\n importServicesFromFiles,\n} from '../../ops/ServiceOps.js';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo service import');\n\ninterface ServiceImportOptions {\n file?: string;\n all?: boolean;\n serviceId?: string;\n allSeparate?: boolean;\n type?: string;\n insecure?: boolean;\n clean?: boolean;\n directory?: string;\n verbose?: boolean;\n debug?: boolean;\n curlirize?: boolean;\n global?: boolean;\n realm?: boolean;\n}\n\nprogram\n .description('Import AM services.')\n .addOption(\n new Option(\n '-i, --service-id <service-id>',\n 'Service id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import SAML Entity(s) from. Ignored with -A.'\n )\n )\n .addOption(new Option('-a, --all', 'Import all services from a single file.'))\n .addOption(\n new Option('-C, --clean', 'Remove existing service(s) before importing.')\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all services from separate files <id>.service.json.'\n )\n )\n .addOption(\n new Option('-g, --global', 'Import service(s) as global service(s).')\n )\n .addOption(\n new Option(\n '-r, --current-realm',\n 'Import service(s) into the current realm.'\n )\n )\n .action(\n async (\n host: string,\n realm: string,\n user: string,\n password: string,\n options: ServiceImportOptions,\n command\n ) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n\n const clean = options.clean ?? false;\n const globalConfig = options.global ?? false;\n const realmConfig = options.realm ?? false;\n\n // import by id\n if (options.serviceId && options.file && (await getTokens())) {\n verboseMessage('Importing service...');\n const outcome = await importServiceFromFile(\n options.serviceId,\n options.file,\n {\n clean,\n global: globalConfig,\n realm: realmConfig,\n }\n );\n if (!outcome) process.exitCode = 1;\n }\n // -a / --all\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage('Importing all services from a single file...');\n const outcome = await importServicesFromFile(options.file, {\n clean,\n global: globalConfig,\n realm: realmConfig,\n });\n if (!outcome) process.exitCode = 1;\n }\n // -A / --all-separate\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Importing all services from separate files...');\n const outcome = await importServicesFromFiles({\n clean,\n global: globalConfig,\n realm: realmConfig,\n });\n if (!outcome) process.exitCode = 1;\n }\n // import file\n else if (options.file && (await getTokens())) {\n verboseMessage('Importing service...');\n const outcome = await importFirstServiceFromFile(options.file, {\n clean,\n global: globalConfig,\n realm: realmConfig,\n });\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -1,17 +1,15 @@
1
- import { frodo } from '@rockcarver/frodo-lib';
2
1
  import { Option } from 'commander';
2
+ import { getTokens } from '../../ops/AuthenticateOps';
3
3
  import { listServices } from '../../ops/ServiceOps.js';
4
4
  import { verboseMessage } from '../../utils/Console.js';
5
5
  import { FrodoCommand } from '../FrodoCommand';
6
- const {
7
- getTokens
8
- } = frodo.login;
9
6
  const program = new FrodoCommand('frodo service list');
10
7
  program.description('List AM services.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).addOption(new Option('-g, --global', 'List global services.')).action(async (host, realm, user, password, options, command) => {
11
8
  command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
12
9
  if (await getTokens()) {
13
10
  verboseMessage(`Listing all AM services for realm: ${realm}`);
14
- await listServices(options.long, options.global);
11
+ const outcome = await listServices(options.long, options.global);
12
+ if (!outcome) process.exitCode = 1;
15
13
  } else {
16
14
  process.exitCode = 1;
17
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service-list.js","names":["frodo","Option","listServices","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","long","global","process","exitCode","parse"],"sources":["../../../src/cli/service/service-list.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { listServices } from '../../ops/ServiceOps.js';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo service list');\n\nprogram\n .description('List AM services.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .addOption(new Option('-g, --global', 'List global services.'))\n .action(async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing all AM services for realm: ${realm}`);\n await listServices(options.long, options.global);\n } else {\n process.exitCode = 1;\n }\n });\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGL,KAAK,CAACM,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,oBAAoB,CAAC;AAEtDG,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACS,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAD,SAAS,CAAC,IAAIR,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAC9DU,MAAM,CAAC,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EAC/DA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,cAAc,CAAE,sCAAqCU,KAAM,EAAC,CAAC;IAC7D,MAAMX,YAAY,CAACc,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACI,MAAM,CAAC;EAClD,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF,CAAC,CAAC;AAEJf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"service-list.js","names":["Option","getTokens","listServices","verboseMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","outcome","long","global","process","exitCode","parse"],"sources":["../../../src/cli/service/service-list.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { listServices } from '../../ops/ServiceOps.js';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo service list');\n\nprogram\n .description('List AM services.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .addOption(new Option('-g, --global', 'List global services.'))\n .action(async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing all AM services for realm: ${realm}`);\n const outcome = await listServices(options.long, options.global);\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n });\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,oBAAoB,CAAC;AAEtDC,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIP,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACQ,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAD,SAAS,CAAC,IAAIP,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAC9DS,MAAM,CAAC,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EAC/DA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBE,cAAc,CAAE,sCAAqCQ,KAAM,EAAC,CAAC;IAC7D,MAAMM,OAAO,GAAG,MAAMf,YAAY,CAACY,OAAO,CAACI,IAAI,EAAEJ,OAAO,CAACK,MAAM,CAAC;IAChE,IAAI,CAACF,OAAO,EAAEG,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF,CAAC,CAAC;AAEJhB,OAAO,CAACiB,KAAK,CAAC,CAAC"}
@@ -3,11 +3,9 @@ import fuzzy from 'fuzzy';
3
3
  import inquirer from 'inquirer';
4
4
  import inquirerPrompt from 'inquirer-autocomplete-prompt';
5
5
  import * as s from '../../help/SampleData';
6
- import { printMessage } from '../../utils/Console';
6
+ import { getTokens } from '../../ops/AuthenticateOps';
7
+ import { printError, printMessage } from '../../utils/Console';
7
8
  import { FrodoCommand } from '../FrodoCommand';
8
- const {
9
- getTokens
10
- } = frodo.login;
11
9
  const exits = ['exit', 'quit', 'q'];
12
10
  const functions = frodo.utils.json.getPaths(frodo, 'this.');
13
11
  function searchFunctions(_answers, input = '') {
@@ -46,9 +44,7 @@ export default function setup() {
46
44
  printMessage(result, 'data');
47
45
  }
48
46
  } catch (error) {
49
- var _error$response;
50
- printMessage((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data, 'error');
51
- printMessage(`${error}`, 'error');
47
+ printError(error);
52
48
  }
53
49
  } while (!exit);
54
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","names":["frodo","fuzzy","inquirer","inquirerPrompt","s","printMessage","FrodoCommand","getTokens","login","exits","functions","utils","json","getPaths","searchFunctions","_answers","input","Promise","resolve","setTimeout","results","filter","map","el","original","Math","random","setup","program","description","addHelpText","amBaseUrl","username","password","connId","action","host","realm","user","options","command","handleDefaultArgsAndOpts","exit","registerPrompt","response","prompt","type","prefix","name","message","source","suggestOnly","includes","result","str","eval","call","error","_error$response","data"],"sources":["../../../src/cli/shell/shell.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fuzzy from 'fuzzy';\nimport inquirer from 'inquirer';\nimport inquirerPrompt from 'inquirer-autocomplete-prompt';\n\nimport * as s from '../../help/SampleData';\nimport { printMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst exits = ['exit', 'quit', 'q'];\nconst functions = frodo.utils.json.getPaths(frodo, 'this.');\n\nfunction searchFunctions(_answers, input = '') {\n return new Promise((resolve) => {\n setTimeout(\n () => {\n const results = fuzzy.filter(input, functions).map((el) => el.original);\n // results.splice(5, 0, new inquirer.Separator());\n // results.push(new inquirer.Separator());\n resolve(results);\n },\n Math.random() * 470 + 30\n );\n });\n}\n\nexport default function setup() {\n const program = new FrodoCommand('shell');\n program\n .description('Launch the frodo interactive shell.')\n .addHelpText(\n 'after',\n `Usage Examples:\\n` +\n ` Launch a frodo shell using explicit login parameters:\\n` +\n ` $ frodo shell ${s.amBaseUrl} ${s.username} '${s.password}'\\n`[\n 'brightCyan'\n ] +\n ` Launch a frodo shell using a connection profile (identified by the full AM base URL):\\n` +\n ` $ frodo shell ${s.amBaseUrl}'\\n`['brightCyan'] +\n ` Launch a frodo shell using a connection profile (identified by a unique substring of the AM base URL):\\n` +\n ` $ frodo shell ${s.connId}'\\n`['brightCyan']\n )\n .action(async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (host) await getTokens();\n let exit = false;\n do {\n try {\n inquirer.registerPrompt('autocomplete', inquirerPrompt);\n const response = await inquirer.prompt([\n {\n type: 'autocomplete',\n prefix: '',\n name: 'command',\n message: '>',\n source: searchFunctions,\n suggestOnly: true,\n },\n ]);\n exit = exits.includes(response.command);\n // evaluate code with context\n if (!exit) {\n const result = await function (str: string) {\n return eval(str);\n }.call(frodo, `${response.command}`);\n printMessage(result, 'data');\n }\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(`${error}`, 'error');\n }\n } while (!exit);\n });\n return program;\n}\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,UAAU;AAC/B,OAAOC,cAAc,MAAM,8BAA8B;AAEzD,OAAO,KAAKC,CAAC,MAAM,uBAAuB;AAC1C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGP,KAAK,CAACQ,KAAK;AAEjC,MAAMC,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC;AACnC,MAAMC,SAAS,GAAGV,KAAK,CAACW,KAAK,CAACC,IAAI,CAACC,QAAQ,CAACb,KAAK,EAAE,OAAO,CAAC;AAE3D,SAASc,eAAeA,CAACC,QAAQ,EAAEC,KAAK,GAAG,EAAE,EAAE;EAC7C,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;IAC9BC,UAAU,CACR,MAAM;MACJ,MAAMC,OAAO,GAAGnB,KAAK,CAACoB,MAAM,CAACL,KAAK,EAAEN,SAAS,CAAC,CAACY,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,QAAQ,CAAC;MACvE;MACA;MACAN,OAAO,CAACE,OAAO,CAAC;IAClB,CAAC,EACDK,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,EACxB,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAItB,YAAY,CAAC,OAAO,CAAC;EACzCsB,OAAO,CACJC,WAAW,CAAC,qCAAqC,CAAC,CAClDC,WAAW,CACV,OAAO,EACN,mBAAkB,GAChB,2DAA0D,GAC1D,mBAAkB1B,CAAC,CAAC2B,SAAU,IAAG3B,CAAC,CAAC4B,QAAS,KAAI5B,CAAC,CAAC6B,QAAS,KAAI,CAC9D,YAAY,CACb,GACA,2FAA0F,GAC1F,mBAAkB7B,CAAC,CAAC2B,SAAU,KAAI,CAAC,YAAY,CAAC,GAChD,4GAA2G,GAC3G,mBAAkB3B,CAAC,CAAC8B,MAAO,KAAI,CAAC,YAAY,CACjD,CAAC,CACAC,MAAM,CAAC,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEL,QAAQ,EAAEM,OAAO,EAAEC,OAAO,KAAK;IAC/DA,OAAO,CAACC,wBAAwB,CAC9BL,IAAI,EACJC,KAAK,EACLC,IAAI,EACJL,QAAQ,EACRM,OAAO,EACPC,OACF,CAAC;IACD,IAAIJ,IAAI,EAAE,MAAM7B,SAAS,CAAC,CAAC;IAC3B,IAAImC,IAAI,GAAG,KAAK;IAChB,GAAG;MACD,IAAI;QACFxC,QAAQ,CAACyC,cAAc,CAAC,cAAc,EAAExC,cAAc,CAAC;QACvD,MAAMyC,QAAQ,GAAG,MAAM1C,QAAQ,CAAC2C,MAAM,CAAC,CACrC;UACEC,IAAI,EAAE,cAAc;UACpBC,MAAM,EAAE,EAAE;UACVC,IAAI,EAAE,SAAS;UACfC,OAAO,EAAE,GAAG;UACZC,MAAM,EAAEpC,eAAe;UACvBqC,WAAW,EAAE;QACf,CAAC,CACF,CAAC;QACFT,IAAI,GAAGjC,KAAK,CAAC2C,QAAQ,CAACR,QAAQ,CAACJ,OAAO,CAAC;QACvC;QACA,IAAI,CAACE,IAAI,EAAE;UACT,MAAMW,MAAM,GAAG,MAAM,UAAUC,GAAW,EAAE;YAC1C,OAAOC,IAAI,CAACD,GAAG,CAAC;UAClB,CAAC,CAACE,IAAI,CAACxD,KAAK,EAAG,GAAE4C,QAAQ,CAACJ,OAAQ,EAAC,CAAC;UACpCnC,YAAY,CAACgD,MAAM,EAAE,MAAM,CAAC;QAC9B;MACF,CAAC,CAAC,OAAOI,KAAK,EAAE;QAAA,IAAAC,eAAA;QACdrD,YAAY,EAAAqD,eAAA,GAACD,KAAK,CAACb,QAAQ,cAAAc,eAAA,uBAAdA,eAAA,CAAgBC,IAAI,EAAE,OAAO,CAAC;QAC3CtD,YAAY,CAAE,GAAEoD,KAAM,EAAC,EAAE,OAAO,CAAC;MACnC;IACF,CAAC,QAAQ,CAACf,IAAI;EAChB,CAAC,CAAC;EACJ,OAAOd,OAAO;AAChB"}
1
+ {"version":3,"file":"shell.js","names":["frodo","fuzzy","inquirer","inquirerPrompt","s","getTokens","printError","printMessage","FrodoCommand","exits","functions","utils","json","getPaths","searchFunctions","_answers","input","Promise","resolve","setTimeout","results","filter","map","el","original","Math","random","setup","program","description","addHelpText","amBaseUrl","username","password","connId","action","host","realm","user","options","command","handleDefaultArgsAndOpts","exit","registerPrompt","response","prompt","type","prefix","name","message","source","suggestOnly","includes","result","str","eval","call","error"],"sources":["../../../src/cli/shell/shell.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fuzzy from 'fuzzy';\nimport inquirer from 'inquirer';\nimport inquirerPrompt from 'inquirer-autocomplete-prompt';\n\nimport * as s from '../../help/SampleData';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { printError, printMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst exits = ['exit', 'quit', 'q'];\nconst functions = frodo.utils.json.getPaths(frodo, 'this.');\n\nfunction searchFunctions(_answers, input = '') {\n return new Promise((resolve) => {\n setTimeout(\n () => {\n const results = fuzzy.filter(input, functions).map((el) => el.original);\n // results.splice(5, 0, new inquirer.Separator());\n // results.push(new inquirer.Separator());\n resolve(results);\n },\n Math.random() * 470 + 30\n );\n });\n}\n\nexport default function setup() {\n const program = new FrodoCommand('shell');\n program\n .description('Launch the frodo interactive shell.')\n .addHelpText(\n 'after',\n `Usage Examples:\\n` +\n ` Launch a frodo shell using explicit login parameters:\\n` +\n ` $ frodo shell ${s.amBaseUrl} ${s.username} '${s.password}'\\n`[\n 'brightCyan'\n ] +\n ` Launch a frodo shell using a connection profile (identified by the full AM base URL):\\n` +\n ` $ frodo shell ${s.amBaseUrl}'\\n`['brightCyan'] +\n ` Launch a frodo shell using a connection profile (identified by a unique substring of the AM base URL):\\n` +\n ` $ frodo shell ${s.connId}'\\n`['brightCyan']\n )\n .action(async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (host) await getTokens();\n let exit = false;\n do {\n try {\n inquirer.registerPrompt('autocomplete', inquirerPrompt);\n const response = await inquirer.prompt([\n {\n type: 'autocomplete',\n prefix: '',\n name: 'command',\n message: '>',\n source: searchFunctions,\n suggestOnly: true,\n },\n ]);\n exit = exits.includes(response.command);\n // evaluate code with context\n if (!exit) {\n const result = await function (str: string) {\n return eval(str);\n }.call(frodo, `${response.command}`);\n printMessage(result, 'data');\n }\n } catch (error) {\n printError(error);\n }\n } while (!exit);\n });\n return program;\n}\n"],"mappings":"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"}
@@ -1,11 +1,9 @@
1
- import { frodo, state } from '@rockcarver/frodo-lib';
1
+ import { state } from '@rockcarver/frodo-lib';
2
2
  import { Option } from 'commander';
3
- import { deleteAllThemes, deleteThemeByNameCmd, deleteThemeCmd } from '../../ops/ThemeOps';
3
+ import { getTokens } from '../../ops/AuthenticateOps';
4
+ import { deleteTheme, deleteThemeByName, deleteThemes } from '../../ops/ThemeOps';
4
5
  import { printMessage, verboseMessage } from '../../utils/Console';
5
6
  import { FrodoCommand } from '../FrodoCommand';
6
- const {
7
- getTokens
8
- } = frodo.login;
9
7
  const program = new FrodoCommand('frodo theme delete');
10
8
  program.description('Delete themes.').addOption(new Option('-n, --theme-name <name>', 'Name of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-i, --theme-id <uuid>', 'Uuid of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all the themes in the realm. Ignored with -n and -i.')).action(
11
9
  // implement command logic inside action handler
@@ -14,17 +12,20 @@ async (host, realm, user, password, options, command) => {
14
12
  // delete by name
15
13
  if (options.themeName && (await getTokens())) {
16
14
  verboseMessage(`Deleting theme with name "${options.themeName}" from realm "${state.getRealm()}"...`);
17
- await deleteThemeByNameCmd(options.themeName);
15
+ const outcome = await deleteThemeByName(options.themeName);
16
+ if (!outcome) process.exitCode = 1;
18
17
  }
19
18
  // delete by id
20
19
  else if (options.themeId && (await getTokens())) {
21
20
  verboseMessage(`Deleting theme with id "${options.themeId}" from realm "${state.getRealm()}"...`);
22
- await deleteThemeCmd(options.themeId);
21
+ const outcome = await deleteTheme(options.themeId);
22
+ if (!outcome) process.exitCode = 1;
23
23
  }
24
24
  // --all -a
25
25
  else if (options.all && (await getTokens())) {
26
26
  verboseMessage(`Deleting all themes from realm "${state.getRealm()}"...`);
27
- await deleteAllThemes();
27
+ const outcome = await deleteThemes();
28
+ if (!outcome) process.exitCode = 1;
28
29
  }
29
30
  // unrecognized combination of options or no options
30
31
  else {