@rockcarver/frodo-cli 0.23.1-8 → 0.24.2

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 (206) hide show
  1. package/CHANGELOG.md +73 -1
  2. package/esm/app.js.map +1 -1
  3. package/esm/cli/FrodoCommand.js.map +1 -1
  4. package/esm/cli/_template/something-delete.js.map +1 -1
  5. package/esm/cli/_template/something-describe.js.map +1 -1
  6. package/esm/cli/_template/something-else-delete.js.map +1 -1
  7. package/esm/cli/_template/something-else-describe.js.map +1 -1
  8. package/esm/cli/_template/something-else-export.js.map +1 -1
  9. package/esm/cli/_template/something-else-import.js.map +1 -1
  10. package/esm/cli/_template/something-else-list.js.map +1 -1
  11. package/esm/cli/_template/something-else.js.map +1 -1
  12. package/esm/cli/_template/something-export.js.map +1 -1
  13. package/esm/cli/_template/something-import.js.map +1 -1
  14. package/esm/cli/_template/something-list.js.map +1 -1
  15. package/esm/cli/_template/something-other-delete.js.map +1 -1
  16. package/esm/cli/_template/something-other-describe.js.map +1 -1
  17. package/esm/cli/_template/something-other-export.js.map +1 -1
  18. package/esm/cli/_template/something-other-import.js.map +1 -1
  19. package/esm/cli/_template/something-other-list.js.map +1 -1
  20. package/esm/cli/_template/something-other.js.map +1 -1
  21. package/esm/cli/_template/something.js.map +1 -1
  22. package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
  23. package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
  24. package/esm/cli/admin/admin-get-access-token.js.map +1 -1
  25. package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
  26. package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
  27. package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
  28. package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
  29. package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
  30. package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
  31. package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
  32. package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
  33. package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
  34. package/esm/cli/admin/admin.js.map +1 -1
  35. package/esm/cli/agent/agent-delete.js.map +1 -1
  36. package/esm/cli/agent/agent-describe.js.map +1 -1
  37. package/esm/cli/agent/agent-export.js.map +1 -1
  38. package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
  39. package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
  40. package/esm/cli/agent/agent-gateway-export.js.map +1 -1
  41. package/esm/cli/agent/agent-gateway-import.js.map +1 -1
  42. package/esm/cli/agent/agent-gateway-list.js.map +1 -1
  43. package/esm/cli/agent/agent-gateway.js.map +1 -1
  44. package/esm/cli/agent/agent-import.js.map +1 -1
  45. package/esm/cli/agent/agent-java-delete.js.map +1 -1
  46. package/esm/cli/agent/agent-java-describe.js.map +1 -1
  47. package/esm/cli/agent/agent-java-export.js.map +1 -1
  48. package/esm/cli/agent/agent-java-import.js.map +1 -1
  49. package/esm/cli/agent/agent-java-list.js.map +1 -1
  50. package/esm/cli/agent/agent-java.js.map +1 -1
  51. package/esm/cli/agent/agent-list.js.map +1 -1
  52. package/esm/cli/agent/agent-web-delete.js.map +1 -1
  53. package/esm/cli/agent/agent-web-describe.js.map +1 -1
  54. package/esm/cli/agent/agent-web-export.js.map +1 -1
  55. package/esm/cli/agent/agent-web-import.js.map +1 -1
  56. package/esm/cli/agent/agent-web-list.js.map +1 -1
  57. package/esm/cli/agent/agent-web.js.map +1 -1
  58. package/esm/cli/agent/agent.js.map +1 -1
  59. package/esm/cli/app/app-delete.js.map +1 -1
  60. package/esm/cli/app/app-describe.js.map +1 -1
  61. package/esm/cli/app/app-export.js.map +1 -1
  62. package/esm/cli/app/app-import.js.map +1 -1
  63. package/esm/cli/app/app-list.js.map +1 -1
  64. package/esm/cli/app/app.js.map +1 -1
  65. package/esm/cli/authz/authz-policy-delete.js.map +1 -1
  66. package/esm/cli/authz/authz-policy-describe.js.map +1 -1
  67. package/esm/cli/authz/authz-policy-export.js +16 -11
  68. package/esm/cli/authz/authz-policy-export.js.map +1 -1
  69. package/esm/cli/authz/authz-policy-import.js +13 -13
  70. package/esm/cli/authz/authz-policy-import.js.map +1 -1
  71. package/esm/cli/authz/authz-policy-list.js.map +1 -1
  72. package/esm/cli/authz/authz-policy.js.map +1 -1
  73. package/esm/cli/authz/authz-set-delete.js.map +1 -1
  74. package/esm/cli/authz/authz-set-describe.js.map +1 -1
  75. package/esm/cli/authz/authz-set-export.js +7 -4
  76. package/esm/cli/authz/authz-set-export.js.map +1 -1
  77. package/esm/cli/authz/authz-set-import.js +9 -5
  78. package/esm/cli/authz/authz-set-import.js.map +1 -1
  79. package/esm/cli/authz/authz-set-list.js.map +1 -1
  80. package/esm/cli/authz/authz-set.js.map +1 -1
  81. package/esm/cli/authz/authz-type-delete.js.map +1 -1
  82. package/esm/cli/authz/authz-type-describe.js.map +1 -1
  83. package/esm/cli/authz/authz-type-export.js.map +1 -1
  84. package/esm/cli/authz/authz-type-import.js.map +1 -1
  85. package/esm/cli/authz/authz-type-list.js.map +1 -1
  86. package/esm/cli/authz/authz-type.js.map +1 -1
  87. package/esm/cli/authz/authz.js.map +1 -1
  88. package/esm/cli/conn/conn-delete.js.map +1 -1
  89. package/esm/cli/conn/conn-describe.js.map +1 -1
  90. package/esm/cli/conn/conn-list.js.map +1 -1
  91. package/esm/cli/conn/conn-save.js.map +1 -1
  92. package/esm/cli/conn/conn.js.map +1 -1
  93. package/esm/cli/email/email-template-export.js.map +1 -1
  94. package/esm/cli/email/email-template-import.js.map +1 -1
  95. package/esm/cli/email/email-template-list.js.map +1 -1
  96. package/esm/cli/email/email-template.js.map +1 -1
  97. package/esm/cli/email/email.js.map +1 -1
  98. package/esm/cli/esv/esv-apply.js.map +1 -1
  99. package/esm/cli/esv/esv-secret-create.js.map +1 -1
  100. package/esm/cli/esv/esv-secret-delete.js.map +1 -1
  101. package/esm/cli/esv/esv-secret-describe.js.map +1 -1
  102. package/esm/cli/esv/esv-secret-export.js.map +1 -1
  103. package/esm/cli/esv/esv-secret-import.js.map +1 -1
  104. package/esm/cli/esv/esv-secret-list.js.map +1 -1
  105. package/esm/cli/esv/esv-secret-set.js.map +1 -1
  106. package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
  107. package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
  108. package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
  109. package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
  110. package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
  111. package/esm/cli/esv/esv-secret-version.js.map +1 -1
  112. package/esm/cli/esv/esv-secret.js.map +1 -1
  113. package/esm/cli/esv/esv-variable-create.js.map +1 -1
  114. package/esm/cli/esv/esv-variable-delete.js.map +1 -1
  115. package/esm/cli/esv/esv-variable-describe.js.map +1 -1
  116. package/esm/cli/esv/esv-variable-export.js.map +1 -1
  117. package/esm/cli/esv/esv-variable-import.js.map +1 -1
  118. package/esm/cli/esv/esv-variable-list.js.map +1 -1
  119. package/esm/cli/esv/esv-variable-set.js.map +1 -1
  120. package/esm/cli/esv/esv-variable.js.map +1 -1
  121. package/esm/cli/esv/esv.js.map +1 -1
  122. package/esm/cli/idm/idm-count.js.map +1 -1
  123. package/esm/cli/idm/idm-export.js.map +1 -1
  124. package/esm/cli/idm/idm-import.js.map +1 -1
  125. package/esm/cli/idm/idm-list.js.map +1 -1
  126. package/esm/cli/idm/idm.js.map +1 -1
  127. package/esm/cli/idp/idp-export.js.map +1 -1
  128. package/esm/cli/idp/idp-import.js.map +1 -1
  129. package/esm/cli/idp/idp-list.js.map +1 -1
  130. package/esm/cli/idp/idp.js.map +1 -1
  131. package/esm/cli/info/info.js.map +1 -1
  132. package/esm/cli/journey/journey-delete.js.map +1 -1
  133. package/esm/cli/journey/journey-describe.js.map +1 -1
  134. package/esm/cli/journey/journey-disable.js.map +1 -1
  135. package/esm/cli/journey/journey-enable.js.map +1 -1
  136. package/esm/cli/journey/journey-export.js.map +1 -1
  137. package/esm/cli/journey/journey-import.js.map +1 -1
  138. package/esm/cli/journey/journey-list.js.map +1 -1
  139. package/esm/cli/journey/journey-prune.js.map +1 -1
  140. package/esm/cli/journey/journey.js.map +1 -1
  141. package/esm/cli/logging/logs-fetch.js.map +1 -1
  142. package/esm/cli/logging/logs-list.js.map +1 -1
  143. package/esm/cli/logging/logs-tail.js.map +1 -1
  144. package/esm/cli/logging/logs.js.map +1 -1
  145. package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
  146. package/esm/cli/realm/realm-describe.js.map +1 -1
  147. package/esm/cli/realm/realm-list.js.map +1 -1
  148. package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
  149. package/esm/cli/realm/realm.js.map +1 -1
  150. package/esm/cli/saml/saml-cot-export.js.map +1 -1
  151. package/esm/cli/saml/saml-cot-import.js.map +1 -1
  152. package/esm/cli/saml/saml-cot-list.js.map +1 -1
  153. package/esm/cli/saml/saml-cot.js.map +1 -1
  154. package/esm/cli/saml/saml-delete.js.map +1 -1
  155. package/esm/cli/saml/saml-describe.js.map +1 -1
  156. package/esm/cli/saml/saml-export.js.map +1 -1
  157. package/esm/cli/saml/saml-import.js.map +1 -1
  158. package/esm/cli/saml/saml-list.js.map +1 -1
  159. package/esm/cli/saml/saml-metadata-export.js.map +1 -1
  160. package/esm/cli/saml/saml-metadata.js.map +1 -1
  161. package/esm/cli/saml/saml.js.map +1 -1
  162. package/esm/cli/script/script-delete.js.map +1 -1
  163. package/esm/cli/script/script-describe.js.map +1 -1
  164. package/esm/cli/script/script-export.js.map +1 -1
  165. package/esm/cli/script/script-import.js.map +1 -1
  166. package/esm/cli/script/script-list.js.map +1 -1
  167. package/esm/cli/script/script.js.map +1 -1
  168. package/esm/cli/service/service-delete.js.map +1 -1
  169. package/esm/cli/service/service-export.js.map +1 -1
  170. package/esm/cli/service/service-import.js.map +1 -1
  171. package/esm/cli/service/service-list.js.map +1 -1
  172. package/esm/cli/service/service.js.map +1 -1
  173. package/esm/cli/theme/theme-delete.e2e.test_.js.map +1 -1
  174. package/esm/cli/theme/theme-delete.js.map +1 -1
  175. package/esm/cli/theme/theme-export.js.map +1 -1
  176. package/esm/cli/theme/theme-import.js.map +1 -1
  177. package/esm/cli/theme/theme-list.e2e.test_.js.map +1 -1
  178. package/esm/cli/theme/theme-list.js.map +1 -1
  179. package/esm/cli/theme/theme.js.map +1 -1
  180. package/esm/loader.js.map +1 -1
  181. package/esm/ops/AgentOps.js.map +1 -1
  182. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  183. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  184. package/esm/ops/EmailTemplateOps.js.map +1 -1
  185. package/esm/ops/IdmOps.js.map +1 -1
  186. package/esm/ops/IdpOps.js.map +1 -1
  187. package/esm/ops/JourneyOps.js.map +1 -1
  188. package/esm/ops/NodeOps.js.map +1 -1
  189. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  190. package/esm/ops/PolicyOps.js +26 -17
  191. package/esm/ops/PolicyOps.js.map +1 -1
  192. package/esm/ops/PolicySetOps.js +17 -10
  193. package/esm/ops/PolicySetOps.js.map +1 -1
  194. package/esm/ops/ResourceTypeOps.js.map +1 -1
  195. package/esm/ops/Saml2Ops.js.map +1 -1
  196. package/esm/ops/Saml2Ops.test_.js.map +1 -1
  197. package/esm/ops/ScriptOps.js.map +1 -1
  198. package/esm/ops/ServiceOps.js.map +1 -1
  199. package/esm/ops/ThemeOps.js.map +1 -1
  200. package/esm/ops/utils/OpsUtils.js.map +1 -1
  201. package/esm/ops/utils/Wordwrap.js.map +1 -1
  202. package/esm/utils/Config.js.map +1 -1
  203. package/esm/utils/Console.js.map +1 -1
  204. package/esm/utils/ExportImportUtils.js.map +1 -1
  205. package/esm/utils/Version.js.map +1 -1
  206. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -7,6 +7,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.24.1] - 2023-05-22
