@rockcarver/frodo-cli 0.18.2-7 → 0.18.2-9

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 (334) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/esm/app.js +2 -2
  3. package/esm/app.js.map +1 -1
  4. package/esm/cli/_template/something-delete.js +7 -4
  5. package/esm/cli/_template/something-delete.js.map +1 -1
  6. package/esm/cli/_template/something-describe.js +7 -4
  7. package/esm/cli/_template/something-describe.js.map +1 -1
  8. package/esm/cli/_template/something-else-delete.js +7 -4
  9. package/esm/cli/_template/something-else-delete.js.map +1 -1
  10. package/esm/cli/_template/something-else-describe.js +7 -4
  11. package/esm/cli/_template/something-else-describe.js.map +1 -1
  12. package/esm/cli/_template/something-else-export.js +7 -4
  13. package/esm/cli/_template/something-else-export.js.map +1 -1
  14. package/esm/cli/_template/something-else-import.js +7 -4
  15. package/esm/cli/_template/something-else-import.js.map +1 -1
  16. package/esm/cli/_template/something-else-list.js +7 -4
  17. package/esm/cli/_template/something-else-list.js.map +1 -1
  18. package/esm/cli/_template/something-else.js.map +1 -1
  19. package/esm/cli/_template/something-export.js +7 -4
  20. package/esm/cli/_template/something-export.js.map +1 -1
  21. package/esm/cli/_template/something-import.js +7 -4
  22. package/esm/cli/_template/something-import.js.map +1 -1
  23. package/esm/cli/_template/something-list.js +7 -4
  24. package/esm/cli/_template/something-list.js.map +1 -1
  25. package/esm/cli/_template/something-other-delete.js +7 -4
  26. package/esm/cli/_template/something-other-delete.js.map +1 -1
  27. package/esm/cli/_template/something-other-describe.js +7 -4
  28. package/esm/cli/_template/something-other-describe.js.map +1 -1
  29. package/esm/cli/_template/something-other-export.js +7 -4
  30. package/esm/cli/_template/something-other-export.js.map +1 -1
  31. package/esm/cli/_template/something-other-import.js +7 -4
  32. package/esm/cli/_template/something-other-import.js.map +1 -1
  33. package/esm/cli/_template/something-other-list.js +7 -4
  34. package/esm/cli/_template/something-other-list.js.map +1 -1
  35. package/esm/cli/_template/something-other.js.map +1 -1
  36. package/esm/cli/_template/something.js +0 -2
  37. package/esm/cli/_template/something.js.map +1 -1
  38. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +5 -3
  39. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  40. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +7 -11
  41. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  42. package/esm/cli/admin/admin-get-access-token.js +5 -3
  43. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  44. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +5 -3
  45. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  46. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +5 -3
  47. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  48. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +5 -3
  49. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  50. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +5 -3
  51. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  52. package/esm/cli/admin/admin-list-static-user-mappings.js +5 -3
  53. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  54. package/esm/cli/admin/admin-remove-static-user-mapping.js +5 -3
  55. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  56. package/esm/cli/admin/admin-repair-org-model.js +5 -3
  57. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  58. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +5 -3
  59. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  60. package/esm/cli/admin/admin-show-generic-extension-attributes.js +5 -3
  61. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  62. package/esm/cli/admin/admin.js +0 -2
  63. package/esm/cli/admin/admin.js.map +1 -1
  64. package/esm/cli/agent/agent-delete.js +9 -7
  65. package/esm/cli/agent/agent-delete.js.map +1 -1
  66. package/esm/cli/agent/agent-describe.js +7 -4
  67. package/esm/cli/agent/agent-describe.js.map +1 -1
  68. package/esm/cli/agent/agent-export.js +11 -6
  69. package/esm/cli/agent/agent-export.js.map +1 -1
  70. package/esm/cli/agent/agent-gateway-delete.js +9 -7
  71. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  72. package/esm/cli/agent/agent-gateway-describe.js +7 -4
  73. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  74. package/esm/cli/agent/agent-gateway-export.js +11 -6
  75. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  76. package/esm/cli/agent/agent-gateway-import.js +13 -7
  77. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  78. package/esm/cli/agent/agent-gateway-list.js +5 -3
  79. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  80. package/esm/cli/agent/agent-gateway.js.map +1 -1
  81. package/esm/cli/agent/agent-import.js +13 -7
  82. package/esm/cli/agent/agent-import.js.map +1 -1
  83. package/esm/cli/agent/agent-java-delete.js +9 -7
  84. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  85. package/esm/cli/agent/agent-java-describe.js +7 -4
  86. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  87. package/esm/cli/agent/agent-java-export.js +11 -6
  88. package/esm/cli/agent/agent-java-export.js.map +1 -1
  89. package/esm/cli/agent/agent-java-import.js +13 -7
  90. package/esm/cli/agent/agent-java-import.js.map +1 -1
  91. package/esm/cli/agent/agent-java-list.js +5 -3
  92. package/esm/cli/agent/agent-java-list.js.map +1 -1
  93. package/esm/cli/agent/agent-java.js.map +1 -1
  94. package/esm/cli/agent/agent-list.js +5 -3
  95. package/esm/cli/agent/agent-list.js.map +1 -1
  96. package/esm/cli/agent/agent-web-delete.js +9 -7
  97. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  98. package/esm/cli/agent/agent-web-describe.js +7 -4
  99. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  100. package/esm/cli/agent/agent-web-export.js +11 -6
  101. package/esm/cli/agent/agent-web-export.js.map +1 -1
  102. package/esm/cli/agent/agent-web-import.js +13 -7
  103. package/esm/cli/agent/agent-web-import.js.map +1 -1
  104. package/esm/cli/agent/agent-web-list.js +5 -3
  105. package/esm/cli/agent/agent-web-list.js.map +1 -1
  106. package/esm/cli/agent/agent-web.js.map +1 -1
  107. package/esm/cli/agent/agent.js +0 -2
  108. package/esm/cli/agent/agent.js.map +1 -1
  109. package/esm/cli/app/app-delete.js +7 -4
  110. package/esm/cli/app/app-delete.js.map +1 -1
  111. package/esm/cli/app/app-describe.js +7 -4
  112. package/esm/cli/app/app-describe.js.map +1 -1
  113. package/esm/cli/app/app-export.js +11 -6
  114. package/esm/cli/app/app-export.js.map +1 -1
  115. package/esm/cli/app/app-import.js +9 -5
  116. package/esm/cli/app/app-import.js.map +1 -1
  117. package/esm/cli/app/app-list.js +5 -3
  118. package/esm/cli/app/app-list.js.map +1 -1
  119. package/esm/cli/app/app.js +8 -5
  120. package/esm/cli/app/app.js.map +1 -1
  121. package/esm/cli/cmd_common.js +2 -1
  122. package/esm/cli/cmd_common.js.map +1 -1
  123. package/esm/cli/conn/conn-add.js +5 -5
  124. package/esm/cli/conn/conn-add.js.map +1 -1
  125. package/esm/cli/conn/conn-delete.js +5 -2
  126. package/esm/cli/conn/conn-delete.js.map +1 -1
  127. package/esm/cli/conn/conn-describe.js +5 -2
  128. package/esm/cli/conn/conn-describe.js.map +1 -1
  129. package/esm/cli/conn/conn-list.js +7 -3
  130. package/esm/cli/conn/conn-list.js.map +1 -1
  131. package/esm/cli/conn/conn.js +2 -3
  132. package/esm/cli/conn/conn.js.map +1 -1
  133. package/esm/cli/email/email-template-export.js +13 -12
  134. package/esm/cli/email/email-template-export.js.map +1 -1
  135. package/esm/cli/email/email-template-import.js +15 -14
  136. package/esm/cli/email/email-template-import.js.map +1 -1
  137. package/esm/cli/email/email-template-list.js +7 -7
  138. package/esm/cli/email/email-template-list.js.map +1 -1
  139. package/esm/cli/email/email-template.js.map +1 -1
  140. package/esm/cli/email/email.js +0 -2
  141. package/esm/cli/email/email.js.map +1 -1
  142. package/esm/cli/esv/esv-apply.js +9 -11
  143. package/esm/cli/esv/esv-apply.js.map +1 -1
  144. package/esm/cli/esv/esv-secret-create.js +5 -3
  145. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  146. package/esm/cli/esv/esv-secret-delete.js +9 -5
  147. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  148. package/esm/cli/esv/esv-secret-describe.js +5 -3
  149. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  150. package/esm/cli/esv/esv-secret-export.js +7 -4
  151. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  152. package/esm/cli/esv/esv-secret-import.js +7 -4
  153. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  154. package/esm/cli/esv/esv-secret-list.js +5 -3
  155. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  156. package/esm/cli/esv/esv-secret-set.js +5 -3
  157. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  158. package/esm/cli/esv/esv-secret-version-activate.js +7 -4
  159. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  160. package/esm/cli/esv/esv-secret-version-create.js +5 -3
  161. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  162. package/esm/cli/esv/esv-secret-version-deactivate.js +7 -4
  163. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  164. package/esm/cli/esv/esv-secret-version-delete.js +7 -4
  165. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  166. package/esm/cli/esv/esv-secret-version-list.js +5 -3
  167. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  168. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  169. package/esm/cli/esv/esv-secret.js +4 -1
  170. package/esm/cli/esv/esv-secret.js.map +1 -1
  171. package/esm/cli/esv/esv-variable-create.js +5 -3
  172. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  173. package/esm/cli/esv/esv-variable-delete.js +9 -5
  174. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  175. package/esm/cli/esv/esv-variable-describe.js +5 -3
  176. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  177. package/esm/cli/esv/esv-variable-export.js +7 -4
  178. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  179. package/esm/cli/esv/esv-variable-import.js +7 -4
  180. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  181. package/esm/cli/esv/esv-variable-list.js +5 -3
  182. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  183. package/esm/cli/esv/esv-variable-set.js +7 -4
  184. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  185. package/esm/cli/esv/esv-variable.js +4 -1
  186. package/esm/cli/esv/esv-variable.js.map +1 -1
  187. package/esm/cli/esv/esv.js +0 -2
  188. package/esm/cli/esv/esv.js.map +1 -1
  189. package/esm/cli/idm/idm-count.js +5 -3
  190. package/esm/cli/idm/idm-count.js.map +1 -1
  191. package/esm/cli/idm/idm-export.js +11 -6
  192. package/esm/cli/idm/idm-export.js.map +1 -1
  193. package/esm/cli/idm/idm-import.js +11 -6
  194. package/esm/cli/idm/idm-import.js.map +1 -1
  195. package/esm/cli/idm/idm-list.js +7 -4
  196. package/esm/cli/idm/idm-list.js.map +1 -1
  197. package/esm/cli/idm/idm.js +2 -3
  198. package/esm/cli/idm/idm.js.map +1 -1
  199. package/esm/cli/idp/idp-export.js +11 -6
  200. package/esm/cli/idp/idp-export.js.map +1 -1
  201. package/esm/cli/idp/idp-import.js +13 -7
  202. package/esm/cli/idp/idp-import.js.map +1 -1
  203. package/esm/cli/idp/idp-list.js +7 -4
  204. package/esm/cli/idp/idp-list.js.map +1 -1
  205. package/esm/cli/idp/idp.js +0 -2
  206. package/esm/cli/idp/idp.js.map +1 -1
  207. package/esm/cli/info/info.js +0 -5
  208. package/esm/cli/info/info.js.map +1 -1
  209. package/esm/cli/journey/journey-delete.e2e.test_.js.map +1 -1
  210. package/esm/cli/journey/journey-delete.js +9 -5
  211. package/esm/cli/journey/journey-delete.js.map +1 -1
  212. package/esm/cli/journey/journey-describe.js +31 -28
  213. package/esm/cli/journey/journey-describe.js.map +1 -1
  214. package/esm/cli/journey/journey-disable.js +9 -6
  215. package/esm/cli/journey/journey-disable.js.map +1 -1
  216. package/esm/cli/journey/journey-enable.js +9 -6
  217. package/esm/cli/journey/journey-enable.js.map +1 -1
  218. package/esm/cli/journey/journey-export.js +11 -6
  219. package/esm/cli/journey/journey-export.js.map +1 -1
  220. package/esm/cli/journey/journey-import.js +13 -7
  221. package/esm/cli/journey/journey-import.js.map +1 -1
  222. package/esm/cli/journey/journey-list.e2e.test_.js.map +1 -1
  223. package/esm/cli/journey/journey-list.js +5 -3
  224. package/esm/cli/journey/journey-list.js.map +1 -1
  225. package/esm/cli/journey/journey-prune.js +5 -5
  226. package/esm/cli/journey/journey-prune.js.map +1 -1
  227. package/esm/cli/journey/journey.js +0 -2
  228. package/esm/cli/journey/journey.js.map +1 -1
  229. package/esm/cli/logging/logs-fetch.js +2 -11
  230. package/esm/cli/logging/logs-fetch.js.map +1 -1
  231. package/esm/cli/logging/logs-list.js +0 -5
  232. package/esm/cli/logging/logs-list.js.map +1 -1
  233. package/esm/cli/logging/logs-tail.js +0 -4
  234. package/esm/cli/logging/logs-tail.js.map +1 -1
  235. package/esm/cli/logging/logs.js +2 -4
  236. package/esm/cli/logging/logs.js.map +1 -1
  237. package/esm/cli/realm/realm-add-custom-domain.js +5 -3
  238. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  239. package/esm/cli/realm/realm-describe.js +5 -3
  240. package/esm/cli/realm/realm-describe.js.map +1 -1
  241. package/esm/cli/realm/realm-list.js +5 -3
  242. package/esm/cli/realm/realm-list.js.map +1 -1
  243. package/esm/cli/realm/realm-remove-custom-domain.js +5 -3
  244. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  245. package/esm/cli/realm/realm.js +5 -4
  246. package/esm/cli/realm/realm.js.map +1 -1
  247. package/esm/cli/saml/saml-cot-export.js +11 -6
  248. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  249. package/esm/cli/saml/saml-cot-import.js +13 -7
  250. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  251. package/esm/cli/saml/saml-cot-list.js +5 -3
  252. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  253. package/esm/cli/saml/saml-cot.js.map +1 -1
  254. package/esm/cli/saml/saml-delete.js +11 -6
  255. package/esm/cli/saml/saml-delete.js.map +1 -1
  256. package/esm/cli/saml/saml-describe.js +5 -3
  257. package/esm/cli/saml/saml-describe.js.map +1 -1
  258. package/esm/cli/saml/saml-export.js +13 -7
  259. package/esm/cli/saml/saml-export.js.map +1 -1
  260. package/esm/cli/saml/saml-import.js +13 -7
  261. package/esm/cli/saml/saml-import.js.map +1 -1
  262. package/esm/cli/saml/saml-list.js +5 -3
  263. package/esm/cli/saml/saml-list.js.map +1 -1
  264. package/esm/cli/saml/saml-metadata-export.js +7 -4
  265. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  266. package/esm/cli/saml/saml-metadata.js.map +1 -1
  267. package/esm/cli/saml/saml.js +0 -2
  268. package/esm/cli/saml/saml.js.map +1 -1
  269. package/esm/cli/script/script-delete.js +7 -4
  270. package/esm/cli/script/script-delete.js.map +1 -1
  271. package/esm/cli/script/script-describe.js +7 -4
  272. package/esm/cli/script/script-describe.js.map +1 -1
  273. package/esm/cli/script/script-export.js +15 -8
  274. package/esm/cli/script/script-export.js.map +1 -1
  275. package/esm/cli/script/script-import.js +7 -4
  276. package/esm/cli/script/script-import.js.map +1 -1
  277. package/esm/cli/script/script-list.js +5 -3
  278. package/esm/cli/script/script-list.js.map +1 -1
  279. package/esm/cli/script/script.js +6 -4
  280. package/esm/cli/script/script.js.map +1 -1
  281. package/esm/cli/service/service-delete.js +0 -1
  282. package/esm/cli/service/service-delete.js.map +1 -1
  283. package/esm/cli/service/service-export.js +11 -6
  284. package/esm/cli/service/service-export.js.map +1 -1
  285. package/esm/cli/service/service-import.js +13 -6
  286. package/esm/cli/service/service-import.js.map +1 -1
  287. package/esm/cli/service/service-list.js +0 -1
  288. package/esm/cli/service/service-list.js.map +1 -1
  289. package/esm/cli/service/service.js +0 -2
  290. package/esm/cli/service/service.js.map +1 -1
  291. package/esm/cli/theme/theme-delete.e2e.test_.js.map +1 -1
  292. package/esm/cli/theme/theme-delete.js +16 -14
  293. package/esm/cli/theme/theme-delete.js.map +1 -1
  294. package/esm/cli/theme/theme-export.js +17 -15
  295. package/esm/cli/theme/theme-export.js.map +1 -1
  296. package/esm/cli/theme/theme-import.js +19 -17
  297. package/esm/cli/theme/theme-import.js.map +1 -1
  298. package/esm/cli/theme/theme-list.e2e.test_.js.map +1 -1
  299. package/esm/cli/theme/theme-list.js +7 -7
  300. package/esm/cli/theme/theme-list.js.map +1 -1
  301. package/esm/cli/theme/theme.js +0 -2
  302. package/esm/cli/theme/theme.js.map +1 -1
  303. package/esm/ops/AgentOps.js +48 -126
  304. package/esm/ops/AgentOps.js.map +1 -1
  305. package/esm/ops/CirclesOfTrustOps.js +2 -2
  306. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  307. package/esm/ops/EmailTemplateOps.js +270 -6
  308. package/esm/ops/EmailTemplateOps.js.map +1 -1
  309. package/esm/ops/IdpOps.js +2 -2
  310. package/esm/ops/IdpOps.js.map +1 -1
  311. package/esm/ops/JourneyOps.js +96 -152
  312. package/esm/ops/JourneyOps.js.map +1 -1
  313. package/esm/ops/NodeOps.js +6 -12
  314. package/esm/ops/NodeOps.js.map +1 -1
  315. package/esm/ops/Saml2Ops.js +25 -78
  316. package/esm/ops/Saml2Ops.js.map +1 -1
  317. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  318. package/esm/ops/ScriptOps.js +3 -3
  319. package/esm/ops/ScriptOps.js.map +1 -1
  320. package/esm/ops/ServiceOps.js +10 -31
  321. package/esm/ops/ServiceOps.js.map +1 -1
  322. package/esm/ops/ThemeOps.js +331 -2
  323. package/esm/ops/ThemeOps.js.map +1 -1
  324. package/esm/ops/utils/Wordwrap.js.map +1 -1
  325. package/esm/storage/StaticStorage.js.map +1 -1
  326. package/esm/utils/Config.js +0 -9
  327. package/esm/utils/Config.js.map +1 -1
  328. package/esm/utils/Console.js +32 -79
  329. package/esm/utils/Console.js.map +1 -1
  330. package/esm/utils/ExportImportUtils.js +46 -0
  331. package/esm/utils/ExportImportUtils.js.map +1 -0
  332. package/esm/utils/Version.js +6 -24
  333. package/esm/utils/Version.js.map +1 -1
  334. package/package.json +18 -17
