@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,28 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Admin, Authenticate, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ revokeOAuth2ClientAdminPrivileges
9
+ } = Admin;
10
+ const program = new Command('frodo admin revoke-oauth2-client-admin-privileges');
11
+ program.description('Revoke admin privileges from an oauth2 client.').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('-t, --target <target name or id>', 'Name of the oauth2 client.')).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(`Revoking admin privileges from oauth2 client "${options.target}" in realm "${state.default.session.getRealm()}"...`);
22
+ await revokeOAuth2ClientAdminPrivileges(options.target);
23
+ console.log('Done.');
24
+ }
25
+ } // end command logic inside action handler
26
+ );
27
+ program.parse();
28
+ //# sourceMappingURL=admin-revoke-oauth2-client-admin-privileges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-revoke-oauth2-client-admin-privileges.js","names":["Command","Option","Admin","Authenticate","state","common","getTokens","revokeOAuth2ClientAdminPrivileges","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","console","log","target","getRealm","parse"],"sources":["cli/admin/admin-revoke-oauth2-client-admin-privileges.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Admin, Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { revokeOAuth2ClientAdminPrivileges } = Admin;\n\nconst program = new Command(\n 'frodo admin revoke-oauth2-client-admin-privileges'\n);\n\nprogram\n .description('Revoke admin privileges from an oauth2 client.')\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('-t, --target <target name or id>', 'Name of the oauth2 client.')\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 `Revoking admin privileges from oauth2 client \"${\n options.target\n }\" in realm \"${state.default.session.getRealm()}\"...`\n );\n await revokeOAuth2ClientAdminPrivileges(options.target);\n console.log('Done.');\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,KAAT,EAAgBC,YAAhB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBH,YAAtB;AACA,MAAM;EAAEI;AAAF,IAAwCL,KAA9C;AAEA,MAAMM,OAAO,GAAG,IAAIR,OAAJ,CACd,mDADc,CAAhB;AAIAQ,OAAO,CACJC,WADH,CACe,gDADf,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,kCAAX,EAA+C,4BAA/C,CAXJ,EAaGmB,MAbH,EAcI;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;IACrB8B,OAAO,CAACC,GAAR,CACG,iDACCZ,OAAO,CAACa,MACT,eAAclC,KAAK,CAACsB,OAAN,CAAcC,OAAd,CAAsBY,QAAtB,EAAiC,MAHlD;IAKA,MAAMhC,iCAAiC,CAACkB,OAAO,CAACa,MAAT,CAAvC;IACAF,OAAO,CAACC,GAAR,CAAY,OAAZ;EACD;AACF,CA/BL,CAgCI;AAhCJ;AAmCA7B,OAAO,CAACgC,KAAR"}
@@ -0,0 +1,28 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ showGenericExtensionAttributes
6
+ } = Admin;
7
+ const {
8
+ getTokens
9
+ } = Authenticate;
10
+ const program = new Command('frodo admin show-generic-extension-attributes');
11
+ program.description('Show generic extension attributes.').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('--include-customized', 'Include customized attributes.').default(false, 'false')).addOption(new Option('--dry-run', 'Dry-run only, do not perform changes.').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(`Showing generic extension attributes in realm "${state.default.session.getRealm()}"...`);
22
+ await showGenericExtensionAttributes(options.includeCustomized, options.dryRun);
23
+ console.log('Done.');
24
+ }
25
+ } // end command logic inside action handler
26
+ );
27
+ program.parse();
28
+ //# sourceMappingURL=admin-show-generic-extension-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-show-generic-extension-attributes.js","names":["Command","Option","Authenticate","Admin","state","common","showGenericExtensionAttributes","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","console","log","getRealm","includeCustomized","dryRun","parse"],"sources":["cli/admin/admin-show-generic-extension-attributes.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { showGenericExtensionAttributes } = Admin;\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo admin show-generic-extension-attributes');\n\nprogram\n .description('Show generic extension attributes.')\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 '--include-customized',\n 'Include customized attributes.'\n ).default(false, 'false')\n )\n .addOption(\n new Option('--dry-run', 'Dry-run only, do not perform changes.').default(\n false,\n 'false'\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 `Showing generic extension attributes in realm \"${state.default.session.getRealm()}\"...`\n );\n await showGenericExtensionAttributes(\n options.includeCustomized,\n options.dryRun\n );\n console.log('Done.');\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,IAAqCH,KAA3C;AACA,MAAM;EAAEI;AAAF,IAAgBL,YAAtB;AAEA,MAAMM,OAAO,GAAG,IAAIR,OAAJ,CAAY,+CAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CACe,oCADf,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,sBADF,EAEE,gCAFF,EAGEmB,OAHF,CAGU,KAHV,EAGiB,OAHjB,CAXJ,EAgBGH,SAhBH,CAiBI,IAAIhB,MAAJ,CAAW,WAAX,EAAwB,uCAAxB,EAAiEmB,OAAjE,CACE,KADF,EAEE,OAFF,CAjBJ,EAsBGC,MAtBH,EAuBI;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,MAAM5B,SAAS,EAAnB,EAAuB;IACrB6B,OAAO,CAACC,GAAR,CACG,kDAAiDjC,KAAK,CAACgB,OAAN,CAAcO,OAAd,CAAsBW,QAAtB,EAAiC,MADrF;IAGA,MAAMhC,8BAA8B,CAClCoB,OAAO,CAACa,iBAD0B,EAElCb,OAAO,CAACc,MAF0B,CAApC;IAIAJ,OAAO,CAACC,GAAR,CAAY,OAAZ;EACD;AACF,CAzCL,CA0CI;AA1CJ;AA6CA7B,OAAO,CAACiC,KAAR"}
@@ -0,0 +1,24 @@
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('admin').helpOption('-h, --help', 'Help').description('Platform admin tasks.').executableDir(__dirname);
9
+ program.command('create-oauth2-client-with-admin-privileges', 'Create an oauth2 client with admin privileges.').showHelpAfterError();
10
+ program.command('get-access-token', 'Get an access token using client credentials grant type.').showHelpAfterError();
11
+ program.command('list-oauth2-clients-with-admin-privileges', 'List oauth2 clients with admin privileges.').showHelpAfterError();
12
+ program.command('grant-oauth2-client-admin-privileges', 'Grant an oauth2 client admin privileges.').showHelpAfterError();
13
+ program.command('revoke-oauth2-client-admin-privileges', 'Revoke admin privileges from an oauth2 client.').showHelpAfterError();
14
+ program.command('list-oauth2-clients-with-custom-privileges', 'List oauth2 clients with custom privileges.').showHelpAfterError();
15
+ program.command('list-static-user-mappings', 'List all subjects of static user mappings that are not oauth2 clients.').showHelpAfterError();
16
+ program.command('remove-static-user-mapping', "Remove a subject's static user mapping.").showHelpAfterError();
17
+ program.command('add-autoid-static-user-mapping', 'Add AutoId static user mapping to enable dashboards and other AutoId-based functionality.').showHelpAfterError();
18
+ program.command('hide-generic-extension-attributes', 'Hide generic extension attributes.').showHelpAfterError();
19
+ program.command('show-generic-extension-attributes', 'Show generic extension attributes.').showHelpAfterError();
20
+ program.command('repair-org-model', 'Repair org model.').showHelpAfterError();
21
+ program.showHelpAfterError();
22
+ return program;
23
+ }
24
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/admin/admin.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('admin')\n .helpOption('-h, --help', 'Help')\n .description('Platform admin tasks.')\n .executableDir(__dirname);\n\n program\n .command(\n 'create-oauth2-client-with-admin-privileges',\n 'Create an oauth2 client with admin privileges.'\n )\n .showHelpAfterError();\n\n program\n .command(\n 'get-access-token',\n 'Get an access token using client credentials grant type.'\n )\n .showHelpAfterError();\n\n program\n .command(\n 'list-oauth2-clients-with-admin-privileges',\n 'List oauth2 clients with admin privileges.'\n )\n .showHelpAfterError();\n\n program\n .command(\n 'grant-oauth2-client-admin-privileges',\n 'Grant an oauth2 client admin privileges.'\n )\n .showHelpAfterError();\n\n program\n .command(\n 'revoke-oauth2-client-admin-privileges',\n 'Revoke admin privileges from an oauth2 client.'\n )\n .showHelpAfterError();\n\n program\n .command(\n 'list-oauth2-clients-with-custom-privileges',\n 'List oauth2 clients with custom privileges.'\n )\n .showHelpAfterError();\n\n program\n .command(\n 'list-static-user-mappings',\n 'List all subjects of static user mappings that are not oauth2 clients.'\n )\n .showHelpAfterError();\n\n program\n .command(\n 'remove-static-user-mapping',\n \"Remove a subject's static user mapping.\"\n )\n .showHelpAfterError();\n\n program\n .command(\n 'add-autoid-static-user-mapping',\n 'Add AutoId static user mapping to enable dashboards and other AutoId-based functionality.'\n )\n .showHelpAfterError();\n\n program\n .command(\n 'hide-generic-extension-attributes',\n 'Hide generic extension attributes.'\n )\n .showHelpAfterError();\n\n program\n .command(\n 'show-generic-extension-attributes',\n 'Show generic extension attributes.'\n )\n .showHelpAfterError();\n\n program.command('repair-org-model', 'Repair org model.').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,OAAZ,EACbU,UADa,CACF,YADE,EACY,MADZ,EAEbC,WAFa,CAED,uBAFC,EAGbC,aAHa,CAGCT,SAHD,CAAhB;EAKAM,OAAO,CACJI,OADH,CAEI,4CAFJ,EAGI,gDAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,kBAFJ,EAGI,0DAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,2CAFJ,EAGI,4CAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,sCAFJ,EAGI,0CAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,uCAFJ,EAGI,gDAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,4CAFJ,EAGI,6CAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,2BAFJ,EAGI,wEAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,4BAFJ,EAGI,yCAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,gCAFJ,EAGI,2FAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,mCAFJ,EAGI,oCAHJ,EAKGC,kBALH;EAOAL,OAAO,CACJI,OADH,CAEI,mCAFJ,EAGI,oCAHJ,EAKGC,kBALH;EAOAL,OAAO,CAACI,OAAR,CAAgB,kBAAhB,EAAoC,mBAApC,EAAyDC,kBAAzD;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, --app-id <id>', 'OAuth2 application id/name. 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=app-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-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/app/app-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, --app-id <id>',\n 'OAuth2 application id/name. 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,mBADF,EAEE,kEAFF,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 app describe');
8
+ program.description('Describe OAuth2 application.').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, --app-id <id>', 'OAuth2 application id/name.')).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=app-describe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-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/app/app-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 app describe');\n\nprogram\n .description('Describe OAuth2 application.')\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, --app-id <id>', 'OAuth2 application id/name.'))\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,8BADf,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,mBAAX,EAAgC,6BAAhC,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,44 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, OAuth2Client, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ exportOAuth2ClientsToFile,
9
+ exportOAuth2ClientsToFiles,
10
+ exportOAuth2ClientToFile
11
+ } = OAuth2Client;
12
+ const program = new Command('frodo app export');
13
+ program.description('Export OAuth2 applications.').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, --app-id <app-id>', 'App id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export all OAuth2 apps to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all OAuth2 apps to separate files (*.oauth2.app.json) in the current directory. Ignored with -i or -a.')).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
+ // export
24
+ if (options.appId) {
25
+ console.log('Exporting OAuth2 application...');
26
+ exportOAuth2ClientToFile(options.appId, options.file);
27
+ } // -a/--all
28
+ else if (options.all) {
29
+ console.log('Exporting all OAuth2 applications to file...');
30
+ exportOAuth2ClientsToFile(options.file);
31
+ } // -A/--all-separate
32
+ else if (options.allSeparate) {
33
+ console.log('Exporting all applications to separate files...');
34
+ exportOAuth2ClientsToFiles();
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=app-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-export.js","names":["Command","Option","Authenticate","OAuth2Client","state","common","getTokens","exportOAuth2ClientsToFile","exportOAuth2ClientsToFiles","exportOAuth2ClientToFile","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","appId","console","log","file","all","allSeparate","help","parse"],"sources":["cli/app/app-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, OAuth2Client, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst {\n exportOAuth2ClientsToFile,\n exportOAuth2ClientsToFiles,\n exportOAuth2ClientToFile,\n} = OAuth2Client;\n\nconst program = new Command('frodo app export');\n\nprogram\n .description('Export OAuth2 applications.')\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, --app-id <app-id>',\n 'App id. 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 OAuth2 apps to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all OAuth2 apps to separate files (*.oauth2.app.json) in the current directory. Ignored with -i or -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\n if (options.appId) {\n console.log('Exporting OAuth2 application...');\n exportOAuth2ClientToFile(options.appId, options.file);\n }\n // -a/--all\n else if (options.all) {\n console.log('Exporting all OAuth2 applications to file...');\n exportOAuth2ClientsToFile(options.file);\n }\n // -A/--all-separate\n else if (options.allSeparate) {\n console.log('Exporting all applications to separate files...');\n exportOAuth2ClientsToFiles();\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,YAAvB,EAAqCC,KAArC,QAAkD,uBAAlD;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AACA,MAAM;EACJK,yBADI;EAEJC,0BAFI;EAGJC;AAHI,IAIFN,YAJJ;AAMA,MAAMO,OAAO,GAAG,IAAIV,OAAJ,CAAY,kBAAZ,CAAhB;AAEAU,OAAO,CACJC,WADH,CACe,6BADf,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,uBADF,EAEE,8CAFF,CAXJ,EAgBGkB,SAhBH,CAgBa,IAAIlB,MAAJ,CAAW,mBAAX,EAAgC,0BAAhC,CAhBb,EAiBGkB,SAjBH,CAkBI,IAAIlB,MAAJ,CACE,WADF,EAEE,2DAFF,CAlBJ,EAuBGkB,SAvBH,CAwBI,IAAIlB,MAAJ,CACE,oBADF,EAEE,+GAFF,CAxBJ,EA6BGqB,MA7BH,EA8BI;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,KAAZ,EAAmB;MACjBC,OAAO,CAACC,GAAR,CAAY,iCAAZ;MACA/B,wBAAwB,CAACkB,OAAO,CAACW,KAAT,EAAgBX,OAAO,CAACc,IAAxB,CAAxB;IACD,CAHD,CAIA;IAJA,KAKK,IAAId,OAAO,CAACe,GAAZ,EAAiB;MACpBH,OAAO,CAACC,GAAR,CAAY,8CAAZ;MACAjC,yBAAyB,CAACoB,OAAO,CAACc,IAAT,CAAzB;IACD,CAHI,CAIL;IAJK,KAKA,IAAId,OAAO,CAACgB,WAAZ,EAAyB;MAC5BJ,OAAO,CAACC,GAAR,CAAY,iDAAZ;MACAhC,0BAA0B;IAC3B,CAHI,CAIL;IAJK,KAKA;MACH+B,OAAO,CAACC,GAAR,CAAY,sDAAZ;MACA9B,OAAO,CAACkC,IAAR;IACD;EACF;AACF,CA5DL,CA6DI;AA7DJ;AAgEAlC,OAAO,CAACmC,KAAR"}
@@ -0,0 +1,45 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, OAuth2Client, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ importOAuth2ClientsFromFile
9
+ } = OAuth2Client;
10
+ const program = new Command('frodo app import');
11
+ program.description('Import OAuth2 applications.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption) // .addOption(
12
+ // new Option(
13
+ // '-i, --cmd-id <cmd-id>',
14
+ // 'Cmd id. If specified, only one cmd is imported and the options -a and -A are ignored.'
15
+ // )
16
+ // )
17
+ .addOption(new Option('-f, --file <file>', 'Name of the file to import.')) // .addOption(
18
+ // new Option(
19
+ // '-a, --all',
20
+ // 'Import all cmds from single file. Ignored with -i.'
21
+ // )
22
+ // )
23
+ // .addOption(
24
+ // new Option(
25
+ // '-A, --all-separate',
26
+ // 'Import all cmds from separate files (*.cmd.json) in the current directory. Ignored with -i or -a.'
27
+ // )
28
+ // )
29
+ .action( // implement command logic inside action handler
30
+ async (host, realm, user, password, options) => {
31
+ state.default.session.setTenant(host);
32
+ state.default.session.setRealm(realm);
33
+ state.default.session.setUsername(user);
34
+ state.default.session.setPassword(password);
35
+ state.default.session.setDeploymentType(options.type);
36
+ state.default.session.setAllowInsecureConnection(options.insecure);
37
+
38
+ if (await getTokens()) {
39
+ console.log(`Importing OAuth2 application(s) ...`);
40
+ importOAuth2ClientsFromFile(options.file);
41
+ }
42
+ } // end command logic inside action handler
43
+ );
44
+ program.parse();
45
+ //# sourceMappingURL=app-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-import.js","names":["Command","Option","Authenticate","OAuth2Client","state","common","getTokens","importOAuth2ClientsFromFile","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","console","log","file","parse"],"sources":["cli/app/app-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, OAuth2Client, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { importOAuth2ClientsFromFile } = OAuth2Client;\n\nconst program = new Command('frodo app import');\n\nprogram\n .description('Import OAuth2 applications.')\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, only one cmd is imported and the options -a and -A are ignored.'\n // )\n // )\n .addOption(new Option('-f, --file <file>', 'Name of the file to import.'))\n // .addOption(\n // new Option(\n // '-a, --all',\n // 'Import all cmds from single file. Ignored with -i.'\n // )\n // )\n // .addOption(\n // new Option(\n // '-A, --all-separate',\n // 'Import all cmds from separate files (*.cmd.json) in the current directory. Ignored with -i or -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 console.log(`Importing OAuth2 application(s) ...`);\n importOAuth2ClientsFromFile(options.file);\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,YAAvB,EAAqCC,KAArC,QAAkD,uBAAlD;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AACA,MAAM;EAAEK;AAAF,IAAkCJ,YAAxC;AAEA,MAAMK,OAAO,GAAG,IAAIR,OAAJ,CAAY,kBAAZ,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,EAUE;AACA;AACA;AACA;AACA;AACA;AAfF,CAgBGF,SAhBH,CAgBa,IAAIhB,MAAJ,CAAW,mBAAX,EAAgC,6BAAhC,CAhBb,EAiBE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA5BF,CA6BGmB,MA7BH,EA8BI;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;IACrB8B,OAAO,CAACC,GAAR,CAAa,qCAAb;IACA9B,2BAA2B,CAACkB,OAAO,CAACa,IAAT,CAA3B;EACD;AACF,CA1CL,CA2CI;AA3CJ;AA8CA9B,OAAO,CAAC+B,KAAR"}
@@ -0,0 +1,27 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, OAuth2Client, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ listOAuth2Clients
9
+ } = OAuth2Client;
10
+ const program = new Command('frodo app list');
11
+ program.description('List OAuth2 applications.').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 OAuth2 applications...`);
22
+ listOAuth2Clients(options.long);
23
+ }
24
+ } // end command logic inside action handler
25
+ );
26
+ program.parse();
27
+ //# sourceMappingURL=app-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-list.js","names":["Command","Option","Authenticate","OAuth2Client","state","common","getTokens","listOAuth2Clients","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","long","parse"],"sources":["cli/app/app-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, OAuth2Client, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { listOAuth2Clients } = OAuth2Client;\n\nconst program = new Command('frodo app list');\n\nprogram\n .description('List OAuth2 applications.')\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(`Listing OAuth2 applications...`);\n listOAuth2Clients(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,YAAvB,EAAqCC,KAArC,QAAkD,uBAAlD;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AACA,MAAM;EAAEK;AAAF,IAAwBJ,YAA9B;AAEA,MAAMK,OAAO,GAAG,IAAIR,OAAJ,CAAY,gBAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CACe,2BADf,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,CAAa,gCAAb;IACA9B,iBAAiB,CAACmB,OAAO,CAACY,IAAT,CAAjB;EACD;AACF,CA1BL,CA2BI;AA3BJ;AA8BA9B,OAAO,CAAC+B,KAAR"}
@@ -0,0 +1,20 @@
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('app') // for backwards compatibility
9
+ .alias('application').helpOption('-h, --help', 'Help').description('Manage OAuth2 applications.').executableDir(__dirname);
10
+ program.command('list', 'List OAuth2 applications.').showHelpAfterError(); // program
11
+ // .command('describe', 'Describe OAuth2 applications.')
12
+ // .showHelpAfterError();
13
+
14
+ program.command('export', 'Export OAuth2 applications.').showHelpAfterError();
15
+ program.command('import', 'Import OAuth2 applications.').showHelpAfterError(); // program.command('delete', 'Delete OAuth2 applications.').showHelpAfterError();
16
+
17
+ program.showHelpAfterError();
18
+ return program;
19
+ }
20
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","names":["Command","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","alias","helpOption","description","executableDir","command","showHelpAfterError"],"sources":["cli/app/app.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('app')\n // for backwards compatibility\n .alias('application')\n .helpOption('-h, --help', 'Help')\n .description('Manage OAuth2 applications.')\n .executableDir(__dirname);\n\n program.command('list', 'List OAuth2 applications.').showHelpAfterError();\n\n // program\n // .command('describe', 'Describe OAuth2 applications.')\n // .showHelpAfterError();\n\n program.command('export', 'Export OAuth2 applications.').showHelpAfterError();\n\n program.command('import', 'Import OAuth2 applications.').showHelpAfterError();\n\n // program.command('delete', 'Delete OAuth2 applications.').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,KAAZ,EACd;EADc,CAEbU,KAFa,CAEP,aAFO,EAGbC,UAHa,CAGF,YAHE,EAGY,MAHZ,EAIbC,WAJa,CAID,6BAJC,EAKbC,aALa,CAKCV,SALD,CAAhB;EAOAM,OAAO,CAACK,OAAR,CAAgB,MAAhB,EAAwB,2BAAxB,EAAqDC,kBAArD,GAR8B,CAU9B;EACA;EACA;;EAEAN,OAAO,CAACK,OAAR,CAAgB,QAAhB,EAA0B,6BAA1B,EAAyDC,kBAAzD;EAEAN,OAAO,CAACK,OAAR,CAAgB,QAAhB,EAA0B,6BAA1B,EAAyDC,kBAAzD,GAhB8B,CAkB9B;;EAEAN,OAAO,CAACM,kBAAR;EACA,OAAON,OAAP;AACD"}
@@ -0,0 +1,77 @@
1
+ import { Argument, Option } from 'commander';
2
+ import { state } from '@rockcarver/frodo-lib';
3
+ import * as global from '../storage/StaticStorage.js';
4
+ import { printMessage, createProgressIndicator, updateProgressIndicator, stopProgressIndicator } from '../utils/Console.js';
5
+ state.default.session.setPrintHandler(printMessage);
6
+ state.default.session.setCreateProgressHandler(createProgressIndicator);
7
+ state.default.session.setUpdateProgressHandler(updateProgressIndicator);
8
+ state.default.session.setStopProgressHandler(stopProgressIndicator); // pseudo functions for commands that do not otherwise need to import
9
+ // this file but need to trigger print and progress handler registration
10
+
11
+ export function init() {}
12
+ const hostArgumentDescription = 'Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring.';
13
+ export const hostArgument = new Argument('[host]', hostArgumentDescription);
14
+ export const hostArgumentM = new Argument('<host>', hostArgumentDescription);
15
+ const realmArgumentDescription = "Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise.";
16
+ export const realmArgument = new Argument('[realm]', realmArgumentDescription).default(global.DEFAULT_REALM_KEY, '"alpha" for Identity Cloud tenants, "/" otherwise.');
17
+ export const realmArgumentM = new Argument('<realm>', realmArgumentDescription);
18
+ const userArgumentDescription = 'Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees.';
19
+ export const userArgument = new Argument('[user]', userArgumentDescription);
20
+ export const userArgumentM = new Argument('<user>', userArgumentDescription);
21
+ const passwordArgumentDescription = 'Password.';
22
+ export const passwordArgument = new Argument('[password]', passwordArgumentDescription);
23
+ export const passwordArgumentM = new Argument('<password>', passwordArgumentDescription);
24
+ const apiKeyArgumentDescription = 'API key for logging API.';
25
+ export const apiKeyArgument = new Argument('[key]', apiKeyArgumentDescription);
26
+ const apiSecretArgumentDescription = 'API secret for logging API.';
27
+ export const apiSecretArgument = new Argument('[secret]', apiSecretArgumentDescription);
28
+ const treeOptionDescription = 'Specify the name of an authentication journey/tree.';
29
+ export const treeOption = new Option('-t, --tree <tree>', treeOptionDescription);
30
+ export const treeOptionM = new Option('-t, --tree <tree>', treeOptionDescription);
31
+ const fileOptionDescription = 'File name.';
32
+ export const fileOption = new Option('-f, --file <file>', fileOptionDescription);
33
+ export const fileOptionM = new Option('-f, --file <file>', fileOptionDescription);
34
+ const deploymentOptionDescription = 'Override auto-detected deployment type. Valid values for type: \n\
35
+ classic: A classic Access Management-only deployment with custom layout and configuration. \n\
36
+ cloud: A ForgeRock Identity Cloud environment. \n\
37
+ forgeops: A ForgeOps CDK or CDM deployment. \n\
38
+ The detected or provided deployment type controls certain behavior like obtaining an Identity \
39
+ Management admin token or not and whether to export/import referenced email templates or how \
40
+ to walk through the tenant admin login flow of Identity Cloud and handle MFA';
41
+ export const deploymentOption = new Option('-m, --type <type>', deploymentOptionDescription).choices(global.DEPLOYMENT_TYPES);
42
+ export const deploymentOptionM = new Option('-m, --type <type>', deploymentOptionDescription).choices(global.DEPLOYMENT_TYPES);
43
+ export const insecureOption = new Option('-k, --insecure', 'Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://<host>:<port>), in that case the proxy must provide this capability.').default(false, "Don't allow insecure connections");
44
+ export const nameOption = new Option('-N, --name <name>', 'Config entity name to be exported or imported/updated. Examples are \
45
+ managed, sync, provisioner-xxxx, etc.');
46
+ export const nameOptionM = new Option('-N, --name <name>', 'Config entity name to be exported or imported/updated. Examples are \
47
+ managed, sync, provisioner-xxxx, etc.');
48
+ export const managedNameOption = new Option('-N, --name <name>', 'Managed object name to be operated on. Examples are \
49
+ user, role, alpha_user, alpha_role etc.');
50
+ export const managedNameOptionM = new Option('-N, --name <name>', 'Managed object name to be operated on. Examples are \
51
+ user, role, alpha_user, alpha_role etc.');
52
+ const dirOptionDescription = 'Directory for exporting all configuration entities to.';
53
+ export const dirOption = new Option('-D, --directory <directory>', dirOptionDescription);
54
+ export const dirOptionM = new Option('-D, --directory <directory>', dirOptionDescription);
55
+ const entitiesFileOptionDescription = 'JSON file that specifies the config entities to export/import.';
56
+ export const entitiesFileOption = new Option('-E, --entitiesFile <file>', entitiesFileOptionDescription);
57
+ export const entitiesFileOptionM = new Option('-E, --entitiesFile <file>', entitiesFileOptionDescription);
58
+ const envFileOptionDescription = 'File that defines environment specific variables for replacement during configuration export/import.';
59
+ export const envFileOption = new Option('-e, --envFile <file>', envFileOptionDescription);
60
+ export const envFileOptionM = new Option('-e, --envFile <file>', envFileOptionDescription);
61
+ const sourcesOptionDescription = 'Comma separated list of log sources';
62
+ const sourcesOptionDefaultValueDescription = 'Log everything';
63
+ export const sourcesOptionM = new Option('-c, --sources <sources>', sourcesOptionDescription).default('am-everything,idm-everything', sourcesOptionDefaultValueDescription);
64
+ export const scriptFriendlyOption = new Option('-s, --scriptFriendly', 'Send output of operation to STDOUT in a script-friendly format (JSON) which can be piped to other \
65
+ commands. User messages/warnings are output to STDERR, and are not piped. For example, to only get \
66
+ bearer token: \n\
67
+ <<< frodo info my-tenant -s 2>/dev/null | jq -r .bearerToken >>>').default(false, 'Output as plain text');
68
+ treeOptionM.makeOptionMandatory();
69
+ fileOptionM.makeOptionMandatory();
70
+ deploymentOptionM.makeOptionMandatory();
71
+ nameOptionM.makeOptionMandatory();
72
+ dirOptionM.makeOptionMandatory();
73
+ entitiesFileOptionM.makeOptionMandatory();
74
+ envFileOptionM.makeOptionMandatory();
75
+ managedNameOptionM.makeOptionMandatory();
76
+ sourcesOptionM.makeOptionMandatory();
77
+ //# sourceMappingURL=cmd_common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd_common.js","names":["Argument","Option","state","global","printMessage","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","default","session","setPrintHandler","setCreateProgressHandler","setUpdateProgressHandler","setStopProgressHandler","init","hostArgumentDescription","hostArgument","hostArgumentM","realmArgumentDescription","realmArgument","DEFAULT_REALM_KEY","realmArgumentM","userArgumentDescription","userArgument","userArgumentM","passwordArgumentDescription","passwordArgument","passwordArgumentM","apiKeyArgumentDescription","apiKeyArgument","apiSecretArgumentDescription","apiSecretArgument","treeOptionDescription","treeOption","treeOptionM","fileOptionDescription","fileOption","fileOptionM","deploymentOptionDescription","deploymentOption","choices","DEPLOYMENT_TYPES","deploymentOptionM","insecureOption","nameOption","nameOptionM","managedNameOption","managedNameOptionM","dirOptionDescription","dirOption","dirOptionM","entitiesFileOptionDescription","entitiesFileOption","entitiesFileOptionM","envFileOptionDescription","envFileOption","envFileOptionM","sourcesOptionDescription","sourcesOptionDefaultValueDescription","sourcesOptionM","scriptFriendlyOption","makeOptionMandatory"],"sources":["cli/cmd_common.ts"],"sourcesContent":["import { Argument, Option } from 'commander';\nimport { state } from '@rockcarver/frodo-lib';\nimport * as global from '../storage/StaticStorage.js';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from '../utils/Console.js';\n\nstate.default.session.setPrintHandler(printMessage);\nstate.default.session.setCreateProgressHandler(createProgressIndicator);\nstate.default.session.setUpdateProgressHandler(updateProgressIndicator);\nstate.default.session.setStopProgressHandler(stopProgressIndicator);\n\n// pseudo functions for commands that do not otherwise need to import\n// this file but need to trigger print and progress handler registration\nexport function init() {}\n\nconst hostArgumentDescription =\n 'Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring.';\nexport const hostArgument = new Argument('[host]', hostArgumentDescription);\nexport const hostArgumentM = new Argument('<host>', hostArgumentDescription);\n\nconst realmArgumentDescription =\n \"Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise.\";\nexport const realmArgument = new Argument(\n '[realm]',\n realmArgumentDescription\n).default(\n global.DEFAULT_REALM_KEY,\n '\"alpha\" for Identity Cloud tenants, \"/\" otherwise.'\n);\nexport const realmArgumentM = new Argument('<realm>', realmArgumentDescription);\n\nconst userArgumentDescription =\n 'Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees.';\nexport const userArgument = new Argument('[user]', userArgumentDescription);\nexport const userArgumentM = new Argument('<user>', userArgumentDescription);\n\nconst passwordArgumentDescription = 'Password.';\nexport const passwordArgument = new Argument(\n '[password]',\n passwordArgumentDescription\n);\nexport const passwordArgumentM = new Argument(\n '<password>',\n passwordArgumentDescription\n);\n\nconst apiKeyArgumentDescription = 'API key for logging API.';\nexport const apiKeyArgument = new Argument('[key]', apiKeyArgumentDescription);\n\nconst apiSecretArgumentDescription = 'API secret for logging API.';\nexport const apiSecretArgument = new Argument(\n '[secret]',\n apiSecretArgumentDescription\n);\n\nconst treeOptionDescription =\n 'Specify the name of an authentication journey/tree.';\nexport const treeOption = new Option(\n '-t, --tree <tree>',\n treeOptionDescription\n);\nexport const treeOptionM = new Option(\n '-t, --tree <tree>',\n treeOptionDescription\n);\n\nconst fileOptionDescription = 'File name.';\nexport const fileOption = new Option(\n '-f, --file <file>',\n fileOptionDescription\n);\nexport const fileOptionM = new Option(\n '-f, --file <file>',\n fileOptionDescription\n);\n\nconst deploymentOptionDescription =\n 'Override auto-detected deployment type. Valid values for type: \\n\\\nclassic: A classic Access Management-only deployment with custom layout and configuration. \\n\\\ncloud: A ForgeRock Identity Cloud environment. \\n\\\nforgeops: A ForgeOps CDK or CDM deployment. \\n\\\nThe detected or provided deployment type controls certain behavior like obtaining an Identity \\\nManagement admin token or not and whether to export/import referenced email templates or how \\\nto walk through the tenant admin login flow of Identity Cloud and handle MFA';\nexport const deploymentOption = new Option(\n '-m, --type <type>',\n deploymentOptionDescription\n).choices(global.DEPLOYMENT_TYPES);\nexport const deploymentOptionM = new Option(\n '-m, --type <type>',\n deploymentOptionDescription\n).choices(global.DEPLOYMENT_TYPES);\n\nexport const insecureOption = new Option(\n '-k, --insecure',\n 'Allow insecure connections when using SSL/TLS. Has no effect when using a network proxy for https (HTTPS_PROXY=http://<host>:<port>), in that case the proxy must provide this capability.'\n).default(false, \"Don't allow insecure connections\");\n\nexport const nameOption = new Option(\n '-N, --name <name>',\n 'Config entity name to be exported or imported/updated. Examples are \\\nmanaged, sync, provisioner-xxxx, etc.'\n);\nexport const nameOptionM = new Option(\n '-N, --name <name>',\n 'Config entity name to be exported or imported/updated. Examples are \\\nmanaged, sync, provisioner-xxxx, etc.'\n);\n\nexport const managedNameOption = new Option(\n '-N, --name <name>',\n 'Managed object name to be operated on. Examples are \\\nuser, role, alpha_user, alpha_role etc.'\n);\nexport const managedNameOptionM = new Option(\n '-N, --name <name>',\n 'Managed object name to be operated on. Examples are \\\nuser, role, alpha_user, alpha_role etc.'\n);\n\nconst dirOptionDescription =\n 'Directory for exporting all configuration entities to.';\nexport const dirOption = new Option(\n '-D, --directory <directory>',\n dirOptionDescription\n);\nexport const dirOptionM = new Option(\n '-D, --directory <directory>',\n dirOptionDescription\n);\n\nconst entitiesFileOptionDescription =\n 'JSON file that specifies the config entities to export/import.';\nexport const entitiesFileOption = new Option(\n '-E, --entitiesFile <file>',\n entitiesFileOptionDescription\n);\nexport const entitiesFileOptionM = new Option(\n '-E, --entitiesFile <file>',\n entitiesFileOptionDescription\n);\n\nconst envFileOptionDescription =\n 'File that defines environment specific variables for replacement during configuration export/import.';\nexport const envFileOption = new Option(\n '-e, --envFile <file>',\n envFileOptionDescription\n);\nexport const envFileOptionM = new Option(\n '-e, --envFile <file>',\n envFileOptionDescription\n);\n\nconst sourcesOptionDescription = 'Comma separated list of log sources';\nconst sourcesOptionDefaultValueDescription = 'Log everything';\nexport const sourcesOptionM = new Option(\n '-c, --sources <sources>',\n sourcesOptionDescription\n).default('am-everything,idm-everything', sourcesOptionDefaultValueDescription);\n\nexport const scriptFriendlyOption = new Option(\n '-s, --scriptFriendly',\n 'Send output of operation to STDOUT in a script-friendly format (JSON) which can be piped to other \\\ncommands. User messages/warnings are output to STDERR, and are not piped. For example, to only get \\\nbearer token: \\n\\\n<<< frodo info my-tenant -s 2>/dev/null | jq -r .bearerToken >>>'\n).default(false, 'Output as plain text');\n\ntreeOptionM.makeOptionMandatory();\nfileOptionM.makeOptionMandatory();\ndeploymentOptionM.makeOptionMandatory();\nnameOptionM.makeOptionMandatory();\ndirOptionM.makeOptionMandatory();\nentitiesFileOptionM.makeOptionMandatory();\nenvFileOptionM.makeOptionMandatory();\nmanagedNameOptionM.makeOptionMandatory();\nsourcesOptionM.makeOptionMandatory();\n"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,MAAnB,QAAiC,WAAjC;AACA,SAASC,KAAT,QAAsB,uBAAtB;AACA,OAAO,KAAKC,MAAZ,MAAwB,6BAAxB;AACA,SACEC,YADF,EAEEC,uBAFF,EAGEC,uBAHF,EAIEC,qBAJF,QAKO,qBALP;AAOAL,KAAK,CAACM,OAAN,CAAcC,OAAd,CAAsBC,eAAtB,CAAsCN,YAAtC;AACAF,KAAK,CAACM,OAAN,CAAcC,OAAd,CAAsBE,wBAAtB,CAA+CN,uBAA/C;AACAH,KAAK,CAACM,OAAN,CAAcC,OAAd,CAAsBG,wBAAtB,CAA+CN,uBAA/C;AACAJ,KAAK,CAACM,OAAN,CAAcC,OAAd,CAAsBI,sBAAtB,CAA6CN,qBAA7C,E,CAEA;AACA;;AACA,OAAO,SAASO,IAAT,GAAgB,CAAE;AAEzB,MAAMC,uBAAuB,GAC3B,iIADF;AAEA,OAAO,MAAMC,YAAY,GAAG,IAAIhB,QAAJ,CAAa,QAAb,EAAuBe,uBAAvB,CAArB;AACP,OAAO,MAAME,aAAa,GAAG,IAAIjB,QAAJ,CAAa,QAAb,EAAuBe,uBAAvB,CAAtB;AAEP,MAAMG,wBAAwB,GAC5B,yFADF;AAEA,OAAO,MAAMC,aAAa,GAAG,IAAInB,QAAJ,CAC3B,SAD2B,EAE3BkB,wBAF2B,EAG3BV,OAH2B,CAI3BL,MAAM,CAACiB,iBAJoB,EAK3B,oDAL2B,CAAtB;AAOP,OAAO,MAAMC,cAAc,GAAG,IAAIrB,QAAJ,CAAa,SAAb,EAAwBkB,wBAAxB,CAAvB;AAEP,MAAMI,uBAAuB,GAC3B,gHADF;AAEA,OAAO,MAAMC,YAAY,GAAG,IAAIvB,QAAJ,CAAa,QAAb,EAAuBsB,uBAAvB,CAArB;AACP,OAAO,MAAME,aAAa,GAAG,IAAIxB,QAAJ,CAAa,QAAb,EAAuBsB,uBAAvB,CAAtB;AAEP,MAAMG,2BAA2B,GAAG,WAApC;AACA,OAAO,MAAMC,gBAAgB,GAAG,IAAI1B,QAAJ,CAC9B,YAD8B,EAE9ByB,2BAF8B,CAAzB;AAIP,OAAO,MAAME,iBAAiB,GAAG,IAAI3B,QAAJ,CAC/B,YAD+B,EAE/ByB,2BAF+B,CAA1B;AAKP,MAAMG,yBAAyB,GAAG,0BAAlC;AACA,OAAO,MAAMC,cAAc,GAAG,IAAI7B,QAAJ,CAAa,OAAb,EAAsB4B,yBAAtB,CAAvB;AAEP,MAAME,4BAA4B,GAAG,6BAArC;AACA,OAAO,MAAMC,iBAAiB,GAAG,IAAI/B,QAAJ,CAC/B,UAD+B,EAE/B8B,4BAF+B,CAA1B;AAKP,MAAME,qBAAqB,GACzB,qDADF;AAEA,OAAO,MAAMC,UAAU,GAAG,IAAIhC,MAAJ,CACxB,mBADwB,EAExB+B,qBAFwB,CAAnB;AAIP,OAAO,MAAME,WAAW,GAAG,IAAIjC,MAAJ,CACzB,mBADyB,EAEzB+B,qBAFyB,CAApB;AAKP,MAAMG,qBAAqB,GAAG,YAA9B;AACA,OAAO,MAAMC,UAAU,GAAG,IAAInC,MAAJ,CACxB,mBADwB,EAExBkC,qBAFwB,CAAnB;AAIP,OAAO,MAAME,WAAW,GAAG,IAAIpC,MAAJ,CACzB,mBADyB,EAEzBkC,qBAFyB,CAApB;AAKP,MAAMG,2BAA2B,GAC/B;AACF;AACA;AACA;AACA;AACA;AACA,6EAPA;AAQA,OAAO,MAAMC,gBAAgB,GAAG,IAAItC,MAAJ,CAC9B,mBAD8B,EAE9BqC,2BAF8B,EAG9BE,OAH8B,CAGtBrC,MAAM,CAACsC,gBAHe,CAAzB;AAIP,OAAO,MAAMC,iBAAiB,GAAG,IAAIzC,MAAJ,CAC/B,mBAD+B,EAE/BqC,2BAF+B,EAG/BE,OAH+B,CAGvBrC,MAAM,CAACsC,gBAHgB,CAA1B;AAKP,OAAO,MAAME,cAAc,GAAG,IAAI1C,MAAJ,CAC5B,gBAD4B,EAE5B,4LAF4B,EAG5BO,OAH4B,CAGpB,KAHoB,EAGb,kCAHa,CAAvB;AAKP,OAAO,MAAMoC,UAAU,GAAG,IAAI3C,MAAJ,CACxB,mBADwB,EAExB;AACF,sCAH0B,CAAnB;AAKP,OAAO,MAAM4C,WAAW,GAAG,IAAI5C,MAAJ,CACzB,mBADyB,EAEzB;AACF,sCAH2B,CAApB;AAMP,OAAO,MAAM6C,iBAAiB,GAAG,IAAI7C,MAAJ,CAC/B,mBAD+B,EAE/B;AACF,wCAHiC,CAA1B;AAKP,OAAO,MAAM8C,kBAAkB,GAAG,IAAI9C,MAAJ,CAChC,mBADgC,EAEhC;AACF,wCAHkC,CAA3B;AAMP,MAAM+C,oBAAoB,GACxB,wDADF;AAEA,OAAO,MAAMC,SAAS,GAAG,IAAIhD,MAAJ,CACvB,6BADuB,EAEvB+C,oBAFuB,CAAlB;AAIP,OAAO,MAAME,UAAU,GAAG,IAAIjD,MAAJ,CACxB,6BADwB,EAExB+C,oBAFwB,CAAnB;AAKP,MAAMG,6BAA6B,GACjC,gEADF;AAEA,OAAO,MAAMC,kBAAkB,GAAG,IAAInD,MAAJ,CAChC,2BADgC,EAEhCkD,6BAFgC,CAA3B;AAIP,OAAO,MAAME,mBAAmB,GAAG,IAAIpD,MAAJ,CACjC,2BADiC,EAEjCkD,6BAFiC,CAA5B;AAKP,MAAMG,wBAAwB,GAC5B,sGADF;AAEA,OAAO,MAAMC,aAAa,GAAG,IAAItD,MAAJ,CAC3B,sBAD2B,EAE3BqD,wBAF2B,CAAtB;AAIP,OAAO,MAAME,cAAc,GAAG,IAAIvD,MAAJ,CAC5B,sBAD4B,EAE5BqD,wBAF4B,CAAvB;AAKP,MAAMG,wBAAwB,GAAG,qCAAjC;AACA,MAAMC,oCAAoC,GAAG,gBAA7C;AACA,OAAO,MAAMC,cAAc,GAAG,IAAI1D,MAAJ,CAC5B,yBAD4B,EAE5BwD,wBAF4B,EAG5BjD,OAH4B,CAGpB,8BAHoB,EAGYkD,oCAHZ,CAAvB;AAKP,OAAO,MAAME,oBAAoB,GAAG,IAAI3D,MAAJ,CAClC,sBADkC,EAElC;AACF;AACA;AACA,iEALoC,EAMlCO,OANkC,CAM1B,KAN0B,EAMnB,sBANmB,CAA7B;AAQP0B,WAAW,CAAC2B,mBAAZ;AACAxB,WAAW,CAACwB,mBAAZ;AACAnB,iBAAiB,CAACmB,mBAAlB;AACAhB,WAAW,CAACgB,mBAAZ;AACAX,UAAU,CAACW,mBAAX;AACAR,mBAAmB,CAACQ,mBAApB;AACAL,cAAc,CAACK,mBAAf;AACAd,kBAAkB,CAACc,mBAAnB;AACAF,cAAc,CAACE,mBAAf"}
@@ -0,0 +1,37 @@
1
+ import { Command, Option } from 'commander';
2
+ import { Authenticate, ConnectionProfile, state } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ getTokens
6
+ } = Authenticate;
7
+ const {
8
+ saveConnectionProfile
9
+ } = ConnectionProfile;
10
+ const program = new Command('frodo conn add');
11
+ program.description('Add a new connection profiles. You have to specify a URL, username and password at a minimum.\nOptionally, for Identity Cloud, you can also add a log API key and secret.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.userArgument).addArgument(common.passwordArgument).addArgument(common.apiKeyArgument).addArgument(common.apiSecretArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(new Option('--no-validate', 'Do not validate connection.')).addOption(new Option('--authentication-service [service]', 'Name of the authentication service/tree to use.')).addOption(new Option('--authentication-header-overrides [headers]', 'Map of headers: {"host":"am.example.com:8081"}.')).action( // implement command logic inside action handler
12
+ async (host, user, password, key, secret, options) => {
13
+ state.default.session.setTenant(host);
14
+ state.default.session.setUsername(user);
15
+ state.default.session.setPassword(password);
16
+ state.default.session.setLogApiKey(key);
17
+ state.default.session.setLogApiSecret(secret);
18
+ state.default.session.setDeploymentType(options.type);
19
+ state.default.session.setAllowInsecureConnection(options.insecure);
20
+
21
+ if (options.authenticationService) {
22
+ state.default.session.setAuthenticationService(options.authenticationService);
23
+ }
24
+
25
+ if (options.authenticationHeaderOverrides) {
26
+ state.default.session.setAuthenticationHeaderOverrides(JSON.parse(options.authenticationHeaderOverrides));
27
+ }
28
+
29
+ if (options.validate && (await getTokens()) || !options.validate) {
30
+ saveConnectionProfile();
31
+ } else {
32
+ process.exitCode = 1;
33
+ }
34
+ } // end command logic inside action handler
35
+ );
36
+ program.parse();
37
+ //# sourceMappingURL=conn-add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conn-add.js","names":["Command","Option","Authenticate","ConnectionProfile","state","common","getTokens","saveConnectionProfile","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","userArgument","passwordArgument","apiKeyArgument","apiSecretArgument","addOption","deploymentOption","insecureOption","action","host","user","password","key","secret","options","default","session","setTenant","setUsername","setPassword","setLogApiKey","setLogApiSecret","setDeploymentType","type","setAllowInsecureConnection","insecure","authenticationService","setAuthenticationService","authenticationHeaderOverrides","setAuthenticationHeaderOverrides","JSON","parse","validate","process","exitCode"],"sources":["cli/conn/conn-add.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, ConnectionProfile, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { saveConnectionProfile } = ConnectionProfile;\n\nconst program = new Command('frodo conn add');\n\nprogram\n .description(\n 'Add a new connection profiles. You have to specify a URL, username and password at a minimum.\\nOptionally, for Identity Cloud, you can also add a log API key and secret.'\n )\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addArgument(common.apiKeyArgument)\n .addArgument(common.apiSecretArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(new Option('--no-validate', 'Do not validate connection.'))\n .addOption(\n new Option(\n '--authentication-service [service]',\n 'Name of the authentication service/tree to use.'\n )\n )\n .addOption(\n new Option(\n '--authentication-header-overrides [headers]',\n 'Map of headers: {\"host\":\"am.example.com:8081\"}.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, user, password, key, secret, options) => {\n state.default.session.setTenant(host);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setLogApiKey(key);\n state.default.session.setLogApiSecret(secret);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (options.authenticationService) {\n state.default.session.setAuthenticationService(\n options.authenticationService\n );\n }\n if (options.authenticationHeaderOverrides) {\n state.default.session.setAuthenticationHeaderOverrides(\n JSON.parse(options.authenticationHeaderOverrides)\n );\n }\n if ((options.validate && (await getTokens())) || !options.validate) {\n saveConnectionProfile();\n } else {\n process.exitCode = 1;\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,iBAAvB,EAA0CC,KAA1C,QAAuD,uBAAvD;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AACA,MAAM;EAAEK;AAAF,IAA4BJ,iBAAlC;AAEA,MAAMK,OAAO,GAAG,IAAIR,OAAJ,CAAY,gBAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CAEI,2KAFJ,EAIGC,UAJH,CAIc,YAJd,EAI4B,MAJ5B,EAKGC,kBALH,GAMGC,WANH,CAMeP,MAAM,CAACQ,aANtB,EAOGD,WAPH,CAOeP,MAAM,CAACS,YAPtB,EAQGF,WARH,CAQeP,MAAM,CAACU,gBARtB,EASGH,WATH,CASeP,MAAM,CAACW,cATtB,EAUGJ,WAVH,CAUeP,MAAM,CAACY,iBAVtB,EAWGC,SAXH,CAWab,MAAM,CAACc,gBAXpB,EAYGD,SAZH,CAYab,MAAM,CAACe,cAZpB,EAaGF,SAbH,CAaa,IAAIjB,MAAJ,CAAW,eAAX,EAA4B,6BAA5B,CAbb,EAcGiB,SAdH,CAeI,IAAIjB,MAAJ,CACE,oCADF,EAEE,iDAFF,CAfJ,EAoBGiB,SApBH,CAqBI,IAAIjB,MAAJ,CACE,6CADF,EAEE,iDAFF,CArBJ,EA0BGoB,MA1BH,EA2BI;AACA,OAAOC,IAAP,EAAaC,IAAb,EAAmBC,QAAnB,EAA6BC,GAA7B,EAAkCC,MAAlC,EAA0CC,OAA1C,KAAsD;EACpDvB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCR,IAAhC;EACAlB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBE,WAAtB,CAAkCR,IAAlC;EACAnB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCR,QAAlC;EACApB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBI,YAAtB,CAAmCR,GAAnC;EACArB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBK,eAAtB,CAAsCR,MAAtC;EACAtB,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBM,iBAAtB,CAAwCR,OAAO,CAACS,IAAhD;EACAhC,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBQ,0BAAtB,CAAiDV,OAAO,CAACW,QAAzD;;EACA,IAAIX,OAAO,CAACY,qBAAZ,EAAmC;IACjCnC,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBW,wBAAtB,CACEb,OAAO,CAACY,qBADV;EAGD;;EACD,IAAIZ,OAAO,CAACc,6BAAZ,EAA2C;IACzCrC,KAAK,CAACwB,OAAN,CAAcC,OAAd,CAAsBa,gCAAtB,CACEC,IAAI,CAACC,KAAL,CAAWjB,OAAO,CAACc,6BAAnB,CADF;EAGD;;EACD,IAAKd,OAAO,CAACkB,QAAR,KAAqB,MAAMvC,SAAS,EAApC,CAAD,IAA6C,CAACqB,OAAO,CAACkB,QAA1D,EAAoE;IAClEtC,qBAAqB;EACtB,CAFD,MAEO;IACLuC,OAAO,CAACC,QAAR,GAAmB,CAAnB;EACD;AACF,CAnDL,CAoDI;AApDJ;AAuDAvC,OAAO,CAACoC,KAAR"}
@@ -0,0 +1,14 @@
1
+ import { Command } from 'commander';
2
+ import { ConnectionProfile } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ deleteConnectionProfile
6
+ } = ConnectionProfile;
7
+ const program = new Command('frodo conn delete');
8
+ program.description('Delete connection profiles.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).action( // implement command logic inside action handler
9
+ async host => {
10
+ deleteConnectionProfile(host);
11
+ } // end command logic inside action handler
12
+ );
13
+ program.parse();
14
+ //# sourceMappingURL=conn-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conn-delete.js","names":["Command","ConnectionProfile","common","deleteConnectionProfile","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","action","host","parse"],"sources":["cli/conn/conn-delete.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { deleteConnectionProfile } = ConnectionProfile;\n\nconst program = new Command('frodo conn delete');\n\nprogram\n .description('Delete connection profiles.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .action(\n // implement command logic inside action handler\n async (host) => {\n deleteConnectionProfile(host);\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,SAASC,iBAAT,QAAkC,uBAAlC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAA8BF,iBAApC;AAEA,MAAMG,OAAO,GAAG,IAAIJ,OAAJ,CAAY,mBAAZ,CAAhB;AAEAI,OAAO,CACJC,WADH,CACe,6BADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGC,MALH,EAMI;AACA,MAAOC,IAAP,IAAgB;EACdR,uBAAuB,CAACQ,IAAD,CAAvB;AACD,CATL,CAUI;AAVJ;AAaAP,OAAO,CAACQ,KAAR"}
@@ -0,0 +1,14 @@
1
+ import { Command, Option } from 'commander';
2
+ import { ConnectionProfile } from '@rockcarver/frodo-lib';
3
+ import * as common from '../cmd_common.js';
4
+ const {
5
+ describeConnectionProfile
6
+ } = ConnectionProfile;
7
+ const program = new Command('frodo conn describe');
8
+ program.description('Describe connection profile.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addOption(new Option('--show-secrets', 'Show passwords and secrets.')).action( // implement command logic inside action handler
9
+ async (host, options) => {
10
+ describeConnectionProfile(host, options.showSecrets);
11
+ } // end command logic inside action handler
12
+ );
13
+ program.parse();
14
+ //# sourceMappingURL=conn-describe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conn-describe.js","names":["Command","Option","ConnectionProfile","common","describeConnectionProfile","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","addOption","action","host","options","showSecrets","parse"],"sources":["cli/conn/conn-describe.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\n\nconst { describeConnectionProfile } = ConnectionProfile;\n\nconst program = new Command('frodo conn describe');\n\nprogram\n .description('Describe connection profile.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addOption(new Option('--show-secrets', 'Show passwords and secrets.'))\n .action(\n // implement command logic inside action handler\n async (host, options) => {\n describeConnectionProfile(host, options.showSecrets);\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,iBAAT,QAAkC,uBAAlC;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AAEA,MAAM;EAAEC;AAAF,IAAgCF,iBAAtC;AAEA,MAAMG,OAAO,GAAG,IAAIL,OAAJ,CAAY,qBAAZ,CAAhB;AAEAK,OAAO,CACJC,WADH,CACe,8BADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeN,MAAM,CAACO,aAJtB,EAKGC,SALH,CAKa,IAAIV,MAAJ,CAAW,gBAAX,EAA6B,6BAA7B,CALb,EAMGW,MANH,EAOI;AACA,OAAOC,IAAP,EAAaC,OAAb,KAAyB;EACvBV,yBAAyB,CAACS,IAAD,EAAOC,OAAO,CAACC,WAAf,CAAzB;AACD,CAVL,CAWI;AAXJ;AAcAV,OAAO,CAACW,KAAR"}
@@ -0,0 +1,16 @@
1
+ import { Command, Option } from 'commander';
2
+ import { ConnectionProfile } from '@rockcarver/frodo-lib';
3
+ import { init } from '../cmd_common.js';
4
+ const {
5
+ listConnectionProfiles
6
+ } = ConnectionProfile; // pseudo init to trigger print and progress handler registration
7
+
8
+ init();
9
+ const program = new Command('frodo conn list');
10
+ program.description('List connection profiles.').helpOption('-h, --help', 'Help').showHelpAfterError().addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action( // implement command logic inside action handler
11
+ async options => {
12
+ listConnectionProfiles(options.long);
13
+ } // end command logic inside action handler
14
+ );
15
+ program.parse();
16
+ //# sourceMappingURL=conn-list.js.map