11
+
12
+ ### Added
13
+
14
+ - Support for authorization policies, policy sets, and resource types through new `authz` commands:
15
+
16
+ - `frodo authz type` Manage authorization resource types.
17
+ - `delete` Delete authorization resource types.
18
+ - `describe` Describe authorization resource types.
19
+ - `export` Export authorization resource types.
20
+ - `import` Import authorization resource types.
21
+ - `list` List authorization resource types.
22
+ - `frodo authz set` Manage authorization policy sets.
23
+ - `delete` Delete authorization policy sets.
24
+ - `describe` Describe authorization policy sets.
25
+ - `export` Export authorization policy sets.
26
+ - `import` Import authorization policy sets.
27
+ - `list` List authorization policy sets.
28
+ - `frodo authz policy` Manage authorization policies.
29
+ - `delete` Delete authorization policies.
30
+ - `describe` Describe authorization policies.
31
+ - `export` Export authorization policies.
32
+ - `import` Import authorization policies.
33
+ - `list` List authorization policies.
34
+
35
+ Examples:
36
+
37
+ - Export a whole policy set including policies and resource types:<br>
38
+ `frodo authz set export -i <myPolicySet> <myTenant>`
39
+ - Import a whole policy set including dependencies exported using the previous example:<br>
40
+ `frodo authz set import -f <myPolicySet>.policyset.authz.json <myTenant>`
41
+ - Remove a whole policy set with all its policies:<br>
42
+ `frodo authz set delete -i <myPolicySet> <myTenant>`
43
+ - Export all policies in a policy set including dependencies:<br>
44
+ `frodo authz policy export -a --set-id <myPolicySet> <myTenant>`
45
+ - Import all policies into another policy set in another tenant:<br>
46
+ `frodo authz policy import -a --set-id <myOtherPolicySet> -f <>.policy.authz.json <myOtherTenant>`<br>
47
+ **_Note_**: Policy IDs/names have to be unique within the realm. Therefore you cannot export all policies from one policy set and import them into another policy set in the same realm without deleting the original policy set first.
48
+
49
+ Notes:
50
+
51
+ - Use the new `--prereqs` option with the `authz set/policy import/export` commands to include structural prerequisites like resource types and policy sets.
52
+ - Use the new `--json` option with all `describe` sub-commands:<br>
53
+ `frodo authz type describe --json -n URL <myTenant>`<br>
54
+ `frodo authz type describe --json -i 76656a38-5f8e-401b-83aa-4ccb74ce88d2 <myTenant>`<br>
55
+ `frodo authz set describe --json -i <myPolicySet> <myTenant>`<br>
56
+ `frodo authz policy describe --json -i <myPolicy> <myTenant>`
57
+
58
+ ### Changed
59
+
60
+ - Update to frodo-lib 0.19.1
61
+ - Update dependencies
62
+ - Changes based on rockcarver/frodo-lib#234 (code refactoring) and updated frodo-lib:
63
+ - Added support for `-A` and `-a` options to `frodo app import` command
64
+ - Added support for `--no-deps` option to `frodo app export` and `frodo app import` commands
65
+
66
+ ### Fixed
67
+
68
+ - \#214: Fixed a regression introduced in #186, which 'swallowed' `frodo` command exit codes and resulted in always exiting with 0 even if a `frodo` command returned with a different exit code.
69
+
70
+ ## [0.24.0] - 2023-05-21 [YANKED]
71
+
10
72
  ## [0.23.1-8] - 2023-05-21
11
73
 
12
74
  ## [0.23.1-7] - 2023-05-18
@@ -29,6 +91,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
29
91
  - Changes based on rockcarver/frodo-lib#234 (code refactoring) and updated frodo-lib:
30
92
  - Added support for `-A` and `-a` options to `frodo app import` command
31
93
  - Added support for `--no-deps` option to `frodo app export` and `frodo app import` commands
94
+ - \#213: More debug logging for connection profile lookup by a unique substring. Use --debug to see the additional output. This is not yet a solution for #213 but should help identify the root cause.
95
+ - \#216: More debug logging for the 2fa process and proper detection of unsupported webauthn factor.
32
96
 
33
97
  ### Fixed
34
98
 
@@ -1108,7 +1172,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1108
1172
  - Fixed problem with adding connection profiles
1109
1173
  - Miscellaneous bug fixes
1110
1174
 