@@ -1 +1 @@
1
- {"version":3,"file":"Saml2Ops.test_.js","names":["Saml2","describe","test","expect","listSaml2Providers","toBeDefined","exportSaml2ProviderToFile","exportSaml2MetadataToFile","describeSaml2Provider","exportSaml2ProvidersToFile","exportSaml2ProvidersToFiles","importSaml2ProviderFromFile","importFirstSaml2ProviderFromFile","importSaml2ProvidersFromFile","importSaml2ProvidersFromFiles","exportRawSaml2ProviderToFile","exportRawSaml2ProvidersToFile","exportRawSaml2ProvidersToFiles","importRawSaml2ProvidersFromFile","importRawSaml2ProvidersFromFiles","importRawSaml2ProviderFromFile"],"sources":["ops/Saml2Ops.test_.ts"],"sourcesContent":["import * as Saml2 from './Saml2Ops';\n\ndescribe('Saml2Ops - listSaml2Providers()', () => {\n test('listSaml2Providers() 0: Method is implemented', async () => {\n expect(Saml2.listSaml2Providers).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProviderToFile()', () => {\n test('exportSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2MetadataToFile()', () => {\n test('exportSaml2MetadataToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2MetadataToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - describeSaml2Provider()', () => {\n test('describeSaml2Provider() 0: Method is implemented', async () => {\n expect(Saml2.describeSaml2Provider).toBeDefined();\n });\n\n // test('describeSaml2Provider() 1: Describe saml2 entity provider', async () => {\n // mockFindSaml2Providers(mock);\n // mockGetSaml2ProviderByLocationAndId(mock);\n // mockGetSaml2ProviderMetadata(mock);\n // expect.assertions(2);\n // await Saml2.describeSaml2Provider('iSPAzure');\n // expect(true).toBeTruthy();\n // });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFile()', () => {\n test('exportSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFiles()', () => {\n test('exportSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProviderFromFile()', () => {\n test('importSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importFirstSaml2ProviderFromFile()', () => {\n test('importFirstSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importFirstSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFile()', () => {\n test('importSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFiles()', () => {\n test('importSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProviderToFile()', () => {\n test('exportRawSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFile()', () => {\n test('exportRawSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFiles()', () => {\n test('exportRawSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFile()', () => {\n test('importRawSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFiles()', () => {\n test('importRawSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProviderFromFile()', () => {\n test('importRawSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProviderFromFile).toBeDefined();\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Saml2Ops.test_.js","names":["Saml2","describe","test","expect","listSaml2Providers","toBeDefined","exportSaml2ProviderToFile","exportSaml2MetadataToFile","describeSaml2Provider","exportSaml2ProvidersToFile","exportSaml2ProvidersToFiles","importSaml2ProviderFromFile","importFirstSaml2ProviderFromFile","importSaml2ProvidersFromFile","importSaml2ProvidersFromFiles","exportRawSaml2ProviderToFile","exportRawSaml2ProvidersToFile","exportRawSaml2ProvidersToFiles","importRawSaml2ProvidersFromFile","importRawSaml2ProvidersFromFiles","importRawSaml2ProviderFromFile"],"sources":["ops/Saml2Ops.test_.ts"],"sourcesContent":["import * as Saml2 from './Saml2Ops';\n\ndescribe('Saml2Ops - listSaml2Providers()', () => {\n test('listSaml2Providers() 0: Method is implemented', async () => {\n expect(Saml2.listSaml2Providers).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProviderToFile()', () => {\n test('exportSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2MetadataToFile()', () => {\n test('exportSaml2MetadataToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2MetadataToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - describeSaml2Provider()', () => {\n test('describeSaml2Provider() 0: Method is implemented', async () => {\n expect(Saml2.describeSaml2Provider).toBeDefined();\n });\n\n // test('describeSaml2Provider() 1: Describe saml2 entity provider', async () => {\n // mockFindSaml2Providers(mock);\n // mockGetSaml2ProviderByLocationAndId(mock);\n // mockGetSaml2ProviderMetadata(mock);\n // expect.assertions(2);\n // await Saml2.describeSaml2Provider('iSPAzure');\n // expect(true).toBeTruthy();\n // });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFile()', () => {\n test('exportSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFiles()', () => {\n test('exportSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProviderFromFile()', () => {\n test('importSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importFirstSaml2ProviderFromFile()', () => {\n test('importFirstSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importFirstSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFile()', () => {\n test('importSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFiles()', () => {\n test('importSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProviderToFile()', () => {\n test('exportRawSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFile()', () => {\n test('exportRawSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFiles()', () => {\n test('exportRawSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFile()', () => {\n test('importRawSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFiles()', () => {\n test('importRawSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProviderFromFile()', () => {\n test('importRawSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProviderFromFile).toBeDefined();\n });\n});\n"],"mappings":"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"}
@@ -1,31 +1,31 @@
1
1
  import { ExportImportUtils } from '@rockcarver/frodo-lib';
2
+
2
3
  /**
3
4
  * Get a one-line description of the script object
4
5
  * @param {ScriptSkeleton} scriptObj script object to describe
5
6
  * @returns {string} a one-line description
6
7
  */
7
-
8
8
  export function getOneLineDescription(scriptObj) {
9
9
  const description = `[${scriptObj._id['brightCyan']}] ${scriptObj.context} - ${scriptObj.name}`;
10
10
  return description;
11
11
  }
12
+
12
13
  /**
13
14
  * Get markdown table header
14
15
  * @returns {string} markdown table header
15
16
  */
16
-
17
17
  export function getTableHeaderMd() {
18
18
  let markdown = '';
19
19
  markdown += '| Name | Language | Type | Id |\n';
20
20
  markdown += '| ---- | -------- | ---- | ---|';
21
21
  return markdown;
22
22
  }
23
+
23
24
  /**
24
25
  * Get a one-line description of the script object in markdown
25
26
  * @param {ScriptSkeleton} scriptObj script object to describe
26
27
  * @returns {string} markdown table row
27
28
  */
28
-
29
29
  export function getTableRowMd(scriptObj) {
30
30
  const langMap = {
31
31
  JAVASCRIPT: 'JavaSscript',
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptOps.js","names":["ExportImportUtils","getOneLineDescription","scriptObj","description","_id","context","name","getTableHeaderMd","markdown","getTableRowMd","langMap","JAVASCRIPT","GROOVY","language","titleCase","split","join"],"sources":["ops/ScriptOps.ts"],"sourcesContent":["import { ScriptSkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport { ExportImportUtils } from '@rockcarver/frodo-lib';\n\n/**\n * Get a one-line description of the script object\n * @param {ScriptSkeleton} scriptObj script object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(scriptObj: ScriptSkeleton): string {\n const description = `[${scriptObj._id['brightCyan']}] ${scriptObj.context} - ${scriptObj.name}`;\n return description;\n}\n\n/**\n * Get markdown table header\n * @returns {string} markdown table header\n */\nexport function getTableHeaderMd(): string {\n let markdown = '';\n markdown += '| Name | Language | Type | Id |\\n';\n markdown += '| ---- | -------- | ---- | ---|';\n return markdown;\n}\n\n/**\n * Get a one-line description of the script object in markdown\n * @param {ScriptSkeleton} scriptObj script object to describe\n * @returns {string} markdown table row\n */\nexport function getTableRowMd(scriptObj: ScriptSkeleton): string {\n const langMap = { JAVASCRIPT: 'JavaSscript', GROOVY: 'Groovy' };\n const description = `| ${scriptObj.name} | ${\n langMap[scriptObj.language]\n } | ${ExportImportUtils.titleCase(\n scriptObj.context.split('_').join(' ')\n )} | \\`${scriptObj._id}\\` |`;\n return description;\n}\n"],"mappings":"AACA,SAASA,iBAAT,QAAkC,uBAAlC;AAEA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,qBAAT,CAA+BC,SAA/B,EAAkE;EACvE,MAAMC,WAAW,GAAI,IAAGD,SAAS,CAACE,GAAV,CAAc,YAAd,CAA4B,KAAIF,SAAS,CAACG,OAAQ,MAAKH,SAAS,CAACI,IAAK,EAA9F;EACA,OAAOH,WAAP;AACD;AAED;AACA;AACA;AACA;;AACA,OAAO,SAASI,gBAAT,GAAoC;EACzC,IAAIC,QAAQ,GAAG,EAAf;EACAA,QAAQ,IAAI,mCAAZ;EACAA,QAAQ,IAAI,iCAAZ;EACA,OAAOA,QAAP;AACD;AAED;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,aAAT,CAAuBP,SAAvB,EAA0D;EAC/D,MAAMQ,OAAO,GAAG;IAAEC,UAAU,EAAE,aAAd;IAA6BC,MAAM,EAAE;EAArC,CAAhB;EACA,MAAMT,WAAW,GAAI,KAAID,SAAS,CAACI,IAAK,MACtCI,OAAO,CAACR,SAAS,CAACW,QAAX,CACR,MAAKb,iBAAiB,CAACc,SAAlB,CACJZ,SAAS,CAACG,OAAV,CAAkBU,KAAlB,CAAwB,GAAxB,EAA6BC,IAA7B,CAAkC,GAAlC,CADI,CAEJ,QAAOd,SAAS,CAACE,GAAI,MAJvB;EAKA,OAAOD,WAAP;AACD"}
1
+ {"version":3,"file":"ScriptOps.js","names":["ExportImportUtils","getOneLineDescription","scriptObj","description","_id","context","name","getTableHeaderMd","markdown","getTableRowMd","langMap","JAVASCRIPT","GROOVY","language","titleCase","split","join"],"sources":["ops/ScriptOps.ts"],"sourcesContent":["import { ScriptSkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport { ExportImportUtils } from '@rockcarver/frodo-lib';\n\n/**\n * Get a one-line description of the script object\n * @param {ScriptSkeleton} scriptObj script object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(scriptObj: ScriptSkeleton): string {\n const description = `[${scriptObj._id['brightCyan']}] ${scriptObj.context} - ${scriptObj.name}`;\n return description;\n}\n\n/**\n * Get markdown table header\n * @returns {string} markdown table header\n */\nexport function getTableHeaderMd(): string {\n let markdown = '';\n markdown += '| Name | Language | Type | Id |\\n';\n markdown += '| ---- | -------- | ---- | ---|';\n return markdown;\n}\n\n/**\n * Get a one-line description of the script object in markdown\n * @param {ScriptSkeleton} scriptObj script object to describe\n * @returns {string} markdown table row\n */\nexport function getTableRowMd(scriptObj: ScriptSkeleton): string {\n const langMap = { JAVASCRIPT: 'JavaSscript', GROOVY: 'Groovy' };\n const description = `| ${scriptObj.name} | ${\n langMap[scriptObj.language]\n } | ${ExportImportUtils.titleCase(\n scriptObj.context.split('_').join(' ')\n )} | \\`${scriptObj._id}\\` |`;\n return description;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,uBAAuB;;AAEzD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqB,CAACC,SAAyB,EAAU;EACvE,MAAMC,WAAW,GAAI,IAAGD,SAAS,CAACE,GAAG,CAAC,YAAY,CAAE,KAAIF,SAAS,CAACG,OAAQ,MAAKH,SAAS,CAACI,IAAK,EAAC;EAC/F,OAAOH,WAAW;AACpB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASI,gBAAgB,GAAW;EACzC,IAAIC,QAAQ,GAAG,EAAE;EACjBA,QAAQ,IAAI,mCAAmC;EAC/CA,QAAQ,IAAI,iCAAiC;EAC7C,OAAOA,QAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAa,CAACP,SAAyB,EAAU;EAC/D,MAAMQ,OAAO,GAAG;IAAEC,UAAU,EAAE,aAAa;IAAEC,MAAM,EAAE;EAAS,CAAC;EAC/D,MAAMT,WAAW,GAAI,KAAID,SAAS,CAACI,IAAK,MACtCI,OAAO,CAACR,SAAS,CAACW,QAAQ,CAC3B,MAAKb,iBAAiB,CAACc,SAAS,CAC/BZ,SAAS,CAACG,OAAO,CAACU,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CACtC,QAAOd,SAAS,CAACE,GAAI,MAAK;EAC5B,OAAOD,WAAW;AACpB"}
@@ -21,22 +21,19 @@ const {
21
21
  const {
22
22
  getRealmName
23
23
  } = Utils;
24
+
24
25
  /**
25
26
  * List services
26
27
  */
27
-
28
28
  export async function listServices(long = false) {
29
29
  try {
30
30
  const services = await getListOfServices();
31
31
  services.sort((a, b) => a._id.localeCompare(b._id));
32
-
33
32
  if (long) {
34
33
  const table = createTable(['Service Id', 'Service Name']);
35
-
36
34
  for (const service of services) {
37
35
  table.push([service._id, service.name]);
38
36
  }
39
-
40
37
  printMessage(table.toString(), 'data');
41
38
  } else {
42
39
  for (const service of services) {
@@ -48,45 +45,40 @@ export async function listServices(long = false) {
48
45
  printMessage(error.stack, 'error');
49
46
  }
50
47
  }
48
+
51
49
  /**
52
50
  * Export all services to file
53
51
  * @param {string} file file name
54
52
  */
55
-
56
53
  export async function exportServicesToFile(file) {
57
54
  const exportData = await exportServices();
58
55
  let fileName = getTypedFilename(`all${titleCase(getRealmName(state.default.session.getRealm()))}Services`, `service`);
59
-
60
56
  if (file) {
61
57
  fileName = file;
62
58
  }
63
-
64
59
  saveJsonToFile(exportData, fileName);
65
60
  }
61
+
66
62
  /**
67
63
  * Export service to file
68
64
  * @param {string} serviceId service id
69
65
  * @param {string} file file name
70
66
  */
71
-
72
67
  export async function exportServiceToFile(serviceId, file) {
73
68
  const exportData = await exportService(serviceId);
74
69
  let fileName = getTypedFilename(serviceId, `service`);
75
-
76
70
  if (file) {
77
71
  fileName = file;
78
72
  }
79
-
80
73
  saveJsonToFile(exportData, fileName);
81
74
  }
75
+
82
76
  /**
83
77
  * Export all services to separate files
84
78
  */
85
-
86
79
  export async function exportServicesToFiles() {
87
80
  debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);
88
81
  const services = await getFullServices();
89
-
90
82
  for (const service of services) {
91
83
  const fileName = getTypedFilename(service._type._id, `service`);
92
84
  const exportData = createServiceExportTemplate();
@@ -94,33 +86,29 @@ export async function exportServicesToFiles() {
94
86
  debugMessage(`cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`);
95
87
  saveJsonToFile(exportData, fileName);
96
88
  }
97
-
98
89
  debugMessage(`cli.ServiceOps.exportServicesToFiles: end.`);
99
90
  }
91
+
100
92
  /**
101
93
  * Import a service from file
102
94
  * @param {string} serviceId service id/name
103
95
  * @param {string} file import file name
104
96
  * @param {boolean} clean remove existing service
105
97
  */
106
-
107
98
  export async function importServiceFromFile(serviceId, file, clean) {
108
99
  debugMessage(`cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`);
109
100
  const verbose = state.default.session.getVerbose();
110
101
  fs.readFile(file, 'utf8', async (err, data) => {
111
102
  if (err) throw err;
112
103
  const importData = JSON.parse(data);
113
-
114
104
  if (importData && importData.service[serviceId]) {
115
105
  if (!verbose) showSpinner(`Importing ${serviceId}...`);
116
-
117
106
  try {
118
107
  if (verbose) showSpinner(`Importing ${serviceId}...`);
119
108
  await importService(serviceId, importData, clean);
120
109
  succeedSpinner(`Imported ${serviceId}.`);
121
110
  } catch (importError) {
122
111
  var _importError$response, _importError$response2, _importError$response3, _importError$response4;
123
-
124
112
  const message = (_importError$response = importError.response) === null || _importError$response === void 0 ? void 0 : (_importError$response2 = _importError$response.data) === null || _importError$response2 === void 0 ? void 0 : _importError$response2.message;
125
113
  const detail = (_importError$response3 = importError.response) === null || _importError$response3 === void 0 ? void 0 : (_importError$response4 = _importError$response3.data) === null || _importError$response4 === void 0 ? void 0 : _importError$response4.detail;
126
114
  if (verbose) showSpinner(`Importing ${serviceId}...`);
@@ -133,30 +121,27 @@ export async function importServiceFromFile(serviceId, file, clean) {
133
121
  });
134
122
  debugMessage(`cli.ServiceOps.importServiceFromFile: end [serviceId=${serviceId}, file=${file}]`);
135
123
  }
124
+
136
125
  /**
137
126
  * Import first service from file
138
127
  * @param {string} file import file name
139
128
  * @param {boolean} clean remove existing service
140
129
  */
141
-
142
130
  export async function importFirstServiceFromFile(file, clean) {
143
131
  debugMessage(`cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`);
144
132
  const verbose = state.default.session.getVerbose();
145
133
  fs.readFile(file, 'utf8', async (err, data) => {
146
134
  if (err) throw err;
147
135
  const importData = JSON.parse(data);
148
-
149
136
  if (importData && Object.keys(importData.service).length) {
150
137
  const serviceId = Object.keys(importData.service)[0];
151
138
  if (!verbose) showSpinner(`Importing ${serviceId}...`);
152
-
153
139
  try {
154
140
  if (verbose) showSpinner(`Importing ${serviceId}...`);
155
141
  await importService(serviceId, importData, clean);
156
142
  succeedSpinner(`Imported ${serviceId}.`);
157
143
  } catch (importError) {
158
144
  var _importError$response5, _importError$response6, _importError$response7, _importError$response8;
159
-
160
145
  const message = (_importError$response5 = importError.response) === null || _importError$response5 === void 0 ? void 0 : (_importError$response6 = _importError$response5.data) === null || _importError$response6 === void 0 ? void 0 : _importError$response6.message;
161
146
  const detail = (_importError$response7 = importError.response) === null || _importError$response7 === void 0 ? void 0 : (_importError$response8 = _importError$response7.data) === null || _importError$response8 === void 0 ? void 0 : _importError$response8.detail;
162
147
  if (verbose) showSpinner(`Importing ${serviceId}...`);
@@ -166,68 +151,62 @@ export async function importFirstServiceFromFile(file, clean) {
166
151
  showSpinner(`Importing service...`);
167
152
  failSpinner(`No service found in ${file}!`);
168
153
  }
169
-
170
154
  debugMessage(`cli.ServiceOps.importFirstServiceFromFile: end [file=${file}]`);
171
155
  });
172
156
  }
157
+
173
158
  /**
174
159
  * Import services from file
175
160
  * @param {String} file file name
176
161
  * @param {boolean} clean remove existing service
177
162
  */
178
-
179
163
  export async function importServicesFromFile(file, clean) {
180
164
  debugMessage(`cli.ServiceOps.importServiceFromFile: start [file=${file}]`);
181
165
  fs.readFile(file, 'utf8', async (err, data) => {
182
166
  if (err) throw err;
183
167
  debugMessage(`cli.ServiceOps.importServiceFromFile: importing ${file}`);
184
168
  const importData = JSON.parse(data);
185
-
186
169
  try {
187
170
  await importServices(importData, clean);
188
171
  } catch (error) {
189
172
  printMessage(`${error.message}`, 'error');
190
173
  printMessage(error.response.status, 'error');
191
174
  }
192
-
193
175
  debugMessage(`cli.ServiceOps.importServiceFromFile: end [file=${file}]`);
194
176
  });
195
177
  }
178
+
196
179
  /**
197
180
  * Import all services from separate files
198
181
  * @param {boolean} clean remove existing service
199
182
  */
200
-
201
183
  export async function importServicesFromFiles(clean) {
202
184
  debugMessage(`cli.ServiceOps.importServicesFromFiles: start`);
203
185
  const names = fs.readdirSync(getWorkingDirectory());
204
186
  const agentFiles = names.filter(name => name.toLowerCase().endsWith('.service.json'));
205
-
206
187
  for (const file of agentFiles) {
207
188
  await importServicesFromFile(file, clean);
208
189
  }
209
-
210
190
  debugMessage(`cli.ServiceOps.importServicesFromFiles: end`);
211
191
  }
192
+
212
193
  /**
213
194
  * Delete a service by id/name
214
195
  * @param {string} serviceId Reference to the service to delete
215
196
  */
216
-
217
197
  export async function deleteService(serviceId) {
218
198
  try {
219
199
  await deleteFullService(serviceId);
220
200
  } catch (error) {
221
201
  var _error$response, _error$response$data;
222
-
223
202
  const message = (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.message;
224
203
  printMessage(`Delete service '${serviceId}': ${message}`, 'error');
225
204
  }
226
205
  }
206
+
227
207
  /**
228
208
  * Delete all services
229
209
  */
230
-
231
210
  export async function deleteServices() {
232
211
  await deleteFullServices();
233
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceOps.js","names":["fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","ExportImportUtils","Service","Utils","state","createServiceExportTemplate","deleteFullServices","deleteFullService","getListOfServices","getFullServices","exportServices","exportService","importServices","importService","getTypedFilename","getWorkingDirectory","saveJsonToFile","titleCase","getRealmName","listServices","long","services","sort","a","b","_id","localeCompare","table","service","push","name","toString","error","stack","exportServicesToFile","file","exportData","fileName","default","session","getRealm","exportServiceToFile","serviceId","exportServicesToFiles","_type","importServiceFromFile","clean","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importError","message","response","detail","importFirstServiceFromFile","Object","keys","length","importServicesFromFile","status","importServicesFromFiles","names","readdirSync","agentFiles","filter","toLowerCase","endsWith","deleteService","deleteServices"],"sources":["ops/ServiceOps.ts"],"sourcesContent":["import fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport {\n ExportImportUtils,\n Service,\n Utils,\n state,\n} from '@rockcarver/frodo-lib';\nimport { ServiceExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\n\nconst {\n createServiceExportTemplate,\n deleteFullServices,\n deleteFullService,\n getListOfServices,\n getFullServices,\n exportServices,\n exportService,\n importServices,\n importService,\n} = Service;\nconst { getTypedFilename, getWorkingDirectory, saveJsonToFile, titleCase } =\n ExportImportUtils;\nconst { getRealmName } = Utils;\n\n/**\n * List services\n */\nexport async function listServices(long = false) {\n try {\n const services = await getListOfServices();\n services.sort((a, b) => a._id.localeCompare(b._id));\n if (long) {\n const table = createTable(['Service Id', 'Service Name']);\n for (const service of services) {\n table.push([service._id, service.name]);\n }\n printMessage(table.toString(), 'data');\n } else {\n for (const service of services) {\n printMessage(`${service._id}`, 'data');\n }\n }\n } catch (error) {\n printMessage(`Error listing agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * Export all services to file\n * @param {string} file file name\n */\nexport async function exportServicesToFile(file) {\n const exportData = await exportServices();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Services`,\n `service`\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export service to file\n * @param {string} serviceId service id\n * @param {string} file file name\n */\nexport async function exportServiceToFile(serviceId: string, file: string) {\n const exportData = await exportService(serviceId);\n let fileName = getTypedFilename(serviceId, `service`);\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all services to separate files\n */\nexport async function exportServicesToFiles() {\n debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);\n const services = await getFullServices();\n for (const service of services) {\n const fileName = getTypedFilename(service._type._id, `service`);\n const exportData = createServiceExportTemplate();\n exportData.service[service._type._id] = service;\n debugMessage(\n `cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`\n );\n saveJsonToFile(exportData, fileName);\n }\n debugMessage(`cli.ServiceOps.exportServicesToFiles: end.`);\n}\n\n/**\n * Import a service from file\n * @param {string} serviceId service id/name\n * @param {string} file import file name\n * @param {boolean} clean remove existing service\n */\nexport async function importServiceFromFile(\n serviceId: string,\n file: string,\n clean: boolean\n) {\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`\n );\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (importData && importData.service[serviceId]) {\n if (!verbose) showSpinner(`Importing ${serviceId}...`);\n try {\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n await importService(serviceId, importData, clean);\n succeedSpinner(`Imported ${serviceId}.`);\n } catch (importError) {\n const message = importError.response?.data?.message;\n const detail = importError.response?.data?.detail;\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${detail ? message + ' - ' + detail : message}`);\n }\n } else {\n showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${serviceId} not found!`);\n }\n });\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: end [serviceId=${serviceId}, file=${file}]`\n );\n}\n\n/**\n * Import first service from file\n * @param {string} file import file name\n * @param {boolean} clean remove existing service\n */\nexport async function importFirstServiceFromFile(file: string, clean: boolean) {\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`\n );\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (importData && Object.keys(importData.service).length) {\n const serviceId = Object.keys(importData.service)[0];\n if (!verbose) showSpinner(`Importing ${serviceId}...`);\n try {\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n await importService(serviceId, importData, clean);\n succeedSpinner(`Imported ${serviceId}.`);\n } catch (importError) {\n const message = importError.response?.data?.message;\n const detail = importError.response?.data?.detail;\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${detail ? message + ' - ' + detail : message}`);\n }\n } else {\n showSpinner(`Importing service...`);\n failSpinner(`No service found in ${file}!`);\n }\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: end [file=${file}]`\n );\n });\n}\n\n/**\n * Import services from file\n * @param {String} file file name\n * @param {boolean} clean remove existing service\n */\nexport async function importServicesFromFile(file: string, clean: boolean) {\n debugMessage(`cli.ServiceOps.importServiceFromFile: start [file=${file}]`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.ServiceOps.importServiceFromFile: importing ${file}`);\n const importData = JSON.parse(data) as ServiceExportInterface;\n try {\n await importServices(importData, clean);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.ServiceOps.importServiceFromFile: end [file=${file}]`);\n });\n}\n\n/**\n * Import all services from separate files\n * @param {boolean} clean remove existing service\n */\nexport async function importServicesFromFiles(clean: boolean) {\n debugMessage(`cli.ServiceOps.importServicesFromFiles: start`);\n const names = fs.readdirSync(getWorkingDirectory());\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.service.json')\n );\n for (const file of agentFiles) {\n await importServicesFromFile(file, clean);\n }\n debugMessage(`cli.ServiceOps.importServicesFromFiles: end`);\n}\n\n/**\n * Delete a service by id/name\n * @param {string} serviceId Reference to the service to delete\n */\nexport async function deleteService(serviceId: string) {\n try {\n await deleteFullService(serviceId);\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete service '${serviceId}': ${message}`, 'error');\n }\n}\n\n/**\n * Delete all services\n */\nexport async function deleteServices() {\n await deleteFullServices();\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ServiceOps.js","names":["fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","ExportImportUtils","Service","Utils","state","createServiceExportTemplate","deleteFullServices","deleteFullService","getListOfServices","getFullServices","exportServices","exportService","importServices","importService","getTypedFilename","getWorkingDirectory","saveJsonToFile","titleCase","getRealmName","listServices","long","services","sort","a","b","_id","localeCompare","table","service","push","name","toString","error","stack","exportServicesToFile","file","exportData","fileName","default","session","getRealm","exportServiceToFile","serviceId","exportServicesToFiles","_type","importServiceFromFile","clean","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importError","message","response","detail","importFirstServiceFromFile","Object","keys","length","importServicesFromFile","status","importServicesFromFiles","names","readdirSync","agentFiles","filter","toLowerCase","endsWith","deleteService","deleteServices"],"sources":["ops/ServiceOps.ts"],"sourcesContent":["import fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport {\n ExportImportUtils,\n Service,\n Utils,\n state,\n} from '@rockcarver/frodo-lib';\nimport { ServiceExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\n\nconst {\n createServiceExportTemplate,\n deleteFullServices,\n deleteFullService,\n getListOfServices,\n getFullServices,\n exportServices,\n exportService,\n importServices,\n importService,\n} = Service;\nconst { getTypedFilename, getWorkingDirectory, saveJsonToFile, titleCase } =\n ExportImportUtils;\nconst { getRealmName } = Utils;\n\n/**\n * List services\n */\nexport async function listServices(long = false) {\n try {\n const services = await getListOfServices();\n services.sort((a, b) => a._id.localeCompare(b._id));\n if (long) {\n const table = createTable(['Service Id', 'Service Name']);\n for (const service of services) {\n table.push([service._id, service.name]);\n }\n printMessage(table.toString(), 'data');\n } else {\n for (const service of services) {\n printMessage(`${service._id}`, 'data');\n }\n }\n } catch (error) {\n printMessage(`Error listing agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * Export all services to file\n * @param {string} file file name\n */\nexport async function exportServicesToFile(file) {\n const exportData = await exportServices();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.getRealm()))}Services`,\n `service`\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export service to file\n * @param {string} serviceId service id\n * @param {string} file file name\n */\nexport async function exportServiceToFile(serviceId: string, file: string) {\n const exportData = await exportService(serviceId);\n let fileName = getTypedFilename(serviceId, `service`);\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all services to separate files\n */\nexport async function exportServicesToFiles() {\n debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);\n const services = await getFullServices();\n for (const service of services) {\n const fileName = getTypedFilename(service._type._id, `service`);\n const exportData = createServiceExportTemplate();\n exportData.service[service._type._id] = service;\n debugMessage(\n `cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`\n );\n saveJsonToFile(exportData, fileName);\n }\n debugMessage(`cli.ServiceOps.exportServicesToFiles: end.`);\n}\n\n/**\n * Import a service from file\n * @param {string} serviceId service id/name\n * @param {string} file import file name\n * @param {boolean} clean remove existing service\n */\nexport async function importServiceFromFile(\n serviceId: string,\n file: string,\n clean: boolean\n) {\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`\n );\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (importData && importData.service[serviceId]) {\n if (!verbose) showSpinner(`Importing ${serviceId}...`);\n try {\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n await importService(serviceId, importData, clean);\n succeedSpinner(`Imported ${serviceId}.`);\n } catch (importError) {\n const message = importError.response?.data?.message;\n const detail = importError.response?.data?.detail;\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${detail ? message + ' - ' + detail : message}`);\n }\n } else {\n showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${serviceId} not found!`);\n }\n });\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: end [serviceId=${serviceId}, file=${file}]`\n );\n}\n\n/**\n * Import first service from file\n * @param {string} file import file name\n * @param {boolean} clean remove existing service\n */\nexport async function importFirstServiceFromFile(file: string, clean: boolean) {\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`\n );\n const verbose = state.default.session.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (importData && Object.keys(importData.service).length) {\n const serviceId = Object.keys(importData.service)[0];\n if (!verbose) showSpinner(`Importing ${serviceId}...`);\n try {\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n await importService(serviceId, importData, clean);\n succeedSpinner(`Imported ${serviceId}.`);\n } catch (importError) {\n const message = importError.response?.data?.message;\n const detail = importError.response?.data?.detail;\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${detail ? message + ' - ' + detail : message}`);\n }\n } else {\n showSpinner(`Importing service...`);\n failSpinner(`No service found in ${file}!`);\n }\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: end [file=${file}]`\n );\n });\n}\n\n/**\n * Import services from file\n * @param {String} file file name\n * @param {boolean} clean remove existing service\n */\nexport async function importServicesFromFile(file: string, clean: boolean) {\n debugMessage(`cli.ServiceOps.importServiceFromFile: start [file=${file}]`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.ServiceOps.importServiceFromFile: importing ${file}`);\n const importData = JSON.parse(data) as ServiceExportInterface;\n try {\n await importServices(importData, clean);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.ServiceOps.importServiceFromFile: end [file=${file}]`);\n });\n}\n\n/**\n * Import all services from separate files\n * @param {boolean} clean remove existing service\n */\nexport async function importServicesFromFiles(clean: boolean) {\n debugMessage(`cli.ServiceOps.importServicesFromFiles: start`);\n const names = fs.readdirSync(getWorkingDirectory());\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.service.json')\n );\n for (const file of agentFiles) {\n await importServicesFromFile(file, clean);\n }\n debugMessage(`cli.ServiceOps.importServicesFromFiles: end`);\n}\n\n/**\n * Delete a service by id/name\n * @param {string} serviceId Reference to the service to delete\n */\nexport async function deleteService(serviceId: string) {\n try {\n await deleteFullService(serviceId);\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete service '${serviceId}': ${message}`, 'error');\n }\n}\n\n/**\n * Delete all services\n */\nexport async function deleteServices() {\n await deleteFullServices();\n}\n"],"mappings":"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"}