@rockcarver/frodo-cli 0.15.0 → 0.15.1

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 (272) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/esm/app.js +55 -0
  3. package/esm/app.js.map +1 -0
  4. package/esm/cli/_template/cmd-delete.js +22 -0
  5. package/esm/cli/_template/cmd-delete.js.map +1 -0
  6. package/esm/cli/_template/cmd-describe.js +22 -0
  7. package/esm/cli/_template/cmd-describe.js.map +1 -0
  8. package/esm/cli/_template/cmd-export.js +22 -0
  9. package/esm/cli/_template/cmd-export.js.map +1 -0
  10. package/esm/cli/_template/cmd-import.js +22 -0
  11. package/esm/cli/_template/cmd-import.js.map +1 -0
  12. package/esm/cli/_template/cmd-list.js +22 -0
  13. package/esm/cli/_template/cmd-list.js.map +1 -0
  14. package/esm/cli/_template/cmd-sub1-delete.js +22 -0
  15. package/esm/cli/_template/cmd-sub1-delete.js.map +1 -0
  16. package/esm/cli/_template/cmd-sub1-describe.js +22 -0
  17. package/esm/cli/_template/cmd-sub1-describe.js.map +1 -0
  18. package/esm/cli/_template/cmd-sub1-export.js +22 -0
  19. package/esm/cli/_template/cmd-sub1-export.js.map +1 -0
  20. package/esm/cli/_template/cmd-sub1-import.js +22 -0
  21. package/esm/cli/_template/cmd-sub1-import.js.map +1 -0
  22. package/esm/cli/_template/cmd-sub1-list.js +22 -0
  23. package/esm/cli/_template/cmd-sub1-list.js.map +1 -0
  24. package/esm/cli/_template/cmd-sub1.js +10 -0
  25. package/esm/cli/_template/cmd-sub1.js.map +1 -0
  26. package/esm/cli/_template/cmd-sub2-delete.js +22 -0
  27. package/esm/cli/_template/cmd-sub2-delete.js.map +1 -0
  28. package/esm/cli/_template/cmd-sub2-describe.js +22 -0
  29. package/esm/cli/_template/cmd-sub2-describe.js.map +1 -0
  30. package/esm/cli/_template/cmd-sub2-export.js +22 -0
  31. package/esm/cli/_template/cmd-sub2-export.js.map +1 -0
  32. package/esm/cli/_template/cmd-sub2-import.js +22 -0
  33. package/esm/cli/_template/cmd-sub2-import.js.map +1 -0
  34. package/esm/cli/_template/cmd-sub2-list.js +22 -0
  35. package/esm/cli/_template/cmd-sub2-list.js.map +1 -0
  36. package/esm/cli/_template/cmd-sub2.js +10 -0
  37. package/esm/cli/_template/cmd-sub2.js.map +1 -0
  38. package/esm/cli/_template/cmd.js +19 -0
  39. package/esm/cli/_template/cmd.js.map +1 -0
  40. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +28 -0
  41. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -0
  42. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +85 -0
  43. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -0
  44. package/esm/cli/admin/admin-get-access-token.js +28 -0
  45. package/esm/cli/admin/admin-get-access-token.js.map +1 -0
  46. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +28 -0
  47. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -0
  48. package/esm/cli/admin/admin-hide-generic-extension-attributes.js +28 -0
  49. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -0
  50. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +31 -0
  51. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -0
  52. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +31 -0
  53. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -0
  54. package/esm/cli/admin/admin-list-static-user-mappings.js +31 -0
  55. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -0
  56. package/esm/cli/admin/admin-remove-static-user-mapping.js +28 -0
  57. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -0
  58. package/esm/cli/admin/admin-repair-org-model.js +28 -0
  59. package/esm/cli/admin/admin-repair-org-model.js.map +1 -0
  60. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +28 -0
  61. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -0
  62. package/esm/cli/admin/admin-show-generic-extension-attributes.js +28 -0
  63. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -0
  64. package/esm/cli/admin/admin.js +24 -0
  65. package/esm/cli/admin/admin.js.map +1 -0
  66. package/esm/cli/app/app-delete.js +22 -0
  67. package/esm/cli/app/app-delete.js.map +1 -0
  68. package/esm/cli/app/app-describe.js +22 -0
  69. package/esm/cli/app/app-describe.js.map +1 -0
  70. package/esm/cli/app/app-export.js +44 -0
  71. package/esm/cli/app/app-export.js.map +1 -0
  72. package/esm/cli/app/app-import.js +45 -0
  73. package/esm/cli/app/app-import.js.map +1 -0
  74. package/esm/cli/app/app-list.js +27 -0
  75. package/esm/cli/app/app-list.js.map +1 -0
  76. package/esm/cli/app/app.js +20 -0
  77. package/esm/cli/app/app.js.map +1 -0
  78. package/esm/cli/cmd_common.js +77 -0
  79. package/esm/cli/cmd_common.js.map +1 -0
  80. package/esm/cli/conn/conn-add.js +37 -0
  81. package/esm/cli/conn/conn-add.js.map +1 -0
  82. package/esm/cli/conn/conn-delete.js +14 -0
  83. package/esm/cli/conn/conn-delete.js.map +1 -0
  84. package/esm/cli/conn/conn-describe.js +14 -0
  85. package/esm/cli/conn/conn-describe.js.map +1 -0
  86. package/esm/cli/conn/conn-list.js +16 -0
  87. package/esm/cli/conn/conn-list.js.map +1 -0
  88. package/esm/cli/conn/conn.js +17 -0
  89. package/esm/cli/conn/conn.js.map +1 -0
  90. package/esm/cli/email/email-template-export.js +44 -0
  91. package/esm/cli/email/email-template-export.js.map +1 -0
  92. package/esm/cli/email/email-template-import.js +49 -0
  93. package/esm/cli/email/email-template-import.js.map +1 -0
  94. package/esm/cli/email/email-template-list.js +27 -0
  95. package/esm/cli/email/email-template-list.js.map +1 -0
  96. package/esm/cli/email/email-template.js +8 -0
  97. package/esm/cli/email/email-template.js.map +1 -0
  98. package/esm/cli/email/email.js +13 -0
  99. package/esm/cli/email/email.js.map +1 -0
  100. package/esm/cli/esv/esv-apply.js +67 -0
  101. package/esm/cli/esv/esv-apply.js.map +1 -0
  102. package/esm/cli/esv/esv-secret-create.js +27 -0
  103. package/esm/cli/esv/esv-secret-create.js.map +1 -0
  104. package/esm/cli/esv/esv-secret-delete.js +39 -0
  105. package/esm/cli/esv/esv-secret-delete.js.map +1 -0
  106. package/esm/cli/esv/esv-secret-describe.js +27 -0
  107. package/esm/cli/esv/esv-secret-describe.js.map +1 -0
  108. package/esm/cli/esv/esv-secret-export.js +22 -0
  109. package/esm/cli/esv/esv-secret-export.js.map +1 -0
  110. package/esm/cli/esv/esv-secret-import.js +22 -0
  111. package/esm/cli/esv/esv-secret-import.js.map +1 -0
  112. package/esm/cli/esv/esv-secret-list.js +27 -0
  113. package/esm/cli/esv/esv-secret-list.js.map +1 -0
  114. package/esm/cli/esv/esv-secret-set.js +27 -0
  115. package/esm/cli/esv/esv-secret-set.js.map +1 -0
  116. package/esm/cli/esv/esv-secret-version-activate.js +34 -0
  117. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -0
  118. package/esm/cli/esv/esv-secret-version-create.js +27 -0
  119. package/esm/cli/esv/esv-secret-version-create.js.map +1 -0
  120. package/esm/cli/esv/esv-secret-version-deactivate.js +34 -0
  121. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -0
  122. package/esm/cli/esv/esv-secret-version-delete.js +39 -0
  123. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -0
  124. package/esm/cli/esv/esv-secret-version-list.js +27 -0
  125. package/esm/cli/esv/esv-secret-version-list.js.map +1 -0
  126. package/esm/cli/esv/esv-secret-version.js +10 -0
  127. package/esm/cli/esv/esv-secret-version.js.map +1 -0
  128. package/esm/cli/esv/esv-secret.js +13 -0
  129. package/esm/cli/esv/esv-secret.js.map +1 -0
  130. package/esm/cli/esv/esv-variable-create.js +27 -0
  131. package/esm/cli/esv/esv-variable-create.js.map +1 -0
  132. package/esm/cli/esv/esv-variable-delete.js +39 -0
  133. package/esm/cli/esv/esv-variable-delete.js.map +1 -0
  134. package/esm/cli/esv/esv-variable-describe.js +27 -0
  135. package/esm/cli/esv/esv-variable-describe.js.map +1 -0
  136. package/esm/cli/esv/esv-variable-export.js +22 -0
  137. package/esm/cli/esv/esv-variable-export.js.map +1 -0
  138. package/esm/cli/esv/esv-variable-import.js +22 -0
  139. package/esm/cli/esv/esv-variable-import.js.map +1 -0
  140. package/esm/cli/esv/esv-variable-list.js +27 -0
  141. package/esm/cli/esv/esv-variable-list.js.map +1 -0
  142. package/esm/cli/esv/esv-variable-set.js +37 -0
  143. package/esm/cli/esv/esv-variable-set.js.map +1 -0
  144. package/esm/cli/esv/esv-variable.js +12 -0
  145. package/esm/cli/esv/esv-variable.js.map +1 -0
  146. package/esm/cli/esv/esv.js +15 -0
  147. package/esm/cli/esv/esv.js.map +1 -0
  148. package/esm/cli/idm/idm-count.js +27 -0
  149. package/esm/cli/idm/idm-count.js.map +1 -0
  150. package/esm/cli/idm/idm-export.js +44 -0
  151. package/esm/cli/idm/idm-export.js.map +1 -0
  152. package/esm/cli/idm/idm-list.js +30 -0
  153. package/esm/cli/idm/idm-list.js.map +1 -0
  154. package/esm/cli/idm/idm.js +16 -0
  155. package/esm/cli/idm/idm.js.map +1 -0
  156. package/esm/cli/idp/idp-export.js +44 -0
  157. package/esm/cli/idp/idp-export.js.map +1 -0
  158. package/esm/cli/idp/idp-import.js +49 -0
  159. package/esm/cli/idp/idp-import.js.map +1 -0
  160. package/esm/cli/idp/idp-list.js +30 -0
  161. package/esm/cli/idp/idp-list.js.map +1 -0
  162. package/esm/cli/idp/idp.js +15 -0
  163. package/esm/cli/idp/idp.js.map +1 -0
  164. package/esm/cli/info/info.js +48 -0
  165. package/esm/cli/info/info.js.map +1 -0
  166. package/esm/cli/journey/journey-delete.e2e.test_.js.map +1 -0
  167. package/esm/cli/journey/journey-delete.js +39 -0
  168. package/esm/cli/journey/journey-delete.js.map +1 -0
  169. package/esm/cli/journey/journey-describe.js +100 -0
  170. package/esm/cli/journey/journey-describe.js.map +1 -0
  171. package/esm/cli/journey/journey-disable.js +46 -0
  172. package/esm/cli/journey/journey-disable.js.map +1 -0
  173. package/esm/cli/journey/journey-enable.js +46 -0
  174. package/esm/cli/journey/journey-enable.js.map +1 -0
  175. package/esm/cli/journey/journey-export.js +56 -0
  176. package/esm/cli/journey/journey-export.js.map +1 -0
  177. package/esm/cli/journey/journey-import.js +65 -0
  178. package/esm/cli/journey/journey-import.js.map +1 -0
  179. package/esm/cli/journey/journey-list.e2e.test_.js.map +1 -0
  180. package/esm/cli/journey/journey-list.js +27 -0
  181. package/esm/cli/journey/journey-list.js.map +1 -0
  182. package/esm/cli/journey/journey-prune.js +41 -0
  183. package/esm/cli/journey/journey-prune.js.map +1 -0
  184. package/esm/cli/journey/journey.js +20 -0
  185. package/esm/cli/journey/journey.js.map +1 -0
  186. package/esm/cli/logging/logs-list.js +66 -0
  187. package/esm/cli/logging/logs-list.js.map +1 -0
  188. package/esm/cli/logging/logs-tail.js +60 -0
  189. package/esm/cli/logging/logs-tail.js.map +1 -0
  190. package/esm/cli/logging/logs.js +13 -0
  191. package/esm/cli/logging/logs.js.map +1 -0
  192. package/esm/cli/realm/realm-add-custom-domain.js +27 -0
  193. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -0
  194. package/esm/cli/realm/realm-describe.js +30 -0
  195. package/esm/cli/realm/realm-describe.js.map +1 -0
  196. package/esm/cli/realm/realm-list.js +27 -0
  197. package/esm/cli/realm/realm-list.js.map +1 -0
  198. package/esm/cli/realm/realm-remove-custom-domain.js +27 -0
  199. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -0
  200. package/esm/cli/realm/realm.js +18 -0
  201. package/esm/cli/realm/realm.js.map +1 -0
  202. package/esm/cli/saml/saml-cot-export.js +44 -0
  203. package/esm/cli/saml/saml-cot-export.js.map +1 -0
  204. package/esm/cli/saml/saml-cot-import.js +49 -0
  205. package/esm/cli/saml/saml-cot-import.js.map +1 -0
  206. package/esm/cli/saml/saml-cot-list.js +27 -0
  207. package/esm/cli/saml/saml-cot-list.js.map +1 -0
  208. package/esm/cli/saml/saml-cot.js +8 -0
  209. package/esm/cli/saml/saml-cot.js.map +1 -0
  210. package/esm/cli/saml/saml-describe.js +27 -0
  211. package/esm/cli/saml/saml-describe.js.map +1 -0
  212. package/esm/cli/saml/saml-export.js +44 -0
  213. package/esm/cli/saml/saml-export.js.map +1 -0
  214. package/esm/cli/saml/saml-import.js +49 -0
  215. package/esm/cli/saml/saml-import.js.map +1 -0
  216. package/esm/cli/saml/saml-list.js +27 -0
  217. package/esm/cli/saml/saml-list.js.map +1 -0
  218. package/esm/cli/saml/saml-metadata-export.js +39 -0
  219. package/esm/cli/saml/saml-metadata-export.js.map +1 -0
  220. package/esm/cli/saml/saml-metadata.js +6 -0
  221. package/esm/cli/saml/saml-metadata.js.map +1 -0
  222. package/esm/cli/saml/saml.js +18 -0
  223. package/esm/cli/saml/saml.js.map +1 -0
  224. package/esm/cli/script/script-delete.js +22 -0
  225. package/esm/cli/script/script-delete.js.map +1 -0
  226. package/esm/cli/script/script-describe.js +22 -0
  227. package/esm/cli/script/script-describe.js.map +1 -0
  228. package/esm/cli/script/script-export.js +55 -0
  229. package/esm/cli/script/script-export.js.map +1 -0
  230. package/esm/cli/script/script-import.js +28 -0
  231. package/esm/cli/script/script-import.js.map +1 -0
  232. package/esm/cli/script/script-list.js +27 -0
  233. package/esm/cli/script/script-list.js.map +1 -0
  234. package/esm/cli/script/script.js +17 -0
  235. package/esm/cli/script/script.js.map +1 -0
  236. package/esm/cli/theme/theme-delete.e2e.test_.js.map +1 -0
  237. package/esm/cli/theme/theme-delete.js +44 -0
  238. package/esm/cli/theme/theme-delete.js.map +1 -0
  239. package/esm/cli/theme/theme-export.js +49 -0
  240. package/esm/cli/theme/theme-export.js.map +1 -0
  241. package/esm/cli/theme/theme-import.js +54 -0
  242. package/esm/cli/theme/theme-import.js.map +1 -0
  243. package/esm/cli/theme/theme-list.e2e.test_.js.map +1 -0
  244. package/esm/cli/theme/theme-list.js +27 -0
  245. package/esm/cli/theme/theme-list.js.map +1 -0
  246. package/esm/cli/theme/theme.js +16 -0
  247. package/esm/cli/theme/theme.js.map +1 -0
  248. package/esm/ops/CirclesOfTrustOps.js +12 -0
  249. package/esm/ops/CirclesOfTrustOps.js.map +1 -0
  250. package/esm/ops/EmailTemplateOps.js +10 -0
  251. package/esm/ops/EmailTemplateOps.js.map +1 -0
  252. package/esm/ops/IdpOps.js +10 -0
  253. package/esm/ops/IdpOps.js.map +1 -0
  254. package/esm/ops/JourneyOps.js +203 -0
  255. package/esm/ops/JourneyOps.js.map +1 -0
  256. package/esm/ops/NodeOps.js +36 -0
  257. package/esm/ops/NodeOps.js.map +1 -0
  258. package/esm/ops/Saml2Ops.js +23 -0
  259. package/esm/ops/Saml2Ops.js.map +1 -0
  260. package/esm/ops/ScriptOps.js +10 -0
  261. package/esm/ops/ScriptOps.js.map +1 -0
  262. package/esm/ops/ThemeOps.js +10 -0
  263. package/esm/ops/ThemeOps.js.map +1 -0
  264. package/esm/ops/utils/Wordwrap.js +5 -0
  265. package/esm/ops/utils/Wordwrap.js.map +1 -0
  266. package/esm/storage/StaticStorage.js +12 -0
  267. package/esm/storage/StaticStorage.js.map +1 -0
  268. package/esm/utils/Config.js +54 -0
  269. package/esm/utils/Config.js.map +1 -0
  270. package/esm/utils/Console.js +532 -0
  271. package/esm/utils/Console.js.map +1 -0
  272. package/package.json +3 -2