1111
- [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.23.1-8...HEAD
1175
+ [Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.24.1...HEAD
1176
+
1177
+ [0.24.1]: https://github.com/rockcarver/frodo-cli/compare/v0.24.1-0...v0.24.1
1178
+
1179
+ [0.24.1-0]: https://github.com/rockcarver/frodo-cli/compare/v0.24.1...v0.24.1-0
1180
+
1181
+ [0.24.1]: https://github.com/rockcarver/frodo-cli/compare/v0.24.0...v0.24.1
1182
+
1183
+ [0.24.0]: https://github.com/rockcarver/frodo-cli/compare/v0.23.1-8...v0.24.0
1112
1184
 
1113
1185
  [0.23.1-8]: https://github.com/rockcarver/frodo-cli/compare/v0.23.1-7...v0.23.1-8
1114
1186
 
package/esm/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","names":["ConnectionProfile","Command","admin","agent","authz","app","conn","email","esv","idm","idp","info","journey","logging","realm","saml","script","service","theme","printMessage","getVersions","initConnectionProfiles","program","version","addCommand","showHelpAfterError","enablePositionalOptions","parse","e"],"sources":["app.ts"],"sourcesContent":["import { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport { Command } from 'commander';\n\n// commands\nimport admin from './cli/admin/admin';\nimport agent from './cli/agent/agent';\nimport authz from './cli/authz/authz';\nimport app from './cli/app/app';\nimport conn from './cli/conn/conn';\nimport email from './cli/email/email';\nimport esv from './cli/esv/esv';\nimport idm from './cli/idm/idm';\nimport idp from './cli/idp/idp';\nimport info from './cli/info/info';\nimport journey from './cli/journey/journey';\nimport logging from './cli/logging/logs';\nimport realm from './cli/realm/realm';\nimport saml from './cli/saml/saml';\nimport script from './cli/script/script';\nimport service from './cli/service/service';\n// enable sample command template.\n// import something from './cli/_template/something';\nimport theme from './cli/theme/theme';\nimport { printMessage } from './utils/Console';\nimport { getVersions } from './utils/Version';\n\nconst { initConnectionProfiles } = ConnectionProfile;\n\n(async () => {\n try {\n const program = new Command('frodo').version(\n await getVersions(false),\n '-v, --version'\n );\n\n printMessage(await getVersions(true), 'text', false);\n\n await initConnectionProfiles();\n\n program.addCommand(admin());\n program.addCommand(agent());\n program.addCommand(authz());\n program.addCommand(app());\n program.addCommand(conn());\n program.addCommand(email());\n program.addCommand(esv());\n program.addCommand(idm());\n program.addCommand(idp());\n program.addCommand(info());\n program.addCommand(journey());\n program.addCommand(logging());\n program.addCommand(realm());\n program.addCommand(saml());\n program.addCommand(script());\n program.addCommand(service());\n program.addCommand(theme());\n // enable sample command template.\n // program.addCommand(something());\n\n program.showHelpAfterError();\n program.enablePositionalOptions();\n program.parse();\n } catch (e) {\n printMessage(`ERROR: exception running frodo - ${e}`, 'error');\n }\n})();\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,OAAO,QAAQ,WAAW;;AAEnC;AACA,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,OAAO,MAAM,uBAAuB;AAC3C,OAAOC,OAAO,MAAM,oBAAoB;AACxC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,OAAO,MAAM,uBAAuB;AAC3C;AACA;AACA,OAAOC,KAAK,MAAM,mBAAmB;AACrC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAE7C,MAAM;EAAEC;AAAuB,CAAC,GAAGrB,iBAAiB;AAEpD,CAAC,YAAY;EACX,IAAI;IACF,MAAMsB,OAAO,GAAG,IAAIrB,OAAO,CAAC,OAAO,CAAC,CAACsB,OAAO,CAC1C,MAAMH,WAAW,CAAC,KAAK,CAAC,EACxB,eAAe,CAChB;IAEDD,YAAY,CAAC,MAAMC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;IAEpD,MAAMC,sBAAsB,EAAE;IAE9BC,OAAO,CAACE,UAAU,CAACtB,KAAK,EAAE,CAAC;IAC3BoB,OAAO,CAACE,UAAU,CAACrB,KAAK,EAAE,CAAC;IAC3BmB,OAAO,CAACE,UAAU,CAACpB,KAAK,EAAE,CAAC;IAC3BkB,OAAO,CAACE,UAAU,CAACnB,GAAG,EAAE,CAAC;IACzBiB,OAAO,CAACE,UAAU,CAAClB,IAAI,EAAE,CAAC;IAC1BgB,OAAO,CAACE,UAAU,CAACjB,KAAK,EAAE,CAAC;IAC3Be,OAAO,CAACE,UAAU,CAAChB,GAAG,EAAE,CAAC;IACzBc,OAAO,CAACE,UAAU,CAACf,GAAG,EAAE,CAAC;IACzBa,OAAO,CAACE,UAAU,CAACd,GAAG,EAAE,CAAC;IACzBY,OAAO,CAACE,UAAU,CAACb,IAAI,EAAE,CAAC;IAC1BW,OAAO,CAACE,UAAU,CAACZ,OAAO,EAAE,CAAC;IAC7BU,OAAO,CAACE,UAAU,CAACX,OAAO,EAAE,CAAC;IAC7BS,OAAO,CAACE,UAAU,CAACV,KAAK,EAAE,CAAC;IAC3BQ,OAAO,CAACE,UAAU,CAACT,IAAI,EAAE,CAAC;IAC1BO,OAAO,CAACE,UAAU,CAACR,MAAM,EAAE,CAAC;IAC5BM,OAAO,CAACE,UAAU,CAACP,OAAO,EAAE,CAAC;IAC7BK,OAAO,CAACE,UAAU,CAACN,KAAK,EAAE,CAAC;IAC3B;IACA;;IAEAI,OAAO,CAACG,kBAAkB,EAAE;IAC5BH,OAAO,CAACI,uBAAuB,EAAE;IACjCJ,OAAO,CAACK,KAAK,EAAE;EACjB,CAAC,CAAC,OAAOC,CAAC,EAAE;IACVT,YAAY,CAAE,oCAAmCS,CAAE,EAAC,EAAE,OAAO,CAAC;EAChE;AACF,CAAC,GAAG"}
1
+ {"version":3,"file":"app.js","names":["ConnectionProfile","Command","admin","agent","authz","app","conn","email","esv","idm","idp","info","journey","logging","realm","saml","script","service","theme","printMessage","getVersions","initConnectionProfiles","program","version","addCommand","showHelpAfterError","enablePositionalOptions","parse","e"],"sources":["app.ts"],"sourcesContent":["import { ConnectionProfile } from '@rockcarver/frodo-lib';\nimport { Command } from 'commander';\n\n// commands\nimport admin from './cli/admin/admin';\nimport agent from './cli/agent/agent';\nimport authz from './cli/authz/authz';\nimport app from './cli/app/app';\nimport conn from './cli/conn/conn';\nimport email from './cli/email/email';\nimport esv from './cli/esv/esv';\nimport idm from './cli/idm/idm';\nimport idp from './cli/idp/idp';\nimport info from './cli/info/info';\nimport journey from './cli/journey/journey';\nimport logging from './cli/logging/logs';\nimport realm from './cli/realm/realm';\nimport saml from './cli/saml/saml';\nimport script from './cli/script/script';\nimport service from './cli/service/service';\n// enable sample command template.\n// import something from './cli/_template/something';\nimport theme from './cli/theme/theme';\nimport { printMessage } from './utils/Console';\nimport { getVersions } from './utils/Version';\n\nconst { initConnectionProfiles } = ConnectionProfile;\n\n(async () => {\n try {\n const program = new Command('frodo').version(\n await getVersions(false),\n '-v, --version'\n );\n\n printMessage(await getVersions(true), 'text', false);\n\n await initConnectionProfiles();\n\n program.addCommand(admin());\n program.addCommand(agent());\n program.addCommand(authz());\n program.addCommand(app());\n program.addCommand(conn());\n program.addCommand(email());\n program.addCommand(esv());\n program.addCommand(idm());\n program.addCommand(idp());\n program.addCommand(info());\n program.addCommand(journey());\n program.addCommand(logging());\n program.addCommand(realm());\n program.addCommand(saml());\n program.addCommand(script());\n program.addCommand(service());\n program.addCommand(theme());\n // enable sample command template.\n // program.addCommand(something());\n\n program.showHelpAfterError();\n program.enablePositionalOptions();\n program.parse();\n } catch (e) {\n printMessage(`ERROR: exception running frodo - ${e}`, 'error');\n }\n})();\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,OAAO,QAAQ,WAAW;;AAEnC;AACA,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,GAAG,MAAM,eAAe;AAC/B,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,OAAO,MAAM,uBAAuB;AAC3C,OAAOC,OAAO,MAAM,oBAAoB;AACxC,OAAOC,KAAK,MAAM,mBAAmB;AACrC,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,OAAO,MAAM,uBAAuB;AAC3C;AACA;AACA,OAAOC,KAAK,MAAM,mBAAmB;AACrC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAE7C,MAAM;EAAEC;AAAuB,CAAC,GAAGrB,iBAAiB;AAEpD,CAAC,YAAY;EACX,IAAI;IACF,MAAMsB,OAAO,GAAG,IAAIrB,OAAO,CAAC,OAAO,CAAC,CAACsB,OAAO,CAC1C,MAAMH,WAAW,CAAC,KAAK,CAAC,EACxB,eACF,CAAC;IAEDD,YAAY,CAAC,MAAMC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;IAEpD,MAAMC,sBAAsB,CAAC,CAAC;IAE9BC,OAAO,CAACE,UAAU,CAACtB,KAAK,CAAC,CAAC,CAAC;IAC3BoB,OAAO,CAACE,UAAU,CAACrB,KAAK,CAAC,CAAC,CAAC;IAC3BmB,OAAO,CAACE,UAAU,CAACpB,KAAK,CAAC,CAAC,CAAC;IAC3BkB,OAAO,CAACE,UAAU,CAACnB,GAAG,CAAC,CAAC,CAAC;IACzBiB,OAAO,CAACE,UAAU,CAAClB,IAAI,CAAC,CAAC,CAAC;IAC1BgB,OAAO,CAACE,UAAU,CAACjB,KAAK,CAAC,CAAC,CAAC;IAC3Be,OAAO,CAACE,UAAU,CAAChB,GAAG,CAAC,CAAC,CAAC;IACzBc,OAAO,CAACE,UAAU,CAACf,GAAG,CAAC,CAAC,CAAC;IACzBa,OAAO,CAACE,UAAU,CAACd,GAAG,CAAC,CAAC,CAAC;IACzBY,OAAO,CAACE,UAAU,CAACb,IAAI,CAAC,CAAC,CAAC;IAC1BW,OAAO,CAACE,UAAU,CAACZ,OAAO,CAAC,CAAC,CAAC;IAC7BU,OAAO,CAACE,UAAU,CAACX,OAAO,CAAC,CAAC,CAAC;IAC7BS,OAAO,CAACE,UAAU,CAACV,KAAK,CAAC,CAAC,CAAC;IAC3BQ,OAAO,CAACE,UAAU,CAACT,IAAI,CAAC,CAAC,CAAC;IAC1BO,OAAO,CAACE,UAAU,CAACR,MAAM,CAAC,CAAC,CAAC;IAC5BM,OAAO,CAACE,UAAU,CAACP,OAAO,CAAC,CAAC,CAAC;IAC7BK,OAAO,CAACE,UAAU,CAACN,KAAK,CAAC,CAAC,CAAC;IAC3B;IACA;;IAEAI,OAAO,CAACG,kBAAkB,CAAC,CAAC;IAC5BH,OAAO,CAACI,uBAAuB,CAAC,CAAC;IACjCJ,OAAO,CAACK,KAAK,CAAC,CAAC;EACjB,CAAC,CAAC,OAAOC,CAAC,EAAE;IACVT,YAAY,CAAE,oCAAmCS,CAAE,EAAC,EAAE,OAAO,CAAC;EAChE;AACF,CAAC,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FrodoCommand.js","names":["Argument","Command","Option","globalConfig","state","fs","printMessage","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","verboseMessage","debugMessage","curlirizeMessage","hostArgument","realmArgument","default","process","env","FRODO_REALM","DEFAULT_REALM_KEY","usernameArgument","passwordArgument","serviceAccountIdOption","serviceAccountJwkFileOption","deploymentOption","choices","DEPLOYMENT_TYPES","insecureOption","verboseOption","debugOption","curlirizeOption","defaultArgs","defaultOpts","stateMap","name","setHost","setRealm","setUsername","setPassword","attributeName","setServiceAccountId","file","data","readFileSync","jwk","JSON","parse","toString","setServiceAccountJwk","error","message","setDeploymentType","setAllowInsecureConnection","setVerbose","setDebug","setCurlirize","FrodoStubCommand","constructor","helpOption","showHelpAfterError","configureHelp","sortSubcommands","sortOptions","setPrintHandler","setVerboseHandler","setDebugHandler","setCurlirizeHandler","setCreateProgressHandler","setUpdateProgressHandler","setStopProgressHandler","FrodoCommand","omits","arg","includes","addArgument","opt","addOption","handleDefaultArgsAndOpts","args","command","pop","options","i","v","entries","_args","length","Object","keys","handler","k"],"sources":["cli/FrodoCommand.ts"],"sourcesContent":["import { Argument, Command, Option } from 'commander';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n verboseMessage,\n debugMessage,\n curlirizeMessage,\n} from '../utils/Console.js';\n\nconst hostArgument = new Argument(\n '[host]',\n 'Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring.'\n);\n\nconst realmArgument = new Argument(\n '[realm]',\n \"Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise.\"\n).default(\n // must check for FRODO_REALM env variable here because otherwise cli will overwrite realm with default value\n process.env.FRODO_REALM || globalConfig.DEFAULT_REALM_KEY,\n '\"alpha\" for Identity Cloud tenants, \"/\" otherwise.'\n);\n\nconst usernameArgument = new Argument(\n '[username]',\n 'Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees.'\n);\n\nconst passwordArgument = new Argument('[password]', 'Password.');\n\nconst serviceAccountIdOption = new Option(\n '--sa-id <sa-id>',\n 'Service account id.'\n);\n\nconst serviceAccountJwkFileOption = new Option(\n '--sa-jwk-file <file>',\n 'File containing the JSON Web Key (JWK) associated with the the service account.'\n);\n\nconst deploymentOption = new Option(\n '-m, --type <type>',\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'\n).choices(globalConfig.DEPLOYMENT_TYPES);\n\nconst 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\nconst verboseOption = new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n);\n\nconst debugOption = new Option(\n '--debug',\n 'Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting.'\n);\n\nconst curlirizeOption = new Option(\n '--curlirize',\n 'Output all network calls in curl format.'\n);\n\nconst defaultArgs = [\n hostArgument,\n realmArgument,\n usernameArgument,\n passwordArgument,\n];\n\nconst defaultOpts = [\n serviceAccountIdOption,\n serviceAccountJwkFileOption,\n deploymentOption,\n insecureOption,\n verboseOption,\n debugOption,\n curlirizeOption,\n];\n\nconst stateMap = {\n [hostArgument.name()]: state.setHost,\n [realmArgument.name()]: state.setRealm,\n [usernameArgument.name()]: state.setUsername,\n [passwordArgument.name()]: state.setPassword,\n [serviceAccountIdOption.attributeName()]: state.setServiceAccountId,\n [serviceAccountJwkFileOption.attributeName()]: (file) => {\n try {\n const data = fs.readFileSync(file);\n const jwk = JSON.parse(data.toString());\n state.setServiceAccountJwk(jwk);\n } catch (error) {\n printMessage(\n `Error parsing JWK from file ${file}: ${error.message}`,\n 'error'\n );\n }\n },\n [deploymentOption.attributeName()]: state.setDeploymentType,\n [insecureOption.attributeName()]: state.setAllowInsecureConnection,\n [verboseOption.attributeName()]: state.setVerbose,\n [debugOption.attributeName()]: state.setDebug,\n [curlirizeOption.attributeName()]: state.setCurlirize,\n};\n\n/**\n * Command with default options\n */\nexport class FrodoStubCommand extends Command {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string) {\n super(name);\n\n // other default settings\n this.helpOption('-h, --help', 'Help');\n this.showHelpAfterError();\n this.configureHelp({\n sortSubcommands: true,\n sortOptions: true,\n });\n\n // register default handlers\n state.setPrintHandler(printMessage);\n state.setVerboseHandler(verboseMessage);\n state.setDebugHandler(debugMessage);\n state.setCurlirizeHandler(curlirizeMessage);\n state.setCreateProgressHandler(createProgressIndicator);\n state.setUpdateProgressHandler(updateProgressIndicator);\n state.setStopProgressHandler(stopProgressIndicator);\n }\n}\n\n/**\n * Command with default options\n */\nexport class FrodoCommand extends FrodoStubCommand {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string, omits: string[] = []) {\n super(name);\n\n // register default arguments\n for (const arg of defaultArgs) {\n if (!omits.includes(arg.name())) this.addArgument(arg);\n }\n\n // register default options\n for (const opt of defaultOpts) {\n if (!omits.includes(opt.name())) this.addOption(opt);\n }\n }\n\n /**\n *\n * @param args\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleDefaultArgsAndOpts(...args: any) {\n const command = args.pop();\n const options = args.pop();\n\n // handle arguments first\n for (const [i, v] of command.args.entries()) {\n if (!command._args[i]) {\n printMessage(\n `${command.args.length} arguments supplied but command only supports ${command._args.length}.`,\n 'warn'\n );\n break;\n }\n const arg = command._args[i].name();\n // handle only default arguments\n if (Object.keys(stateMap).includes(arg)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default argument '${arg}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[arg];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default argument '${arg}'.`\n );\n }\n }\n\n // handle options\n for (const [k, v] of Object.entries(options)) {\n // handle only default options\n if (Object.keys(stateMap).includes(k)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default option '${k}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[k];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default option '${k}'.`\n );\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FrodoCommand.js","names":["Argument","Command","Option","globalConfig","state","fs","printMessage","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","verboseMessage","debugMessage","curlirizeMessage","hostArgument","realmArgument","default","process","env","FRODO_REALM","DEFAULT_REALM_KEY","usernameArgument","passwordArgument","serviceAccountIdOption","serviceAccountJwkFileOption","deploymentOption","choices","DEPLOYMENT_TYPES","insecureOption","verboseOption","debugOption","curlirizeOption","defaultArgs","defaultOpts","stateMap","name","setHost","setRealm","setUsername","setPassword","attributeName","setServiceAccountId","file","data","readFileSync","jwk","JSON","parse","toString","setServiceAccountJwk","error","message","setDeploymentType","setAllowInsecureConnection","setVerbose","setDebug","setCurlirize","FrodoStubCommand","constructor","helpOption","showHelpAfterError","configureHelp","sortSubcommands","sortOptions","setPrintHandler","setVerboseHandler","setDebugHandler","setCurlirizeHandler","setCreateProgressHandler","setUpdateProgressHandler","setStopProgressHandler","FrodoCommand","omits","arg","includes","addArgument","opt","addOption","handleDefaultArgsAndOpts","args","command","pop","options","i","v","entries","_args","length","Object","keys","handler","k"],"sources":["cli/FrodoCommand.ts"],"sourcesContent":["import { Argument, Command, Option } from 'commander';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n verboseMessage,\n debugMessage,\n curlirizeMessage,\n} from '../utils/Console.js';\n\nconst hostArgument = new Argument(\n '[host]',\n 'Access Management base URL, e.g.: https://cdk.iam.example.com/am. To use a connection profile, just specify a unique substring.'\n);\n\nconst realmArgument = new Argument(\n '[realm]',\n \"Realm. Specify realm as '/' for the root realm or 'realm' or '/parent/child' otherwise.\"\n).default(\n // must check for FRODO_REALM env variable here because otherwise cli will overwrite realm with default value\n process.env.FRODO_REALM || globalConfig.DEFAULT_REALM_KEY,\n '\"alpha\" for Identity Cloud tenants, \"/\" otherwise.'\n);\n\nconst usernameArgument = new Argument(\n '[username]',\n 'Username to login with. Must be an admin user with appropriate rights to manage authentication journeys/trees.'\n);\n\nconst passwordArgument = new Argument('[password]', 'Password.');\n\nconst serviceAccountIdOption = new Option(\n '--sa-id <sa-id>',\n 'Service account id.'\n);\n\nconst serviceAccountJwkFileOption = new Option(\n '--sa-jwk-file <file>',\n 'File containing the JSON Web Key (JWK) associated with the the service account.'\n);\n\nconst deploymentOption = new Option(\n '-m, --type <type>',\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'\n).choices(globalConfig.DEPLOYMENT_TYPES);\n\nconst 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\nconst verboseOption = new Option(\n '--verbose',\n 'Verbose output during command execution. If specified, may or may not produce additional output.'\n);\n\nconst debugOption = new Option(\n '--debug',\n 'Debug output during command execution. If specified, may or may not produce additional output helpful for troubleshooting.'\n);\n\nconst curlirizeOption = new Option(\n '--curlirize',\n 'Output all network calls in curl format.'\n);\n\nconst defaultArgs = [\n hostArgument,\n realmArgument,\n usernameArgument,\n passwordArgument,\n];\n\nconst defaultOpts = [\n serviceAccountIdOption,\n serviceAccountJwkFileOption,\n deploymentOption,\n insecureOption,\n verboseOption,\n debugOption,\n curlirizeOption,\n];\n\nconst stateMap = {\n [hostArgument.name()]: state.setHost,\n [realmArgument.name()]: state.setRealm,\n [usernameArgument.name()]: state.setUsername,\n [passwordArgument.name()]: state.setPassword,\n [serviceAccountIdOption.attributeName()]: state.setServiceAccountId,\n [serviceAccountJwkFileOption.attributeName()]: (file) => {\n try {\n const data = fs.readFileSync(file);\n const jwk = JSON.parse(data.toString());\n state.setServiceAccountJwk(jwk);\n } catch (error) {\n printMessage(\n `Error parsing JWK from file ${file}: ${error.message}`,\n 'error'\n );\n }\n },\n [deploymentOption.attributeName()]: state.setDeploymentType,\n [insecureOption.attributeName()]: state.setAllowInsecureConnection,\n [verboseOption.attributeName()]: state.setVerbose,\n [debugOption.attributeName()]: state.setDebug,\n [curlirizeOption.attributeName()]: state.setCurlirize,\n};\n\n/**\n * Command with default options\n */\nexport class FrodoStubCommand extends Command {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string) {\n super(name);\n\n // other default settings\n this.helpOption('-h, --help', 'Help');\n this.showHelpAfterError();\n this.configureHelp({\n sortSubcommands: true,\n sortOptions: true,\n });\n\n // register default handlers\n state.setPrintHandler(printMessage);\n state.setVerboseHandler(verboseMessage);\n state.setDebugHandler(debugMessage);\n state.setCurlirizeHandler(curlirizeMessage);\n state.setCreateProgressHandler(createProgressIndicator);\n state.setUpdateProgressHandler(updateProgressIndicator);\n state.setStopProgressHandler(stopProgressIndicator);\n }\n}\n\n/**\n * Command with default options\n */\nexport class FrodoCommand extends FrodoStubCommand {\n /**\n * Creates a new FrodoCommand instance\n * @param name Name of the command\n * @param omits Array of default argument names and default option names that should not be added to this command\n */\n constructor(name: string, omits: string[] = []) {\n super(name);\n\n // register default arguments\n for (const arg of defaultArgs) {\n if (!omits.includes(arg.name())) this.addArgument(arg);\n }\n\n // register default options\n for (const opt of defaultOpts) {\n if (!omits.includes(opt.name())) this.addOption(opt);\n }\n }\n\n /**\n *\n * @param args\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleDefaultArgsAndOpts(...args: any) {\n const command = args.pop();\n const options = args.pop();\n\n // handle arguments first\n for (const [i, v] of command.args.entries()) {\n if (!command._args[i]) {\n printMessage(\n `${command.args.length} arguments supplied but command only supports ${command._args.length}.`,\n 'warn'\n );\n break;\n }\n const arg = command._args[i].name();\n // handle only default arguments\n if (Object.keys(stateMap).includes(arg)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default argument '${arg}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[arg];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default argument '${arg}'.`\n );\n }\n }\n\n // handle options\n for (const [k, v] of Object.entries(options)) {\n // handle only default options\n if (Object.keys(stateMap).includes(k)) {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Handling default option '${k}'.`\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handler: any = stateMap[k];\n handler(v);\n } else {\n debugMessage(\n `FrodoCommand.handleDefaultArgsAndOpts: Ignoring non-default option '${k}'.`\n );\n }\n }\n }\n}\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,OAAO,EAAEC,MAAM,QAAQ,WAAW;AACrD,OAAO,KAAKC,YAAY,MAAM,0BAA0B;AACxD,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,OAAOC,EAAE,MAAM,IAAI;AACnB,SACEC,YAAY,EACZC,uBAAuB,EACvBC,uBAAuB,EACvBC,qBAAqB,EACrBC,cAAc,EACdC,YAAY,EACZC,gBAAgB,QACX,qBAAqB;AAE5B,MAAMC,YAAY,GAAG,IAAIb,QAAQ,CAC/B,QAAQ,EACR,iIACF,CAAC;AAED,MAAMc,aAAa,GAAG,IAAId,QAAQ,CAChC,SAAS,EACT,yFACF,CAAC,CAACe,OAAO;AACP;AACAC,OAAO,CAACC,GAAG,CAACC,WAAW,IAAIf,YAAY,CAACgB,iBAAiB,EACzD,oDACF,CAAC;AAED,MAAMC,gBAAgB,GAAG,IAAIpB,QAAQ,CACnC,YAAY,EACZ,gHACF,CAAC;AAED,MAAMqB,gBAAgB,GAAG,IAAIrB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;AAEhE,MAAMsB,sBAAsB,GAAG,IAAIpB,MAAM,CACvC,iBAAiB,EACjB,qBACF,CAAC;AAED,MAAMqB,2BAA2B,GAAG,IAAIrB,MAAM,CAC5C,sBAAsB,EACtB,iFACF,CAAC;AAED,MAAMsB,gBAAgB,GAAG,IAAItB,MAAM,CACjC,mBAAmB,EACnB;AACF;AACA;AACA;AACA;AACA;AACA,6EACA,CAAC,CAACuB,OAAO,CAACtB,YAAY,CAACuB,gBAAgB,CAAC;AAExC,MAAMC,cAAc,GAAG,IAAIzB,MAAM,CAC/B,gBAAgB,EAChB,4LACF,CAAC,CAACa,OAAO,CAAC,KAAK,EAAE,kCAAkC,CAAC;AAEpD,MAAMa,aAAa,GAAG,IAAI1B,MAAM,CAC9B,WAAW,EACX,kGACF,CAAC;AAED,MAAM2B,WAAW,GAAG,IAAI3B,MAAM,CAC5B,SAAS,EACT,4HACF,CAAC;AAED,MAAM4B,eAAe,GAAG,IAAI5B,MAAM,CAChC,aAAa,EACb,0CACF,CAAC;AAED,MAAM6B,WAAW,GAAG,CAClBlB,YAAY,EACZC,aAAa,EACbM,gBAAgB,EAChBC,gBAAgB,CACjB;AAED,MAAMW,WAAW,GAAG,CAClBV,sBAAsB,EACtBC,2BAA2B,EAC3BC,gBAAgB,EAChBG,cAAc,EACdC,aAAa,EACbC,WAAW,EACXC,eAAe,CAChB;AAED,MAAMG,QAAQ,GAAG;EACf,CAACpB,YAAY,CAACqB,IAAI,CAAC,CAAC,GAAG9B,KAAK,CAAC+B,OAAO;EACpC,CAACrB,aAAa,CAACoB,IAAI,CAAC,CAAC,GAAG9B,KAAK,CAACgC,QAAQ;EACtC,CAAChB,gBAAgB,CAACc,IAAI,CAAC,CAAC,GAAG9B,KAAK,CAACiC,WAAW;EAC5C,CAAChB,gBAAgB,CAACa,IAAI,CAAC,CAAC,GAAG9B,KAAK,CAACkC,WAAW;EAC5C,CAAChB,sBAAsB,CAACiB,aAAa,CAAC,CAAC,GAAGnC,KAAK,CAACoC,mBAAmB;EACnE,CAACjB,2BAA2B,CAACgB,aAAa,CAAC,CAAC,GAAIE,IAAI,IAAK;IACvD,IAAI;MACF,MAAMC,IAAI,GAAGrC,EAAE,CAACsC,YAAY,CAACF,IAAI,CAAC;MAClC,MAAMG,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,QAAQ,CAAC,CAAC,CAAC;MACvC3C,KAAK,CAAC4C,oBAAoB,CAACJ,GAAG,CAAC;IACjC,CAAC,CAAC,OAAOK,KAAK,EAAE;MACd3C,YAAY,CACT,+BAA8BmC,IAAK,KAAIQ,KAAK,CAACC,OAAQ,EAAC,EACvD,OACF,CAAC;IACH;EACF,CAAC;EACD,CAAC1B,gBAAgB,CAACe,aAAa,CAAC,CAAC,GAAGnC,KAAK,CAAC+C,iBAAiB;EAC3D,CAACxB,cAAc,CAACY,aAAa,CAAC,CAAC,GAAGnC,KAAK,CAACgD,0BAA0B;EAClE,CAACxB,aAAa,CAACW,aAAa,CAAC,CAAC,GAAGnC,KAAK,CAACiD,UAAU;EACjD,CAACxB,WAAW,CAACU,aAAa,CAAC,CAAC,GAAGnC,KAAK,CAACkD,QAAQ;EAC7C,CAACxB,eAAe,CAACS,aAAa,CAAC,CAAC,GAAGnC,KAAK,CAACmD;AAC3C,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,SAASvD,OAAO,CAAC;EAC5C;AACF;AACA;AACA;AACA;EACEwD,WAAWA,CAACvB,IAAY,EAAE;IACxB,KAAK,CAACA,IAAI,CAAC;;IAEX;IACA,IAAI,CAACwB,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC;IACrC,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACzB,IAAI,CAACC,aAAa,CAAC;MACjBC,eAAe,EAAE,IAAI;MACrBC,WAAW,EAAE;IACf,CAAC,CAAC;;IAEF;IACA1D,KAAK,CAAC2D,eAAe,CAACzD,YAAY,CAAC;IACnCF,KAAK,CAAC4D,iBAAiB,CAACtD,cAAc,CAAC;IACvCN,KAAK,CAAC6D,eAAe,CAACtD,YAAY,CAAC;IACnCP,KAAK,CAAC8D,mBAAmB,CAACtD,gBAAgB,CAAC;IAC3CR,KAAK,CAAC+D,wBAAwB,CAAC5D,uBAAuB,CAAC;IACvDH,KAAK,CAACgE,wBAAwB,CAAC5D,uBAAuB,CAAC;IACvDJ,KAAK,CAACiE,sBAAsB,CAAC5D,qBAAqB,CAAC;EACrD;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAM6D,YAAY,SAASd,gBAAgB,CAAC;EACjD;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACvB,IAAY,EAAEqC,KAAe,GAAG,EAAE,EAAE;IAC9C,KAAK,CAACrC,IAAI,CAAC;;IAEX;IACA,KAAK,MAAMsC,GAAG,IAAIzC,WAAW,EAAE;MAC7B,IAAI,CAACwC,KAAK,CAACE,QAAQ,CAACD,GAAG,CAACtC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAACwC,WAAW,CAACF,GAAG,CAAC;IACxD;;IAEA;IACA,KAAK,MAAMG,GAAG,IAAI3C,WAAW,EAAE;MAC7B,IAAI,CAACuC,KAAK,CAACE,QAAQ,CAACE,GAAG,CAACzC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC0C,SAAS,CAACD,GAAG,CAAC;IACtD;EACF;;EAEA;AACF;AACA;AACA;EACE;EACAE,wBAAwBA,CAAC,GAAGC,IAAS,EAAE;IACrC,MAAMC,OAAO,GAAGD,IAAI,CAACE,GAAG,CAAC,CAAC;IAC1B,MAAMC,OAAO,GAAGH,IAAI,CAACE,GAAG,CAAC,CAAC;;IAE1B;IACA,KAAK,MAAM,CAACE,CAAC,EAAEC,CAAC,CAAC,IAAIJ,OAAO,CAACD,IAAI,CAACM,OAAO,CAAC,CAAC,EAAE;MAC3C,IAAI,CAACL,OAAO,CAACM,KAAK,CAACH,CAAC,CAAC,EAAE;QACrB5E,YAAY,CACT,GAAEyE,OAAO,CAACD,IAAI,CAACQ,MAAO,iDAAgDP,OAAO,CAACM,KAAK,CAACC,MAAO,GAAE,EAC9F,MACF,CAAC;QACD;MACF;MACA,MAAMd,GAAG,GAAGO,OAAO,CAACM,KAAK,CAACH,CAAC,CAAC,CAAChD,IAAI,CAAC,CAAC;MACnC;MACA,IAAIqD,MAAM,CAACC,IAAI,CAACvD,QAAQ,CAAC,CAACwC,QAAQ,CAACD,GAAG,CAAC,EAAE;QACvC7D,YAAY,CACT,qEAAoE6D,GAAI,IAC3E,CAAC;QACD;QACA,MAAMiB,OAAY,GAAGxD,QAAQ,CAACuC,GAAG,CAAC;QAClCiB,OAAO,CAACN,CAAC,CAAC;MACZ,CAAC,MAAM;QACLxE,YAAY,CACT,yEAAwE6D,GAAI,IAC/E,CAAC;MACH;IACF;;IAEA;IACA,KAAK,MAAM,CAACkB,CAAC,EAAEP,CAAC,CAAC,IAAII,MAAM,CAACH,OAAO,CAACH,OAAO,CAAC,EAAE;MAC5C;MACA,IAAIM,MAAM,CAACC,IAAI,CAACvD,QAAQ,CAAC,CAACwC,QAAQ,CAACiB,CAAC,CAAC,EAAE;QACrC/E,YAAY,CACT,mEAAkE+E,CAAE,IACvE,CAAC;QACD;QACA,MAAMD,OAAY,GAAGxD,QAAQ,CAACyD,CAAC,CAAC;QAChCD,OAAO,CAACN,CAAC,CAAC;MACZ,CAAC,MAAM;QACLxE,YAAY,CACT,uEAAsE+E,CAAE,IAC3E,CAAC;MACH;IACF;EACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-delete.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something delete');\n\nprogram\n .description('Delete something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all [somethings]. 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 .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,wBAAwB,CAAC;AAE1DI,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIL,MAAM,CACR,mCAAmC,EACnC,sDAAsD,CACvD,CACF,CACAK,SAAS,CACR,IAAIL,MAAM,CAAC,WAAW,EAAE,2CAA2C,CAAC,CACrE,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sEAAsE,CACvE,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-delete.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something delete');\n\nprogram\n .description('Delete something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all [somethings]. 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 .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,wBAAwB,CAAC;AAE1DI,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIL,MAAM,CACR,mCAAmC,EACnC,sDACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CAAC,WAAW,EAAE,2CAA2C,CACrE,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-describe.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something describe');\n\nprogram\n .description('Describe something.')\n .addOption(new Option('-i, --something-id <something-id>', '[Something] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,0BAA0B,CAAC;AAE5DI,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CAAC,IAAIL,MAAM,CAAC,mCAAmC,EAAE,iBAAiB,CAAC,CAAC,CAC7EM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-describe.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something describe');\n\nprogram\n .description('Describe something.')\n .addOption(new Option('-i, --something-id <something-id>', '[Something] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,0BAA0B,CAAC;AAE5DI,OAAO,CACJC,WAAW,CAAC,qBAAqB,CAAC,CAClCC,SAAS,CAAC,IAAIL,MAAM,CAAC,mCAAmC,EAAE,iBAAiB,CAAC,CAAC,CAC7EM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-delete.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else delete');\n\nprogram\n .description('Delete something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all [elses]. Ignored with -i.'))\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,6BAA6B,CAAC;AAE/DI,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,yBAAyB,EACzB,iDAAiD,CAClD,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC,CAC1EK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sEAAsE,CACvE,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-else-delete.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else delete');\n\nprogram\n .description('Delete something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all [elses]. Ignored with -i.'))\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,6BAA6B,CAAC;AAE/DI,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,yBAAyB,EACzB,iDACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC,CAC1EK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-describe.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else describe');\n\nprogram\n .description('Describe something else.')\n .addOption(new Option('-i, --else-id <else-id>', '[Else] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,+BAA+B,CAAC;AAEjEI,OAAO,CACJC,WAAW,CAAC,0BAA0B,CAAC,CACvCC,SAAS,CAAC,IAAIL,MAAM,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAC9DM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-else-describe.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else describe');\n\nprogram\n .description('Describe something else.')\n .addOption(new Option('-i, --else-id <else-id>', '[Else] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,+BAA+B,CAAC;AAEjEI,OAAO,CACJC,WAAW,CAAC,0BAA0B,CAAC,CACvCC,SAAS,CAAC,IAAIL,MAAM,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAC9DM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-export.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else export');\n\nprogram\n .description('Export something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] 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 [else] to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all [else] to separate files (*.[else].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,6BAA6B,CAAC;AAE/DI,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,yBAAyB,EACzB,iDAAiD,CAClD,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sDAAsD,CACvD,CACF,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,sGAAsG,CACvG,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-else-export.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else export');\n\nprogram\n .description('Export something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] 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 [else] to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all [else] to separate files (*.[else].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,6BAA6B,CAAC;AAE/DI,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,yBAAyB,EACzB,iDACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,sGACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-import.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else import');\n\nprogram\n .description('Import something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, only one [else] 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 [else] from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all [else] from separate files (*.[else].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,6BAA6B,CAAC;AAE/DI,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,yBAAyB,EACzB,6FAA6F,CAC9F,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sDAAsD,CACvD,CACF,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,wGAAwG,CACzG,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-else-import.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else import');\n\nprogram\n .description('Import something else.')\n .addOption(\n new Option(\n '-i, --else-id <else-id>',\n '[Else] id. If specified, only one [else] 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 [else] from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all [else] from separate files (*.[else].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,6BAA6B,CAAC;AAE/DI,OAAO,CACJC,WAAW,CAAC,wBAAwB,CAAC,CACrCC,SAAS,CACR,IAAIL,MAAM,CACR,yBAAyB,EACzB,6FACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sDACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,wGACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-else-list.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else list');\n\nprogram\n .description('List something else.')\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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,2BAA2B,CAAC;AAE7DI,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMX,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHb,OAAO,CAACc,KAAK,EAAE"}
1
+ {"version":3,"file":"something-else-list.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-else-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something else list');\n\nprogram\n .description('List something else.')\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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,2BAA2B,CAAC;AAE7DI,OAAO,CACJC,WAAW,CAAC,sBAAsB,CAAC,CACnCC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHb,OAAO,CAACc,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-else.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["cli/_template/something-else.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo something else');\n\nprogram.description('Manage something else.');\n\nprogram.command('list', 'List something else.');\n\nprogram.command('describe', 'Describe something else.');\n\nprogram.command('export', 'Export something else.');\n\nprogram.command('import', 'Import something else.');\n\nprogram.command('delete', 'Delete something else.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,sBAAsB,CAAC;AAE5DC,OAAO,CAACC,WAAW,CAAC,wBAAwB,CAAC;AAE7CD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC;AAE/CF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,0BAA0B,CAAC;AAEvDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;AAEnDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;AAEnDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;AAEnDF,OAAO,CAACG,KAAK,EAAE"}
1
+ {"version":3,"file":"something-else.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["cli/_template/something-else.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo something else');\n\nprogram.description('Manage something else.');\n\nprogram.command('list', 'List something else.');\n\nprogram.command('describe', 'Describe something else.');\n\nprogram.command('export', 'Export something else.');\n\nprogram.command('import', 'Import something else.');\n\nprogram.command('delete', 'Delete something else.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,sBAAsB,CAAC;AAE5DC,OAAO,CAACC,WAAW,CAAC,wBAAwB,CAAC;AAE7CD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC;AAE/CF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,0BAA0B,CAAC;AAEvDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;AAEnDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;AAEnDF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;AAEnDF,OAAO,CAACG,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-export.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something export');\n\nprogram\n .description('Export something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] 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 [somethings] to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all [somethings] to separate files (*.[something].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,wBAAwB,CAAC;AAE1DI,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIL,MAAM,CACR,mCAAmC,EACnC,sDAAsD,CACvD,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,4DAA4D,CAC7D,CACF,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,iHAAiH,CAClH,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-export.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something export');\n\nprogram\n .description('Export something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] 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 [somethings] to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all [somethings] to separate files (*.[something].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,wBAAwB,CAAC;AAE1DI,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIL,MAAM,CACR,mCAAmC,EACnC,sDACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,4DACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,iHACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-import.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something import');\n\nprogram\n .description('Import something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] id. If specified, only one [something] 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 [somethings] from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all [something] from separate files (*.[something].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,wBAAwB,CAAC;AAE1DI,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIL,MAAM,CACR,mCAAmC,EACnC,uGAAuG,CACxG,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,4DAA4D,CAC7D,CACF,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,kHAAkH,CACnH,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-import.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something import');\n\nprogram\n .description('Import something.')\n .addOption(\n new Option(\n '-i, --something-id <something-id>',\n '[Something] id. If specified, only one [something] 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 [somethings] from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all [something] from separate files (*.[something].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,wBAAwB,CAAC;AAE1DI,OAAO,CACJC,WAAW,CAAC,mBAAmB,CAAC,CAChCC,SAAS,CACR,IAAIL,MAAM,CACR,mCAAmC,EACnC,uGACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,4DACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,kHACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-list.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something list');\n\nprogram\n .description('List something.')\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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,sBAAsB,CAAC;AAExDI,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMX,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHb,OAAO,CAACc,KAAK,EAAE"}
1
+ {"version":3,"file":"something-list.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something list');\n\nprogram\n .description('List something.')\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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,sBAAsB,CAAC;AAExDI,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHb,OAAO,CAACc,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-other-delete.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other delete');\n\nprogram\n .description('Delete other.')\n .addOption(\n new Option(\n '-i, --other-id <other-id>',\n '[Other] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all [others]. Ignored with -i.'))\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,8BAA8B,CAAC;AAEhEI,OAAO,CACJC,WAAW,CAAC,eAAe,CAAC,CAC5BC,SAAS,CACR,IAAIL,MAAM,CACR,2BAA2B,EAC3B,kDAAkD,CACnD,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAC3EK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sEAAsE,CACvE,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-other-delete.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-delete.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other delete');\n\nprogram\n .description('Delete other.')\n .addOption(\n new Option(\n '-i, --other-id <other-id>',\n '[Other] id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-a, --all', 'Delete all [others]. Ignored with -i.'))\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,8BAA8B,CAAC;AAEhEI,OAAO,CACJC,WAAW,CAAC,eAAe,CAAC,CAC5BC,SAAS,CACR,IAAIL,MAAM,CACR,2BAA2B,EAC3B,kDACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC,CAC3EK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-other-describe.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other describe');\n\nprogram\n .description('Describe other.')\n .addOption(new Option('-i, --other-id <other-id>', '[Other] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,gCAAgC,CAAC;AAElEI,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CAAC,IAAIL,MAAM,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC,CACjEM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-other-describe.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-describe.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other describe');\n\nprogram\n .description('Describe other.')\n .addOption(new Option('-i, --other-id <other-id>', '[Other] id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,gCAAgC,CAAC;AAElEI,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CAAC,IAAIL,MAAM,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC,CACjEM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-other-export.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other export');\n\nprogram\n .description('Export other.')\n .addOption(\n new Option(\n '-i, --other-id <other-id>',\n '[Other] 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 [others] to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all [others] to separate files (*.[other].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,8BAA8B,CAAC;AAEhEI,OAAO,CACJC,WAAW,CAAC,eAAe,CAAC,CAC5BC,SAAS,CACR,IAAIL,MAAM,CACR,2BAA2B,EAC3B,kDAAkD,CACnD,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,wDAAwD,CACzD,CACF,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,yGAAyG,CAC1G,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-other-export.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-export.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other export');\n\nprogram\n .description('Export other.')\n .addOption(\n new Option(\n '-i, --other-id <other-id>',\n '[Other] 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 [others] to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all [others] to separate files (*.[other].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,8BAA8B,CAAC;AAEhEI,OAAO,CACJC,WAAW,CAAC,eAAe,CAAC,CAC5BC,SAAS,CACR,IAAIL,MAAM,CACR,2BAA2B,EAC3B,kDACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,wDACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,yGACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-other-import.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other import');\n\nprogram\n .description('Import other.')\n .addOption(\n new Option(\n '-i, --other-id <other-id>',\n '[Other] id. If specified, only one [other] 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 [others] from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all [others] from separate files (*.[other].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,8BAA8B,CAAC;AAEhEI,OAAO,CACJC,WAAW,CAAC,eAAe,CAAC,CAC5BC,SAAS,CACR,IAAIL,MAAM,CACR,2BAA2B,EAC3B,+FAA+F,CAChG,CACF,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,wDAAwD,CACzD,CACF,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,2GAA2G,CAC5G,CACF,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHZ,OAAO,CAACa,KAAK,EAAE"}
1
+ {"version":3,"file":"something-other-import.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-import.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other import');\n\nprogram\n .description('Import other.')\n .addOption(\n new Option(\n '-i, --other-id <other-id>',\n '[Other] id. If specified, only one [other] 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 [others] from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all [others] from separate files (*.[other].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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,8BAA8B,CAAC;AAEhEI,OAAO,CACJC,WAAW,CAAC,eAAe,CAAC,CAC5BC,SAAS,CACR,IAAIL,MAAM,CACR,2BAA2B,EAC3B,+FACF,CACF,CAAC,CACAK,SAAS,CAAC,IAAIL,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,CAAC,CAAC,CACzEK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,wDACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,oBAAoB,EACpB,2GACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLY,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-other-list.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other list');\n\nprogram\n .description('List other.')\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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,4BAA4B,CAAC;AAE9DI,OAAO,CACJC,WAAW,CAAC,aAAa,CAAC,CAC1BC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMX,SAAS,EAAE,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHb,OAAO,CAACc,KAAK,EAAE"}
1
+ {"version":3,"file":"something-other-list.js","names":["FrodoCommand","Option","Authenticate","getTokens","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/_template/something-other-list.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate } from '@rockcarver/frodo-lib';\n\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo something other list');\n\nprogram\n .description('List other.')\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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,MAAM;EAAEC;AAAU,CAAC,GAAGD,YAAY;AAElC,MAAME,OAAO,GAAG,IAAIJ,YAAY,CAAC,4BAA4B,CAAC;AAE9DI,OAAO,CACJC,WAAW,CAAC,aAAa,CAAC,CAC1BC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHb,OAAO,CAACc,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something-other.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["cli/_template/something-other.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo something other');\n\nprogram.description('Manage other.');\n\nprogram.command('list', 'List other.');\n\nprogram.command('describe', 'Describe other.');\n\nprogram.command('export', 'Export other.');\n\nprogram.command('import', 'Import other.');\n\nprogram.command('delete', 'Delete other.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,uBAAuB,CAAC;AAE7DC,OAAO,CAACC,WAAW,CAAC,eAAe,CAAC;AAEpCD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;AAEtCF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC;AAE9CF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC;AAE1CF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC;AAE1CF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC;AAE1CF,OAAO,CAACG,KAAK,EAAE"}
1
+ {"version":3,"file":"something-other.js","names":["FrodoStubCommand","program","description","command","parse"],"sources":["cli/_template/something-other.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\n\nconst program = new FrodoStubCommand('frodo something other');\n\nprogram.description('Manage other.');\n\nprogram.command('list', 'List other.');\n\nprogram.command('describe', 'Describe other.');\n\nprogram.command('export', 'Export other.');\n\nprogram.command('import', 'Import other.');\n\nprogram.command('delete', 'Delete other.');\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,OAAO,GAAG,IAAID,gBAAgB,CAAC,uBAAuB,CAAC;AAE7DC,OAAO,CAACC,WAAW,CAAC,eAAe,CAAC;AAEpCD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;AAEtCF,OAAO,CAACE,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC;AAE9CF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC;AAE1CF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC;AAE1CF,OAAO,CAACE,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC;AAE1CF,OAAO,CAACG,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"something.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/_template/something.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\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 FrodoStubCommand('something')\n .description('Manage something.')\n .executableDir(__dirname);\n\n program.command('else', 'Manage something else.');\n\n program.command('other', 'Manage something other.');\n\n program.command('list', 'List something.');\n\n program.command('describe', 'Describe something.');\n\n program.command('export', 'Export something.');\n\n program.command('import', 'Import something.');\n\n program.command('delete', 'Delete something.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAK,GAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,WAAW,CAAC,CAC9CU,WAAW,CAAC,mBAAmB,CAAC,CAChCC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;EAEjDH,OAAO,CAACG,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;EAE1CH,OAAO,CAACG,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC;EAElDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;EAE9CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;EAE9CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;EAE9C,OAAOH,OAAO;AAChB"}
1
+ {"version":3,"file":"something.js","names":["FrodoStubCommand","path","fileURLToPath","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["cli/_template/something.ts"],"sourcesContent":["import { FrodoStubCommand } from '../FrodoCommand';\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 FrodoStubCommand('something')\n .description('Manage something.')\n .executableDir(__dirname);\n\n program.command('else', 'Manage something else.');\n\n program.command('other', 'Manage something other.');\n\n program.command('list', 'List something.');\n\n program.command('describe', 'Describe something.');\n\n program.command('export', 'Export something.');\n\n program.command('import', 'Import something.');\n\n program.command('delete', 'Delete something.');\n\n return program;\n}\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,iBAAiB;AAClD,OAAOC,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,MAAMC,SAAS,GAAGF,IAAI,CAACG,OAAO,CAACF,aAAa,CAACG,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIT,gBAAgB,CAAC,WAAW,CAAC,CAC9CU,WAAW,CAAC,mBAAmB,CAAC,CAChCC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;EAEjDH,OAAO,CAACG,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC;EAEnDH,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;EAE1CH,OAAO,CAACG,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC;EAElDH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;EAE9CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;EAE9CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC;EAE9C,OAAOH,OAAO;AAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-add-autoid-static-user-mapping.js","names":["FrodoCommand","Authenticate","Admin","printMessage","getTokens","addAutoIdStaticUserMapping","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/admin/admin-add-autoid-static-user-mapping.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Authenticate, Admin } from '@rockcarver/frodo-lib';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { addAutoIdStaticUserMapping } = Admin;\n\nconst program = new FrodoCommand('frodo admin add-autoid-static-user-mapping');\n\nprogram\n .description(\n 'Add AutoId static user mapping to enable dashboards and other AutoId-based functionality.'\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(`Adding AutoId static user mapping...`);\n await addAutoIdStaticUserMapping();\n printMessage('Done.');\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAClC,MAAM;EAAEI;AAA2B,CAAC,GAAGH,KAAK;AAE5C,MAAMI,OAAO,GAAG,IAAIN,YAAY,CAAC,4CAA4C,CAAC;AAE9EM,OAAO,CACJC,WAAW,CACV,2FAA2F,CAC5F,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMV,SAAS,EAAE,EAAE;IACrBD,YAAY,CAAE,sCAAqC,CAAC;IACpD,MAAME,0BAA0B,EAAE;IAClCF,YAAY,CAAC,OAAO,CAAC;EACvB,CAAC,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHX,OAAO,CAACY,KAAK,EAAE"}
1
+ {"version":3,"file":"admin-add-autoid-static-user-mapping.js","names":["FrodoCommand","Authenticate","Admin","printMessage","getTokens","addAutoIdStaticUserMapping","program","description","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["cli/admin/admin-add-autoid-static-user-mapping.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Authenticate, Admin } from '@rockcarver/frodo-lib';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { addAutoIdStaticUserMapping } = Admin;\n\nconst program = new FrodoCommand('frodo admin add-autoid-static-user-mapping');\n\nprogram\n .description(\n 'Add AutoId static user mapping to enable dashboards and other AutoId-based functionality.'\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(`Adding AutoId static user mapping...`);\n await addAutoIdStaticUserMapping();\n printMessage('Done.');\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAU,CAAC,GAAGH,YAAY;AAClC,MAAM;EAAEI;AAA2B,CAAC,GAAGH,KAAK;AAE5C,MAAMI,OAAO,GAAG,IAAIN,YAAY,CAAC,4CAA4C,CAAC;AAE9EM,OAAO,CACJC,WAAW,CACV,2FACF,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMV,SAAS,CAAC,CAAC,EAAE;IACrBD,YAAY,CAAE,sCAAqC,CAAC;IACpD,MAAME,0BAA0B,CAAC,CAAC;IAClCF,YAAY,CAAC,OAAO,CAAC;EACvB,CAAC,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHX,OAAO,CAACY,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-create-oauth2-client-with-admin-privileges.js","names":["FrodoCommand","Option","v4","uuidv4","Table","Authenticate","Admin","state","printMessage","getTokens","createLongLivedToken","createOAuth2ClientWithAdminPrivileges","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","clientId","clientSecret","error","process","exitCode","table","chars","top","bottom","left","mid","right","style","wordWrap","push","llt","response","scope","lltEsv","lltTtl","secret","expires_on","toString","access_token","parse"],"sources":["cli/admin/admin-create-oauth2-client-with-admin-privileges.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { v4 as uuidv4 } from 'uuid';\nimport Table from 'cli-table3';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { createLongLivedToken, createOAuth2ClientWithAdminPrivileges } = Admin;\n\nconst program = new FrodoCommand(\n 'frodo admin create-oauth2-client-with-admin-privileges'\n);\n\nprogram\n .description('Create an oauth2 client with admin privileges.')\n .addOption(new Option('--client-id [id]', 'Client id.'))\n .addOption(new Option('--client-secret [secret]', 'Client secret.'))\n .addOption(\n new Option(\n '--llt',\n 'Create a long-lived token and store it in a secret. The default secret name is esv-admin-token and the default token lifetime is 315,360,000 seconds (10 years). Both can be overwritten with the --llt-esv and --llt-ttl options.'\n )\n )\n .addOption(\n new Option(\n '--llt-scope [scope]',\n 'Request the following scope(s). This option only applies if used with the --llt option.'\n ).default('fr:idm:*', 'fr:idm:*')\n )\n .addOption(\n new Option(\n '--llt-esv [esv]',\n 'Name of the secret to store the token in. This option only applies if used with the --llt option.'\n ).default('esv-admin-token', 'esv-admin-token')\n )\n .addOption(\n new Option(\n '--no-llt-esv',\n \"Don't store the token in a secret and output to console instead. This option only applies if used with the --llt option.\"\n )\n )\n .addOption(\n new Option(\n '--llt-ttl [ttl]',\n 'Token lifetime (seconds). This option only applies if used with the --llt option.'\n ).default(315360000, '315,360,000 seconds (10 years)')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Creating oauth2 client with admin privileges in realm \"${state.getRealm()}\"...`\n );\n let clientId = uuidv4();\n let clientSecret = uuidv4();\n if (options.clientId) {\n clientId = options.clientId;\n }\n if (options.clientSecret) {\n clientSecret = options.clientSecret;\n }\n try {\n await createOAuth2ClientWithAdminPrivileges(clientId, clientSecret);\n } catch (error) {\n printMessage(error, 'error');\n process.exitCode = 1;\n }\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n wordWrap: true,\n });\n table.push(['Client ID'['brightCyan'], clientId]);\n table.push(['Client Secret'['brightCyan'], clientSecret]);\n if (options.llt) {\n try {\n const response = await createLongLivedToken(\n clientId,\n clientSecret,\n options.scope,\n options.lltEsv,\n options.lltTtl\n );\n if (options.lltEsv)\n table.push(['Secret Name'['brightCyan'], response.secret]);\n table.push(['Scope'['brightCyan'], response.scope]);\n table.push(['Expires'['brightCyan'], response.expires_on]);\n printMessage(table.toString());\n if (options.lltEsv === false) {\n printMessage(`\\nBearer token:`, 'info');\n printMessage(`${response.access_token}`, 'data');\n }\n } catch (error) {\n printMessage(error, 'error');\n process.exitCode = 1;\n }\n } else {\n printMessage(table.toString());\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
1
+ {"version":3,"file":"admin-create-oauth2-client-with-admin-privileges.js","names":["FrodoCommand","Option","v4","uuidv4","Table","Authenticate","Admin","state","printMessage","getTokens","createLongLivedToken","createOAuth2ClientWithAdminPrivileges","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","clientId","clientSecret","error","process","exitCode","table","chars","top","bottom","left","mid","right","style","wordWrap","push","llt","response","scope","lltEsv","lltTtl","secret","expires_on","toString","access_token","parse"],"sources":["cli/admin/admin-create-oauth2-client-with-admin-privileges.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { v4 as uuidv4 } from 'uuid';\nimport Table from 'cli-table3';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { createLongLivedToken, createOAuth2ClientWithAdminPrivileges } = Admin;\n\nconst program = new FrodoCommand(\n 'frodo admin create-oauth2-client-with-admin-privileges'\n);\n\nprogram\n .description('Create an oauth2 client with admin privileges.')\n .addOption(new Option('--client-id [id]', 'Client id.'))\n .addOption(new Option('--client-secret [secret]', 'Client secret.'))\n .addOption(\n new Option(\n '--llt',\n 'Create a long-lived token and store it in a secret. The default secret name is esv-admin-token and the default token lifetime is 315,360,000 seconds (10 years). Both can be overwritten with the --llt-esv and --llt-ttl options.'\n )\n )\n .addOption(\n new Option(\n '--llt-scope [scope]',\n 'Request the following scope(s). This option only applies if used with the --llt option.'\n ).default('fr:idm:*', 'fr:idm:*')\n )\n .addOption(\n new Option(\n '--llt-esv [esv]',\n 'Name of the secret to store the token in. This option only applies if used with the --llt option.'\n ).default('esv-admin-token', 'esv-admin-token')\n )\n .addOption(\n new Option(\n '--no-llt-esv',\n \"Don't store the token in a secret and output to console instead. This option only applies if used with the --llt option.\"\n )\n )\n .addOption(\n new Option(\n '--llt-ttl [ttl]',\n 'Token lifetime (seconds). This option only applies if used with the --llt option.'\n ).default(315360000, '315,360,000 seconds (10 years)')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Creating oauth2 client with admin privileges in realm \"${state.getRealm()}\"...`\n );\n let clientId = uuidv4();\n let clientSecret = uuidv4();\n if (options.clientId) {\n clientId = options.clientId;\n }\n if (options.clientSecret) {\n clientSecret = options.clientSecret;\n }\n try {\n await createOAuth2ClientWithAdminPrivileges(clientId, clientSecret);\n } catch (error) {\n printMessage(error, 'error');\n process.exitCode = 1;\n }\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n wordWrap: true,\n });\n table.push(['Client ID'['brightCyan'], clientId]);\n table.push(['Client Secret'['brightCyan'], clientSecret]);\n if (options.llt) {\n try {\n const response = await createLongLivedToken(\n clientId,\n clientSecret,\n options.scope,\n options.lltEsv,\n options.lltTtl\n );\n if (options.lltEsv)\n table.push(['Secret Name'['brightCyan'], response.secret]);\n table.push(['Scope'['brightCyan'], response.scope]);\n table.push(['Expires'['brightCyan'], response.expires_on]);\n printMessage(table.toString());\n if (options.lltEsv === false) {\n printMessage(`\\nBearer token:`, 'info');\n printMessage(`${response.access_token}`, 'data');\n }\n } catch (error) {\n printMessage(error, 'error');\n process.exitCode = 1;\n }\n } else {\n printMessage(table.toString());\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-get-access-token.js","names":["FrodoCommand","Option","Authenticate","OAuth2OIDCApi","printMessage","clientCredentialsGrant","getTokens","program","description","addOption","makeOptionMandatory","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","clientId","response","clientSecret","scope","data","access_token","process","exitCode","parse"],"sources":["cli/admin/admin-get-access-token.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, OAuth2OIDCApi } from '@rockcarver/frodo-lib';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { clientCredentialsGrant } = OAuth2OIDCApi;\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo admin get-access-token');\n\nprogram\n .description('Get an access token using client credentials grant type.')\n .addOption(new Option('--client-id [id]', 'Client id.').makeOptionMandatory())\n .addOption(\n new Option(\n '--client-secret [secret]',\n 'Client secret.'\n ).makeOptionMandatory()\n )\n .addOption(\n new Option('--scope [scope]', 'Request the following scope(s).').default(\n 'fr:idm:*',\n 'fr:idm:*'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Getting an access token using client \"${options.clientId}\"...`\n );\n const response = (\n await clientCredentialsGrant(\n options.clientId,\n options.clientSecret,\n options.scope\n )\n ).data;\n printMessage(`Token: ${response.access_token}`);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,aAAa,QAAQ,uBAAuB;AACnE,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAuB,CAAC,GAAGF,aAAa;AAChD,MAAM;EAAEG;AAAU,CAAC,GAAGJ,YAAY;AAElC,MAAMK,OAAO,GAAG,IAAIP,YAAY,CAAC,8BAA8B,CAAC;AAEhEO,OAAO,CACJC,WAAW,CAAC,0DAA0D,CAAC,CACvEC,SAAS,CAAC,IAAIR,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAACS,mBAAmB,EAAE,CAAC,CAC7ED,SAAS,CACR,IAAIR,MAAM,CACR,0BAA0B,EAC1B,gBAAgB,CACjB,CAACS,mBAAmB,EAAE,CACxB,CACAD,SAAS,CACR,IAAIR,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAACU,OAAO,CACtE,UAAU,EACV,UAAU,CACX,CACF,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMZ,SAAS,EAAE,EAAE;IACrBF,YAAY,CACT,yCAAwCa,OAAO,CAACG,QAAS,MAAK,CAChE;IACD,MAAMC,QAAQ,GAAG,CACf,MAAMhB,sBAAsB,CAC1BY,OAAO,CAACG,QAAQ,EAChBH,OAAO,CAACK,YAAY,EACpBL,OAAO,CAACM,KAAK,CACd,EACDC,IAAI;IACNpB,YAAY,CAAE,UAASiB,QAAQ,CAACI,YAAa,EAAC,CAAC;EACjD,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHpB,OAAO,CAACqB,KAAK,EAAE"}
1
+ {"version":3,"file":"admin-get-access-token.js","names":["FrodoCommand","Option","Authenticate","OAuth2OIDCApi","printMessage","clientCredentialsGrant","getTokens","program","description","addOption","makeOptionMandatory","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","clientId","response","clientSecret","scope","data","access_token","process","exitCode","parse"],"sources":["cli/admin/admin-get-access-token.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, OAuth2OIDCApi } from '@rockcarver/frodo-lib';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { clientCredentialsGrant } = OAuth2OIDCApi;\nconst { getTokens } = Authenticate;\n\nconst program = new FrodoCommand('frodo admin get-access-token');\n\nprogram\n .description('Get an access token using client credentials grant type.')\n .addOption(new Option('--client-id [id]', 'Client id.').makeOptionMandatory())\n .addOption(\n new Option(\n '--client-secret [secret]',\n 'Client secret.'\n ).makeOptionMandatory()\n )\n .addOption(\n new Option('--scope [scope]', 'Request the following scope(s).').default(\n 'fr:idm:*',\n 'fr:idm:*'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Getting an access token using client \"${options.clientId}\"...`\n );\n const response = (\n await clientCredentialsGrant(\n options.clientId,\n options.clientSecret,\n options.scope\n )\n ).data;\n printMessage(`Token: ${response.access_token}`);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,aAAa,QAAQ,uBAAuB;AACnE,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAuB,CAAC,GAAGF,aAAa;AAChD,MAAM;EAAEG;AAAU,CAAC,GAAGJ,YAAY;AAElC,MAAMK,OAAO,GAAG,IAAIP,YAAY,CAAC,8BAA8B,CAAC;AAEhEO,OAAO,CACJC,WAAW,CAAC,0DAA0D,CAAC,CACvEC,SAAS,CAAC,IAAIR,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAACS,mBAAmB,CAAC,CAAC,CAAC,CAC7ED,SAAS,CACR,IAAIR,MAAM,CACR,0BAA0B,EAC1B,gBACF,CAAC,CAACS,mBAAmB,CAAC,CACxB,CAAC,CACAD,SAAS,CACR,IAAIR,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC,CAACU,OAAO,CACtE,UAAU,EACV,UACF,CACF,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,YAAY,CACT,yCAAwCa,OAAO,CAACG,QAAS,MAC5D,CAAC;IACD,MAAMC,QAAQ,GAAG,CACf,MAAMhB,sBAAsB,CAC1BY,OAAO,CAACG,QAAQ,EAChBH,OAAO,CAACK,YAAY,EACpBL,OAAO,CAACM,KACV,CAAC,EACDC,IAAI;IACNpB,YAAY,CAAE,UAASiB,QAAQ,CAACI,YAAa,EAAC,CAAC;EACjD,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHpB,OAAO,CAACqB,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-grant-oauth2-client-admin-privileges.js","names":["FrodoCommand","Option","Authenticate","Admin","state","printMessage","getTokens","grantOAuth2ClientAdminPrivileges","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","target","getRealm","process","exitCode","parse"],"sources":["cli/admin/admin-grant-oauth2-client-admin-privileges.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { grantOAuth2ClientAdminPrivileges } = Admin;\n\nconst program = new FrodoCommand(\n 'frodo admin grant-oauth2-client-admin-privileges'\n);\n\nprogram\n .description('Grant an oauth2 client admin privileges.')\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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Granting oauth2 client \"${\n options.target\n }\" in realm \"${state.getRealm()}\" admin privileges...`\n );\n await grantOAuth2ClientAdminPrivileges(options.target);\n printMessage('Done.');\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AAClE,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAU,CAAC,GAAGJ,YAAY;AAClC,MAAM;EAAEK;AAAiC,CAAC,GAAGJ,KAAK;AAElD,MAAMK,OAAO,GAAG,IAAIR,YAAY,CAC9B,kDAAkD,CACnD;AAEDQ,OAAO,CACJC,WAAW,CAAC,0CAA0C,CAAC,CACvDC,SAAS,CACR,IAAIT,MAAM,CAAC,kCAAkC,EAAE,4BAA4B,CAAC,CAC7E,CACAU,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OAAO,CACR;EACD,IAAI,MAAMX,SAAS,EAAE,EAAE;IACrBD,YAAY,CACT,2BACCW,OAAO,CAACG,MACT,eAAcf,KAAK,CAACgB,QAAQ,EAAG,uBAAsB,CACvD;IACD,MAAMb,gCAAgC,CAACS,OAAO,CAACG,MAAM,CAAC;IACtDd,YAAY,CAAC,OAAO,CAAC;EACvB,CAAC,MAAM;IACLgB,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AAAA,CACD;;AAEHd,OAAO,CAACe,KAAK,EAAE"}
1
+ {"version":3,"file":"admin-grant-oauth2-client-admin-privileges.js","names":["FrodoCommand","Option","Authenticate","Admin","state","printMessage","getTokens","grantOAuth2ClientAdminPrivileges","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","target","getRealm","process","exitCode","parse"],"sources":["cli/admin/admin-grant-oauth2-client-admin-privileges.ts"],"sourcesContent":["import { FrodoCommand } from '../FrodoCommand';\nimport { Option } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { grantOAuth2ClientAdminPrivileges } = Admin;\n\nconst program = new FrodoCommand(\n 'frodo admin grant-oauth2-client-admin-privileges'\n);\n\nprogram\n .description('Grant an oauth2 client admin privileges.')\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, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n printMessage(\n `Granting oauth2 client \"${\n options.target\n }\" in realm \"${state.getRealm()}\" admin privileges...`\n );\n await grantOAuth2ClientAdminPrivileges(options.target);\n printMessage('Done.');\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,YAAY,EAAEC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AAClE,SAASC,YAAY,QAAQ,wBAAwB;AAErD,MAAM;EAAEC;AAAU,CAAC,GAAGJ,YAAY;AAClC,MAAM;EAAEK;AAAiC,CAAC,GAAGJ,KAAK;AAElD,MAAMK,OAAO,GAAG,IAAIR,YAAY,CAC9B,kDACF,CAAC;AAEDQ,OAAO,CACJC,WAAW,CAAC,0CAA0C,CAAC,CACvDC,SAAS,CACR,IAAIT,MAAM,CAAC,kCAAkC,EAAE,4BAA4B,CAC7E,CAAC,CACAU,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrBD,YAAY,CACT,2BACCW,OAAO,CAACG,MACT,eAAcf,KAAK,CAACgB,QAAQ,CAAC,CAAE,uBAClC,CAAC;IACD,MAAMb,gCAAgC,CAACS,OAAO,CAACG,MAAM,CAAC;IACtDd,YAAY,CAAC,OAAO,CAAC;EACvB,CAAC,MAAM;IACLgB,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}