@@ -0,0 +1,49 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Saml2, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ importSaml2ProviderFromFile,
9
+ importSaml2ProvidersFromFile,
10
+ importSaml2ProvidersFromFiles,
11
+ importFirstSaml2ProviderFromFile
12
+ } = Saml2;
13
+ const program = new Command('frodo saml import');
14
+ program.description('Import SAML entity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id. If specified, only one provider is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the entity provider(s) from.')).addOption(new Option('-a, --all', 'Import all entity providers from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all entity providers from separate files (*.saml.json) in the current directory. Ignored with -i or -a.')).action( // implement program logic inside action handler
15
+ async (host, realm, user, password, options) => {
16
+ state.default.session.setTenant(host);
17
+ state.default.session.setRealm(realm);
18
+ state.default.session.setUsername(user);
19
+ state.default.session.setPassword(password);
20
+ state.default.session.setDeploymentType(options.type);
21
+ state.default.session.setAllowInsecureConnection(options.insecure);
22
+
23
+ if (await getTokens()) {
24
+ // import by id
25
+ if (options.file && options.entityId) {
26
+ console.log(`Importing provider "${options.entityId}" into realm "${state.default.session.getRealm()}"...`);
27
+ importSaml2ProviderFromFile(options.entityId, options.file);
28
+ } // --all -a
29
+ else if (options.all && options.file) {
30
+ console.log(`Importing all providers from a single file (${options.file})...`);
31
+ importSaml2ProvidersFromFile(options.file);
32
+ } // --all-separate -A
33
+ else if (options.allSeparate && !options.file) {
34
+ console.log('Importing all providers from separate files (*.saml.json) in current directory...');
35
+ importSaml2ProvidersFromFiles();
36
+ } // import first provider from file
37
+ else if (options.file) {
38
+ console.log(`Importing first provider from file "${options.file}" into realm "${state.default.session.getRealm()}"...`);
39
+ importFirstSaml2ProviderFromFile(options.file);
40
+ } // unrecognized combination of options or no options
41
+ else {
42
+ console.log('Unrecognized combination of options or no options...');
43
+ program.help();
44
+ }
45
+ }
46
+ } // end program logic inside action handler
47
+ );
48
+ program.parse();
49
+ //# sourceMappingURL=saml-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saml-import.js","names":["Command","Option","Authenticate","Saml2","state","common","getTokens","importSaml2ProviderFromFile","importSaml2ProvidersFromFile","importSaml2ProvidersFromFiles","importFirstSaml2ProviderFromFile","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","file","entityId","console","log","getRealm","all","allSeparate","help","parse"],"sources":["cli/saml/saml-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Saml2, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst {\n importSaml2ProviderFromFile,\n importSaml2ProvidersFromFile,\n importSaml2ProvidersFromFiles,\n importFirstSaml2ProviderFromFile,\n} = Saml2;\n\nconst program = new Command('frodo saml import');\n\nprogram\n .description('Import SAML entity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --entity-id <entity-id>',\n 'Entity id. If specified, only one provider is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the entity provider(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all entity providers from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all entity providers from separate files (*.saml.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement program logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // import by id\n if (options.file && options.entityId) {\n console.log(\n `Importing provider \"${\n options.entityId\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importSaml2ProviderFromFile(options.entityId, options.file);\n }\n // --all -a\n else if (options.all && options.file) {\n console.log(\n `Importing all providers from a single file (${options.file})...`\n );\n importSaml2ProvidersFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file) {\n console.log(\n 'Importing all providers from separate files (*.saml.json) in current directory...'\n );\n importSaml2ProvidersFromFiles();\n }\n // import first provider from file\n else if (options.file) {\n console.log(\n `Importing first provider from file \"${\n options.file\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importFirstSaml2ProviderFromFile(options.file);\n }\n // unrecognized combination of options or no options\n else {\n console.log('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n }\n // end program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Saml2, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ listSaml2Providers
9
+ } = Saml2;
10
+ const program = new Command('frodo saml list');
11
+ program.description('List SAML entity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action( // implement command logic inside action handler
12
+ async (host, realm, user, password, options) => {
13
+ state.default.session.setTenant(host);
14
+ state.default.session.setRealm(realm);
15
+ state.default.session.setUsername(user);
16
+ state.default.session.setPassword(password);
17
+ state.default.session.setDeploymentType(options.type);
18
+ state.default.session.setAllowInsecureConnection(options.insecure);
19
+
20
+ if (await getTokens()) {
21
+ console.log(`Listing SAML entity providers in realm "${state.default.session.getRealm()}"...`);
22
+ listSaml2Providers(options.long);
23
+ }
24
+ } // end command logic inside action handler
25
+ );
26
+ program.parse();
27
+ //# sourceMappingURL=saml-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saml-list.js","names":["Command","Option","Authenticate","Saml2","state","common","getTokens","listSaml2Providers","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","console","log","getRealm","long","parse"],"sources":["cli/saml/saml-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Saml2, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { listSaml2Providers } = Saml2;\n\nconst program = new Command('frodo saml list');\n\nprogram\n .description('List SAML entity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n console.log(\n `Listing SAML entity providers in realm \"${state.default.session.getRealm()}\"...`\n );\n listSaml2Providers(options.long);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AACA,MAAM;EAAEK;AAAF,IAAyBJ,KAA/B;AAEA,MAAMK,OAAO,GAAG,IAAIR,OAAJ,CAAY,iBAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CACe,6BADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeP,MAAM,CAACQ,aAJtB,EAKGD,WALH,CAKeP,MAAM,CAACS,aALtB,EAMGF,WANH,CAMeP,MAAM,CAACU,YANtB,EAOGH,WAPH,CAOeP,MAAM,CAACW,gBAPtB,EAQGC,SARH,CAQaZ,MAAM,CAACa,gBARpB,EASGD,SATH,CASaZ,MAAM,CAACc,cATpB,EAUGF,SAVH,CAWI,IAAIhB,MAAJ,CAAW,YAAX,EAAyB,uBAAzB,EAAkDmB,OAAlD,CAA0D,KAA1D,EAAiE,OAAjE,CAXJ,EAaGC,MAbH,EAcI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACAlB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACAnB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACApB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACArB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA7B,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrB8B,OAAO,CAACC,GAAR,CACG,2CAA0CjC,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBW,QAAtB,EAAiC,MAD9E;IAGA/B,kBAAkB,CAACmB,OAAO,CAACa,IAAT,CAAlB;EACD;AACF,CA5BL,CA6BI;AA7BJ;AAgCA/B,OAAO,CAACgC,KAAR"}
@@ -0,0 +1,39 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Saml2, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ exportSaml2Metadata
9
+ } = Saml2;
10
+ const program = new Command('frodo saml metadata export');
11
+ program.description('Export SAML metadata.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the file to write the exported metadata to. Ignored with -A. If not specified, the export file is named <entity-id>.metadata.xml.')).addOption(new Option('-A, --all-separate', 'Export all the providers in a realm as separate files <provider name>.saml.json. Ignored with -t, -i, and -a.')).action( // implement command logic inside action handler
12
+ async (host, realm, user, password, options) => {
13
+ state.default.session.setTenant(host);
14
+ state.default.session.setRealm(realm);
15
+ state.default.session.setUsername(user);
16
+ state.default.session.setPassword(password);
17
+ state.default.session.setDeploymentType(options.type);
18
+ state.default.session.setAllowInsecureConnection(options.insecure);
19
+
20
+ if (await getTokens()) {
21
+ // export by id/name
22
+ if (options.entityId) {
23
+ console.log(`Exporting metadata for provider "${options.entityId}" from realm "${state.default.session.getRealm()}"...`);
24
+ exportSaml2Metadata(options.entityId, options.file);
25
+ } // // --all-separate -A
26
+ // else if (options.allSeparate) {
27
+ // console.log('Exporting all providers to separate files...');
28
+ // exportProvidersToFiles();
29
+ // }
30
+ // unrecognized combination of options or no options
31
+ else {
32
+ console.log('Unrecognized combination of options or no options...', 'error');
33
+ program.help();
34
+ }
35
+ }
36
+ } // end command logic inside action handler
37
+ );
38
+ program.parse();
39
+ //# sourceMappingURL=saml-metadata-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saml-metadata-export.js","names":["Command","Option","Authenticate","Saml2","state","common","getTokens","exportSaml2Metadata","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","entityId","console","log","getRealm","file","help","parse"],"sources":["cli/saml/saml-metadata-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Saml2, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst { exportSaml2Metadata } = Saml2;\n\nconst program = new Command('frodo saml metadata export');\n\nprogram\n .description('Export SAML metadata.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --entity-id <entity-id>',\n 'Entity 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 write the exported metadata to. Ignored with -A. If not specified, the export file is named <entity-id>.metadata.xml.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the providers in a realm as separate files <provider name>.saml.json. Ignored with -t, -i, and -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // export by id/name\n if (options.entityId) {\n console.log(\n `Exporting metadata for provider \"${\n options.entityId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n exportSaml2Metadata(options.entityId, options.file);\n }\n // // --all-separate -A\n // else if (options.allSeparate) {\n // console.log('Exporting all providers to separate files...');\n // exportProvidersToFiles();\n // }\n // unrecognized combination of options or no options\n else {\n console.log(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AAEA,MAAM;EAAEK;AAAF,IAA0BJ,KAAhC;AAEA,MAAMK,OAAO,GAAG,IAAIR,OAAJ,CAAY,4BAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CACe,uBADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeP,MAAM,CAACQ,aAJtB,EAKGD,WALH,CAKeP,MAAM,CAACS,aALtB,EAMGF,WANH,CAMeP,MAAM,CAACU,YANtB,EAOGH,WAPH,CAOeP,MAAM,CAACW,gBAPtB,EAQGC,SARH,CAQaZ,MAAM,CAACa,gBARpB,EASGD,SATH,CASaZ,MAAM,CAACc,cATpB,EAUGF,SAVH,CAWI,IAAIhB,MAAJ,CACE,6BADF,EAEE,iDAFF,CAXJ,EAgBGgB,SAhBH,CAiBI,IAAIhB,MAAJ,CACE,mBADF,EAEE,2IAFF,CAjBJ,EAsBGgB,SAtBH,CAuBI,IAAIhB,MAAJ,CACE,oBADF,EAEE,+GAFF,CAvBJ,EA4BGmB,MA5BH,EA6BI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CrB,KAAK,CAACsB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAjB,KAAK,CAACsB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAlB,KAAK,CAACsB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACAnB,KAAK,CAACsB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACApB,KAAK,CAACsB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA7B,KAAK,CAACsB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrB;IACA,IAAImB,OAAO,CAACW,QAAZ,EAAsB;MACpBC,OAAO,CAACC,GAAR,CACG,oCACCb,OAAO,CAACW,QACT,iBAAgBhC,KAAK,CAACsB,OAAN,CAAcC,OAAd,CAAsBY,QAAtB,EAAiC,MAHpD;MAKAhC,mBAAmB,CAACkB,OAAO,CAACW,QAAT,EAAmBX,OAAO,CAACe,IAA3B,CAAnB;IACD,CAPD,CAQA;IACA;IACA;IACA;IACA;IACA;IAbA,KAcK;MACHH,OAAO,CAACC,GAAR,CACE,sDADF,EAEE,OAFF;MAIA9B,OAAO,CAACiC,IAAR;IACD;EACF;AACF,CA7DL,CA8DI;AA9DJ;AAiEAjC,OAAO,CAACkC,KAAR"}
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ const program = new Command('frodo saml metadata');
3
+ program.description('SAML metadata operations.').helpOption('-h, --help', 'Help').showHelpAfterError();
4
+ program.command('export', 'Export metadata.').showHelpAfterError();
5
+ program.parse();
6
+ //# sourceMappingURL=saml-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saml-metadata.js","names":["Command","program","description","helpOption","showHelpAfterError","command","parse"],"sources":["cli/saml/saml-metadata.ts"],"sourcesContent":["import { Command } from 'commander';\n\nconst program = new Command('frodo saml metadata');\n\nprogram\n .description('SAML metadata operations.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError();\n\nprogram.command('export', 'Export metadata.').showHelpAfterError();\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AAEA,MAAMC,OAAO,GAAG,IAAID,OAAJ,CAAY,qBAAZ,CAAhB;AAEAC,OAAO,CACJC,WADH,CACe,2BADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH;AAKAH,OAAO,CAACI,OAAR,CAAgB,QAAhB,EAA0B,kBAA1B,EAA8CD,kBAA9C;AAEAH,OAAO,CAACK,KAAR"}
@@ -0,0 +1,18 @@
1
+ import { Command } from 'commander';
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+
5
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
+
7
+ export default function setup() {
8
+ const program = new Command('saml').helpOption('-h, --help', 'Help').description('Manage SAML entity providers and circles of trust.').executableDir(__dirname);
9
+ program.command('list', 'List entity providers.').showHelpAfterError();
10
+ program.command('describe', 'Describe entity providers.').showHelpAfterError();
11
+ program.command('export', 'Export entity providers.').showHelpAfterError();
12
+ program.command('import', 'Import entity providers.').showHelpAfterError();
13
+ program.command('cot', 'Manage circles of trust.').showHelpAfterError();
14
+ program.command('metadata', 'Metadata operations.').showHelpAfterError();
15
+ program.showHelpAfterError();
16
+ return program;
17
+ }
18
+ //# sourceMappingURL=saml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saml.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/saml/saml.ts"],"sourcesContent":["import { Command } from 'commander';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new Command('saml')\n .helpOption('-h, --help', 'Help')\n .description('Manage SAML entity providers and circles of trust.')\n .executableDir(__dirname);\n\n program.command('list', 'List entity providers.').showHelpAfterError();\n\n program\n .command('describe', 'Describe entity providers.')\n .showHelpAfterError();\n\n program.command('export', 'Export entity providers.').showHelpAfterError();\n\n program.command('import', 'Import entity providers.').showHelpAfterError();\n\n program.command('cot', 'Manage circles of trust.').showHelpAfterError();\n\n program.command('metadata', 'Metadata operations.').showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,aAAT,QAA8B,KAA9B;;AAEA,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAL,CAAaF,aAAa,CAACG,MAAM,CAACC,IAAP,CAAYC,GAAb,CAA1B,CAAlB;;AAEA,eAAe,SAASC,KAAT,GAAiB;EAC9B,MAAMC,OAAO,GAAG,IAAIT,OAAJ,CAAY,MAAZ,EACbU,UADa,CACF,YADE,EACY,MADZ,EAEbC,WAFa,CAED,oDAFC,EAGbC,aAHa,CAGCT,SAHD,CAAhB;EAKAM,OAAO,CAACI,OAAR,CAAgB,MAAhB,EAAwB,wBAAxB,EAAkDC,kBAAlD;EAEAL,OAAO,CACJI,OADH,CACW,UADX,EACuB,4BADvB,EAEGC,kBAFH;EAIAL,OAAO,CAACI,OAAR,CAAgB,QAAhB,EAA0B,0BAA1B,EAAsDC,kBAAtD;EAEAL,OAAO,CAACI,OAAR,CAAgB,QAAhB,EAA0B,0BAA1B,EAAsDC,kBAAtD;EAEAL,OAAO,CAACI,OAAR,CAAgB,KAAhB,EAAuB,0BAAvB,EAAmDC,kBAAnD;EAEAL,OAAO,CAACI,OAAR,CAAgB,UAAhB,EAA4B,sBAA5B,EAAoDC,kBAApD;EAEAL,OAAO,CAACK,kBAAR;EACA,OAAOL,OAAP;AACD"}
@@ -0,0 +1,22 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const program = new Command('frodo cmd delete');
8
+ program.description('Cmd delete.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --cmd-id <cmd-id>', 'Cmd id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete all cmds in a realm. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).addOption(new Option('--verbose', 'Verbose output during command execution. If specified, may or may not produce additional output.').default(false, 'off')).action( // implement command logic inside action handler
9
+ async (host, realm, user, password, options) => {
10
+ state.default.session.setTenant(host);
11
+ state.default.session.setRealm(realm);
12
+ state.default.session.setUsername(user);
13
+ state.default.session.setPassword(password);
14
+ state.default.session.setDeploymentType(options.type);
15
+ state.default.session.setAllowInsecureConnection(options.insecure);
16
+
17
+ if (await getTokens()) {// code goes here
18
+ }
19
+ } // end command logic inside action handler
20
+ );
21
+ program.parse();
22
+ //# sourceMappingURL=script-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-delete.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/script/script-delete.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo cmd delete');\n\nprogram\n .description('Cmd delete.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-i, --cmd-id <cmd-id>',\n 'Cmd id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all cmds in a realm. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .addOption(\n new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n ).default(false, 'off')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,QAAoC,uBAApC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBH,YAAtB;AAEA,MAAMI,OAAO,GAAG,IAAIN,OAAJ,CAAY,kBAAZ,CAAhB;AAEAM,OAAO,CACJC,WADH,CACe,aADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGD,WALH,CAKeN,MAAM,CAACQ,aALtB,EAMGF,WANH,CAMeN,MAAM,CAACS,YANtB,EAOGH,WAPH,CAOeN,MAAM,CAACU,gBAPtB,EAQGC,SARH,CAQaX,MAAM,CAACY,gBARpB,EASGD,SATH,CASaX,MAAM,CAACa,cATpB,EAUGF,SAVH,CAWI,IAAId,MAAJ,CACE,uBADF,EAEE,8CAFF,CAXJ,EAgBGc,SAhBH,CAiBI,IAAId,MAAJ,CAAW,WAAX,EAAwB,8CAAxB,CAjBJ,EAmBGc,SAnBH,CAoBI,IAAId,MAAJ,CACE,WADF,EAEE,sEAFF,CApBJ,EAyBGc,SAzBH,CA0BI,IAAId,MAAJ,CACE,WADF,EAEE,kGAFF,EAGEiB,OAHF,CAGU,KAHV,EAGiB,KAHjB,CA1BJ,EA+BGC,MA/BH,EAgCI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CrB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACAjB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACAlB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACAnB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACApB,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA5B,KAAK,CAACe,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB,CACrB;EACD;AACF,CA3CL,CA4CI;AA5CJ;AA+CAC,OAAO,CAAC4B,KAAR"}
@@ -0,0 +1,22 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const program = new Command('frodo cmd describe');
8
+ program.description('Cmd describe.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-i, --cmd-id <cmd-id>', 'Cmd id.')).action( // implement command logic inside action handler
9
+ async (host, realm, user, password, options) => {
10
+ state.default.session.setTenant(host);
11
+ state.default.session.setRealm(realm);
12
+ state.default.session.setUsername(user);
13
+ state.default.session.setPassword(password);
14
+ state.default.session.setDeploymentType(options.type);
15
+ state.default.session.setAllowInsecureConnection(options.insecure);
16
+
17
+ if (await getTokens()) {// code goes here
18
+ }
19
+ } // end command logic inside action handler
20
+ );
21
+ program.parse();
22
+ //# sourceMappingURL=script-describe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-describe.js","names":["Command","Option","Authenticate","state","common","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/script/script-describe.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo cmd describe');\n\nprogram\n .description('Cmd describe.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(new Option('-i, --cmd-id <cmd-id>', 'Cmd id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // code goes here\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,QAAoC,uBAApC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBH,YAAtB;AAEA,MAAMI,OAAO,GAAG,IAAIN,OAAJ,CAAY,oBAAZ,CAAhB;AAEAM,OAAO,CACJC,WADH,CACe,eADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGD,WALH,CAKeN,MAAM,CAACQ,aALtB,EAMGF,WANH,CAMeN,MAAM,CAACS,YANtB,EAOGH,WAPH,CAOeN,MAAM,CAACU,gBAPtB,EAQGC,SARH,CAQaX,MAAM,CAACY,gBARpB,EASGD,SATH,CASaX,MAAM,CAACa,cATpB,EAUGF,SAVH,CAUa,IAAId,MAAJ,CAAW,uBAAX,EAAoC,SAApC,CAVb,EAWGiB,MAXH,EAYI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CpB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAhB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAjB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACAlB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACAnB,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA5B,KAAK,CAACqB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB,CACrB;EACD;AACF,CAvBL,CAwBI;AAxBJ;AA2BAC,OAAO,CAAC4B,KAAR"}
@@ -0,0 +1,55 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Script, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ exportScriptByName
9
+ } = Script;
10
+ const {
11
+ exportScriptsToFile
12
+ } = Script;
13
+ const {
14
+ exportScriptsToFiles
15
+ } = Script;
16
+ const program = new Command('frodo script export');
17
+ program.description('Export scripts.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-n, --script-name <name>', 'Name of the script. If specified, -a and -A are ignored.')) // .addOption(
18
+ // new Option(
19
+ // '-i, --script-id <uuid>',
20
+ // 'Uuid of the script. If specified, -a and -A are ignored.'
21
+ // )
22
+ // )
23
+ .addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export all scripts to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all scripts to separate files (*.script.json) in the current directory. Ignored with -i or -a.')) // deprecated option
24
+ .addOption(new Option('-s, --script <script>', 'DEPRECATED! Use -n/--script-name instead. Name of the script.')).action( // implement command logic inside action handler
25
+ async (host, realm, user, password, options) => {
26
+ state.default.session.setTenant(host);
27
+ state.default.session.setRealm(realm);
28
+ state.default.session.setUsername(user);
29
+ state.default.session.setPassword(password);
30
+ state.default.session.setDeploymentType(options.type);
31
+ state.default.session.setAllowInsecureConnection(options.insecure);
32
+
33
+ if (await getTokens()) {
34
+ // export by name
35
+ if (options.scriptName || options.script) {
36
+ console.log('Exporting script...');
37
+ exportScriptByName(options.scriptName || options.script, options.file);
38
+ } // -a / --all
39
+ else if (options.all) {
40
+ console.log('Exporting all scripts to a single file...');
41
+ exportScriptsToFile(options.file);
42
+ } // -A / --all-separate
43
+ else if (options.allSeparate) {
44
+ console.log('Exporting all scripts to separate files...');
45
+ exportScriptsToFiles();
46
+ } // unrecognized combination of options or no options
47
+ else {
48
+ console.log('Unrecognized combination of options or no options...', 'error');
49
+ program.help();
50
+ }
51
+ }
52
+ } // end command logic inside action handler
53
+ );
54
+ program.parse();
55
+ //# sourceMappingURL=script-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-export.js","names":["Command","Option","Authenticate","Script","state","common","getTokens","exportScriptByName","exportScriptsToFile","exportScriptsToFiles","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","scriptName","script","console","log","file","all","allSeparate","help","parse"],"sources":["cli/script/script-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Script, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { exportScriptByName } = Script;\nconst { exportScriptsToFile } = Script;\nconst { exportScriptsToFiles } = Script;\n\nconst program = new Command('frodo script export');\n\nprogram\n .description('Export scripts.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\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 -i.'\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 -i or -a.'\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 .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // export by name\n if (options.scriptName || options.script) {\n console.log('Exporting script...');\n exportScriptByName(\n options.scriptName || options.script,\n options.file\n );\n }\n // -a / --all\n else if (options.all) {\n console.log('Exporting all scripts to a single file...');\n exportScriptsToFile(options.file);\n }\n // -A / --all-separate\n else if (options.allSeparate) {\n console.log('Exporting all scripts to separate files...');\n exportScriptsToFiles();\n }\n // unrecognized combination of options or no options\n else {\n console.log(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Script, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ importScriptsFromFile
9
+ } = Script;
10
+ const program = new Command('frodo script import');
11
+ program.description('Import scripts.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).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')) // deprecated option
12
+ .addOption(new Option('-s, --script <script>', 'DEPRECATED! Use -n/--script-name instead. Name of the script.')).action( // implement command logic inside action handler
13
+ async (host, realm, user, password, options) => {
14
+ state.default.session.setTenant(host);
15
+ state.default.session.setRealm(realm);
16
+ state.default.session.setUsername(user);
17
+ state.default.session.setPassword(password);
18
+ state.default.session.setDeploymentType(options.type);
19
+ state.default.session.setAllowInsecureConnection(options.insecure);
20
+
21
+ if (await getTokens()) {
22
+ console.log(`Importing script(s) into realm "${state.default.session.getRealm()}"...`);
23
+ importScriptsFromFile(options.scriptName || options.script, options.file, options.reUuid);
24
+ }
25
+ } // end command logic inside action handler
26
+ );
27
+ program.parse();
28
+ //# sourceMappingURL=script-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-import.js","names":["Command","Option","Authenticate","Script","state","common","getTokens","importScriptsFromFile","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","console","log","getRealm","scriptName","script","file","reUuid","parse"],"sources":["cli/script/script-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Script, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\n\nconst { importScriptsFromFile } = Script;\n\nconst program = new Command('frodo script import');\n\nprogram\n .description('Import scripts.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\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 .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n console.log(\n `Importing script(s) into realm \"${state.default.session.getRealm()}\"...`\n );\n importScriptsFromFile(\n options.scriptName || options.script,\n options.file,\n options.reUuid\n );\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,MAAvB,EAA+BC,KAA/B,QAA4C,uBAA5C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AAEA,MAAM;EAAEK;AAAF,IAA4BJ,MAAlC;AAEA,MAAMK,OAAO,GAAG,IAAIR,OAAJ,CAAY,qBAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CACe,iBADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeP,MAAM,CAACQ,aAJtB,EAKGD,WALH,CAKeP,MAAM,CAACS,aALtB,EAMGF,WANH,CAMeP,MAAM,CAACU,YANtB,EAOGH,WAPH,CAOeP,MAAM,CAACW,gBAPtB,EAQGC,SARH,CAQaZ,MAAM,CAACa,gBARpB,EASGD,SATH,CASaZ,MAAM,CAACc,cATpB,EAUGF,SAVH,CAUa,IAAIhB,MAAJ,CAAW,mBAAX,EAAgC,6BAAhC,CAVb,EAWGgB,SAXH,CAYI,IAAIhB,MAAJ,CACE,0BADF,EAEE,0DAFF,CAZJ,EAiBGgB,SAjBH,CAkBI,IAAIhB,MAAJ,CACE,WADF,EAEE,4NAFF,EAGEmB,OAHF,CAGU,KAHV,EAGiB,OAHjB,CAlBJ,EAuBE;AAvBF,CAwBGH,SAxBH,CAyBI,IAAIhB,MAAJ,CACE,uBADF,EAEE,+DAFF,CAzBJ,EA8BGoB,MA9BH,EA+BI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACAlB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACAnB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACApB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACArB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA7B,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrB8B,OAAO,CAACC,GAAR,CACG,mCAAkCjC,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBW,QAAtB,EAAiC,MADtE;IAGA/B,qBAAqB,CACnBmB,OAAO,CAACa,UAAR,IAAsBb,OAAO,CAACc,MADX,EAEnBd,OAAO,CAACe,IAFW,EAGnBf,OAAO,CAACgB,MAHW,CAArB;EAKD;AACF,CAjDL,CAkDI;AAlDJ;AAqDAlC,OAAO,CAACmC,KAAR"}
@@ -0,0 +1,27 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Script, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ listScripts
9
+ } = Script;
10
+ const program = new Command('frodo script list');
11
+ program.description('List scripts.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action( // implement command logic inside action handler
12
+ async (host, realm, user, password, options) => {
13
+ state.default.session.setTenant(host);
14
+ state.default.session.setRealm(realm);
15
+ state.default.session.setUsername(user);
16
+ state.default.session.setPassword(password);
17
+ state.default.session.setDeploymentType(options.type);
18
+ state.default.session.setAllowInsecureConnection(options.insecure);
19
+
20
+ if (await getTokens()) {
21
+ console.log(`Listing scripts in realm "${state.default.session.getRealm()}"...`);
22
+ await listScripts(options.long);
23
+ }
24
+ } // end command logic inside action handler
25
+ );
26
+ program.parse();
27
+ //# sourceMappingURL=script-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-list.js","names":["Command","Option","Authenticate","Script","state","common","getTokens","listScripts","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","console","log","getRealm","long","parse"],"sources":["cli/script/script-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Script, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { listScripts } = Script;\n\nconst program = new Command('frodo script list');\n\nprogram\n .description('List scripts.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n console.log(\n `Listing scripts in realm \"${state.default.session.getRealm()}\"...`\n );\n await listScripts(options.long);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,MAAvB,EAA+BC,KAA/B,QAA4C,uBAA5C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AACA,MAAM;EAAEK;AAAF,IAAkBJ,MAAxB;AAEA,MAAMK,OAAO,GAAG,IAAIR,OAAJ,CAAY,mBAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CACe,eADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeP,MAAM,CAACQ,aAJtB,EAKGD,WALH,CAKeP,MAAM,CAACS,aALtB,EAMGF,WANH,CAMeP,MAAM,CAACU,YANtB,EAOGH,WAPH,CAOeP,MAAM,CAACW,gBAPtB,EAQGC,SARH,CAQaZ,MAAM,CAACa,gBARpB,EASGD,SATH,CASaZ,MAAM,CAACc,cATpB,EAUGF,SAVH,CAWI,IAAIhB,MAAJ,CAAW,YAAX,EAAyB,uBAAzB,EAAkDmB,OAAlD,CAA0D,KAA1D,EAAiE,OAAjE,CAXJ,EAaGC,MAbH,EAcI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACAlB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACAnB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACApB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACArB,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA7B,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrB8B,OAAO,CAACC,GAAR,CACG,6BAA4BjC,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBW,QAAtB,EAAiC,MADhE;IAGA,MAAM/B,WAAW,CAACmB,OAAO,CAACa,IAAT,CAAjB;EACD;AACF,CA5BL,CA6BI;AA7BJ;AAgCA/B,OAAO,CAACgC,KAAR"}
@@ -0,0 +1,17 @@
1
+ import { Command } from 'commander';
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+
5
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
+
7
+ export default function setup() {
8
+ const program = new Command('script').helpOption('-h, --help', 'Help').description('Manage scripts.').executableDir(__dirname);
9
+ program.command('list', 'List scripts.').showHelpAfterError(); // program.command('describe', 'Describe scripts.').showHelpAfterError();
10
+
11
+ program.command('export', 'Export scripts.').showHelpAfterError();
12
+ program.command('import', 'Import scripts.').showHelpAfterError(); // program.command('delete', 'Delete scripts.').showHelpAfterError();
13
+
14
+ program.showHelpAfterError();
15
+ return program;
16
+ }
17
+ //# sourceMappingURL=script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/script/script.ts"],"sourcesContent":["import { Command } from 'commander';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new Command('script')\n .helpOption('-h, --help', 'Help')\n .description('Manage scripts.')\n .executableDir(__dirname);\n\n program.command('list', 'List scripts.').showHelpAfterError();\n\n // program.command('describe', 'Describe scripts.').showHelpAfterError();\n\n program.command('export', 'Export scripts.').showHelpAfterError();\n\n program.command('import', 'Import scripts.').showHelpAfterError();\n\n // program.command('delete', 'Delete scripts.').showHelpAfterError();\n\n program.showHelpAfterError();\n return program;\n}\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,aAAT,QAA8B,KAA9B;;AAEA,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAL,CAAaF,aAAa,CAACG,MAAM,CAACC,IAAP,CAAYC,GAAb,CAA1B,CAAlB;;AAEA,eAAe,SAASC,KAAT,GAAiB;EAC9B,MAAMC,OAAO,GAAG,IAAIT,OAAJ,CAAY,QAAZ,EACbU,UADa,CACF,YADE,EACY,MADZ,EAEbC,WAFa,CAED,iBAFC,EAGbC,aAHa,CAGCT,SAHD,CAAhB;EAKAM,OAAO,CAACI,OAAR,CAAgB,MAAhB,EAAwB,eAAxB,EAAyCC,kBAAzC,GAN8B,CAQ9B;;EAEAL,OAAO,CAACI,OAAR,CAAgB,QAAhB,EAA0B,iBAA1B,EAA6CC,kBAA7C;EAEAL,OAAO,CAACI,OAAR,CAAgB,QAAhB,EAA0B,iBAA1B,EAA6CC,kBAA7C,GAZ8B,CAc9B;;EAEAL,OAAO,CAACK,kBAAR;EACA,OAAOL,OAAP;AACD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-delete.e2e.test_.js","names":["spawn","spawnSync","ansiEscapeCodes","beforeAll","beforeEach","deleteThemesCmd","status","console","error","stderr","toString","log","stdout","importTestThemesCmd","cwd","describe","it","done","deleteThemeCmd","expected","join","chunks","on","chunk","push","output","Buffer","concat","replace","expect","toContain"],"sources":["cli/theme/theme-delete.e2e.test_.ts"],"sourcesContent":["// import { jest } from '@jest/globals';\nimport { spawn, spawnSync } from 'child_process';\n\nconst ansiEscapeCodes =\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;\n\n/**\n * Run once before running the suites in this file\n */\nbeforeAll(async () => {});\n\n/**\n * Run before every test in every suite in this file\n */\nbeforeEach(async () => {\n // delete all themes\n const deleteThemesCmd = spawnSync('frodo', [\n 'theme',\n 'delete',\n '--all',\n 'frodo-dev',\n ]);\n if (deleteThemesCmd.status > 0) {\n console.error(deleteThemesCmd.stderr.toString());\n console.log(deleteThemesCmd.stdout.toString());\n }\n\n // import test themes\n const importTestThemesCmd = spawnSync(\n 'frodo',\n ['theme', 'import', '--all-separate', 'frodo-dev'],\n {\n cwd: `test/e2e/theme/baseline`,\n }\n );\n if (importTestThemesCmd.status > 0) {\n console.error(importTestThemesCmd.stderr.toString());\n console.log(importTestThemesCmd.stdout.toString());\n }\n});\n\ndescribe('frodo theme delete', () => {\n it('\"frodo theme delete -n Zardoz\": should delete the Zardoz theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'Zardoz',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted Zardoz.', ''].join('\\n');\n const chunks = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -n DoesNotExist\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-n',\n 'DoesNotExist',\n 'frodo-dev',\n ]);\n const expected = ['✖ Error: DoesNotExist not found', ''].join('\\n');\n const chunks = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e06\": should delete the 4ded6d91-ceea-400a-ae3f-42209f1b0e06 (Zardoz) theme', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e06',\n 'frodo-dev',\n ]);\n const expected = [\n '✔ Deleted 4ded6d91-ceea-400a-ae3f-42209f1b0e06.',\n '',\n ].join('\\n');\n const chunks = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -i 4ded6d91-ceea-400a-ae3f-42209f1b0e07\": should report an error that the theme does not exist', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-i',\n '4ded6d91-ceea-400a-ae3f-42209f1b0e07',\n 'frodo-dev',\n ]);\n const expected = [\n '✖ Error: 4ded6d91-ceea-400a-ae3f-42209f1b0e07 not found',\n '',\n ].join('\\n');\n const chunks = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n\n it('\"frodo theme delete -a\": should delete all themes', (done) => {\n const deleteThemeCmd = spawn('frodo', [\n 'theme',\n 'delete',\n '-a',\n 'frodo-dev',\n ]);\n const expected = ['✔ Deleted all realm themes.', ''].join('\\n');\n const chunks = [];\n deleteThemeCmd.stderr.on('data', (chunk) => {\n chunks.push(chunk);\n });\n deleteThemeCmd.stderr.on('end', () => {\n const output = Buffer.concat(chunks)\n .toString()\n .replace(ansiEscapeCodes, '');\n try {\n expect(output).toContain(expected);\n done();\n } catch (error) {\n done(error);\n }\n });\n });\n});\n"],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Theme, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ deleteThemeByNameCmd,
9
+ deleteThemeCmd,
10
+ deleteThemesCmd
11
+ } = Theme;
12
+ const program = new Command('frodo theme delete');
13
+ program.description('Delete themes.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).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( // implement command logic inside action handler
14
+ async (host, realm, user, password, options) => {
15
+ state.default.session.setTenant(host);
16
+ state.default.session.setRealm(realm);
17
+ state.default.session.setUsername(user);
18
+ state.default.session.setPassword(password);
19
+ state.default.session.setDeploymentType(options.type);
20
+ state.default.session.setAllowInsecureConnection(options.insecure);
21
+
22
+ if (await getTokens()) {
23
+ // delete by name
24
+ if (options.themeName) {
25
+ console.log(`Deleting theme with name "${options.themeName}" from realm "${state.default.session.getRealm()}"...`);
26
+ deleteThemeByNameCmd(options.themeName);
27
+ } // delete by id
28
+ else if (options.themeId) {
29
+ console.log(`Deleting theme with id "${options.themeId}" from realm "${state.default.session.getRealm()}"...`);
30
+ deleteThemeCmd(options.themeId);
31
+ } // --all -a
32
+ else if (options.all) {
33
+ console.log(`Deleting all themes from realm "${state.default.session.getRealm()}"...`);
34
+ deleteThemesCmd();
35
+ } // unrecognized combination of options or no options
36
+ else {
37
+ console.log('Unrecognized combination of options or no options...');
38
+ program.help();
39
+ }
40
+ }
41
+ } // end command logic inside action handler
42
+ );
43
+ program.parse();
44
+ //# sourceMappingURL=theme-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-delete.js","names":["Command","Option","Authenticate","Theme","state","common","getTokens","deleteThemeByNameCmd","deleteThemeCmd","deleteThemesCmd","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","themeName","console","log","getRealm","themeId","all","help","parse"],"sources":["cli/theme/theme-delete.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Theme, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { deleteThemeByNameCmd, deleteThemeCmd, deleteThemesCmd } = Theme;\n\nconst program = new Command('frodo theme delete');\n\nprogram\n .description('Delete themes.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Delete all the themes in the realm. Ignored with -n and -i.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n // delete by name\n if (options.themeName) {\n console.log(\n `Deleting theme with name \"${\n options.themeName\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n deleteThemeByNameCmd(options.themeName);\n }\n // delete by id\n else if (options.themeId) {\n console.log(\n `Deleting theme with id \"${\n options.themeId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n deleteThemeCmd(options.themeId);\n }\n // --all -a\n else if (options.all) {\n console.log(\n `Deleting all themes from realm \"${state.default.session.getRealm()}\"...`\n );\n deleteThemesCmd();\n }\n // unrecognized combination of options or no options\n else {\n console.log('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AACA,MAAM;EAAEK,oBAAF;EAAwBC,cAAxB;EAAwCC;AAAxC,IAA4DN,KAAlE;AAEA,MAAMO,OAAO,GAAG,IAAIV,OAAJ,CAAY,oBAAZ,CAAhB;AAEAU,OAAO,CACJC,WADH,CACe,gBADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeT,MAAM,CAACU,aAJtB,EAKGD,WALH,CAKeT,MAAM,CAACW,aALtB,EAMGF,WANH,CAMeT,MAAM,CAACY,YANtB,EAOGH,WAPH,CAOeT,MAAM,CAACa,gBAPtB,EAQGC,SARH,CAQad,MAAM,CAACe,gBARpB,EASGD,SATH,CASad,MAAM,CAACgB,cATpB,EAUGF,SAVH,CAWI,IAAIlB,MAAJ,CACE,yBADF,EAEE,yDAFF,CAXJ,EAgBGkB,SAhBH,CAiBI,IAAIlB,MAAJ,CACE,uBADF,EAEE,yDAFF,CAjBJ,EAsBGkB,SAtBH,CAuBI,IAAIlB,MAAJ,CACE,WADF,EAEE,6DAFF,CAvBJ,EA4BGqB,MA5BH,EA6BI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CvB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAnB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACApB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACArB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACAtB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA/B,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM/B,SAAS,EAAnB,EAAuB;IACrB;IACA,IAAIqB,OAAO,CAACW,SAAZ,EAAuB;MACrBC,OAAO,CAACC,GAAR,CACG,6BACCb,OAAO,CAACW,SACT,iBAAgBlC,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBY,QAAtB,EAAiC,MAHpD;MAKAlC,oBAAoB,CAACoB,OAAO,CAACW,SAAT,CAApB;IACD,CAPD,CAQA;IARA,KASK,IAAIX,OAAO,CAACe,OAAZ,EAAqB;MACxBH,OAAO,CAACC,GAAR,CACG,2BACCb,OAAO,CAACe,OACT,iBAAgBtC,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBY,QAAtB,EAAiC,MAHpD;MAKAjC,cAAc,CAACmB,OAAO,CAACe,OAAT,CAAd;IACD,CAPI,CAQL;IARK,KASA,IAAIf,OAAO,CAACgB,GAAZ,EAAiB;MACpBJ,OAAO,CAACC,GAAR,CACG,mCAAkCpC,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBY,QAAtB,EAAiC,MADtE;MAGAhC,eAAe;IAChB,CALI,CAML;IANK,KAOA;MACH8B,OAAO,CAACC,GAAR,CAAY,sDAAZ;MACA9B,OAAO,CAACkC,IAAR;IACD;EACF;AACF,CArEL,CAsEI;AAtEJ;AAyEAlC,OAAO,CAACmC,KAAR"}
@@ -0,0 +1,49 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Theme, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ exportThemeById,
9
+ exportThemeByName,
10
+ exportThemesToFile,
11
+ exportThemesToFiles
12
+ } = Theme;
13
+ const program = new Command('frodo theme export');
14
+ program.description('Export themes.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).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('-f, --file [file]', 'Name of the file to write the exported theme(s) to. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all the themes in a realm to a single file. Ignored with -n and -i.')).addOption(new Option('-A, --all-separate', 'Export all the themes in a realm as separate files <theme name>.theme.json. Ignored with -n, -i, and -a.')).action( // implement command logic inside action handler
15
+ async (host, realm, user, password, options) => {
16
+ state.default.session.setTenant(host);
17
+ state.default.session.setRealm(realm);
18
+ state.default.session.setUsername(user);
19
+ state.default.session.setPassword(password);
20
+ state.default.session.setDeploymentType(options.type);
21
+ state.default.session.setAllowInsecureConnection(options.insecure);
22
+
23
+ if (await getTokens()) {
24
+ // export by name
25
+ if (options.themeName) {
26
+ console.log(`Exporting theme "${options.themeName}" from realm "${state.default.session.getRealm()}"...`);
27
+ exportThemeByName(options.themeName, options.file);
28
+ } // export by id
29
+ else if (options.themeId) {
30
+ console.log(`Exporting theme "${options.themeId}" from realm "${state.default.session.getRealm()}"...`);
31
+ exportThemeById(options.themeId, options.file);
32
+ } // --all -a
33
+ else if (options.all) {
34
+ console.log('Exporting all themes to a single file...');
35
+ exportThemesToFile(options.file);
36
+ } // --all-separate -A
37
+ else if (options.allSeparate) {
38
+ console.log('Exporting all themes to separate files...');
39
+ exportThemesToFiles();
40
+ } // unrecognized combination of options or no options
41
+ else {
42
+ console.log('Unrecognized combination of options or no options...', 'error');
43
+ program.help();
44
+ }
45
+ }
46
+ } // end command logic inside action handler
47
+ );
48
+ program.parse();
49
+ //# sourceMappingURL=theme-export.js.map