@rockcarver/frodo-cli 0.10.4 → 0.11.1-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 (247) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +3 -3
  3. package/package.json +17 -15
  4. package/src/app.js +7 -6
  5. package/src/cli/_template/cmd-delete.js +9 -8
  6. package/src/cli/_template/cmd-describe.js +9 -8
  7. package/src/cli/_template/cmd-export.js +9 -8
  8. package/src/cli/_template/cmd-import.js +9 -8
  9. package/src/cli/_template/cmd-list.js +9 -8
  10. package/src/cli/_template/cmd-sub1-delete.js +9 -8
  11. package/src/cli/_template/cmd-sub1-describe.js +9 -8
  12. package/src/cli/_template/cmd-sub1-export.js +9 -8
  13. package/src/cli/_template/cmd-sub1-import.js +9 -8
  14. package/src/cli/_template/cmd-sub1-list.js +9 -8
  15. package/src/cli/_template/cmd-sub2-delete.js +9 -8
  16. package/src/cli/_template/cmd-sub2-describe.js +9 -8
  17. package/src/cli/_template/cmd-sub2-export.js +9 -8
  18. package/src/cli/_template/cmd-sub2-import.js +9 -8
  19. package/src/cli/_template/cmd-sub2-list.js +9 -8
  20. package/src/cli/admin/admin-add-autoid-static-user-mapping.js +12 -12
  21. package/src/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +15 -18
  22. package/src/cli/admin/admin-get-access-token.js +12 -12
  23. package/src/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -13
  24. package/src/cli/admin/admin-hide-generic-extension-attributes.js +13 -13
  25. package/src/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +13 -13
  26. package/src/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +14 -13
  27. package/src/cli/admin/admin-list-static-user-mappings.js +12 -12
  28. package/src/cli/admin/admin-remove-static-user-mapping.js +12 -12
  29. package/src/cli/admin/admin-repair-org-model.js +13 -13
  30. package/src/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +13 -13
  31. package/src/cli/admin/admin-show-generic-extension-attributes.js +13 -13
  32. package/src/cli/app/app-delete.js +9 -8
  33. package/src/cli/app/app-describe.js +9 -8
  34. package/src/cli/app/app-export.js +15 -15
  35. package/src/cli/app/app-import.js +11 -11
  36. package/src/cli/app/app-list.js +11 -12
  37. package/src/cli/conn/conn-add.js +11 -11
  38. package/src/cli/conn/conn-delete.js +3 -1
  39. package/src/cli/conn/conn-describe.js +3 -1
  40. package/src/cli/conn/conn-list.js +3 -4
  41. package/src/cli/email/email-template-export.js +16 -16
  42. package/src/cli/email/email-template-import.js +16 -16
  43. package/src/cli/email/email-template-list.js +11 -11
  44. package/src/cli/esv/esv-apply.js +12 -12
  45. package/src/cli/esv/esv-secret-create.js +11 -11
  46. package/src/cli/esv/esv-secret-delete.js +13 -13
  47. package/src/cli/esv/esv-secret-describe.js +11 -11
  48. package/src/cli/esv/esv-secret-export.js +9 -8
  49. package/src/cli/esv/esv-secret-import.js +9 -8
  50. package/src/cli/esv/esv-secret-list.js +11 -11
  51. package/src/cli/esv/esv-secret-set.js +11 -11
  52. package/src/cli/esv/esv-secret-version-activate.js +12 -12
  53. package/src/cli/esv/esv-secret-version-create.js +11 -11
  54. package/src/cli/esv/esv-secret-version-deactivate.js +12 -12
  55. package/src/cli/esv/esv-secret-version-delete.js +13 -13
  56. package/src/cli/esv/esv-secret-version-list.js +11 -11
  57. package/src/cli/esv/esv-variable-create.js +11 -11
  58. package/src/cli/esv/esv-variable-delete.js +13 -16
  59. package/src/cli/esv/esv-variable-describe.js +11 -11
  60. package/src/cli/esv/esv-variable-export.js +9 -8
  61. package/src/cli/esv/esv-variable-import.js +9 -8
  62. package/src/cli/esv/esv-variable-list.js +11 -11
  63. package/src/cli/esv/esv-variable-set.js +13 -16
  64. package/src/cli/idm/idm-count.js +11 -11
  65. package/src/cli/idm/idm-export.js +16 -16
  66. package/src/cli/idm/idm-list.js +11 -11
  67. package/src/cli/idp/idp-export.js +15 -19
  68. package/src/cli/idp/idp-import.js +18 -18
  69. package/src/cli/idp/idp-list.js +12 -12
  70. package/src/cli/info/info.js +23 -19
  71. package/src/cli/journey/journey-delete.js +14 -14
  72. package/src/cli/journey/journey-describe.js +26 -35
  73. package/src/cli/journey/journey-export.js +18 -21
  74. package/src/cli/journey/journey-import.js +17 -17
  75. package/src/cli/journey/journey-list.js +12 -12
  76. package/src/cli/journey/journey-prune.js +12 -12
  77. package/src/cli/logging/logs-list.js +33 -28
  78. package/src/cli/logging/logs-tail.js +26 -22
  79. package/src/cli/realm/realm-add-custom-domain.js +13 -13
  80. package/src/cli/realm/realm-describe.js +14 -14
  81. package/src/cli/realm/realm-list.js +11 -11
  82. package/src/cli/realm/realm-remove-custom-domain.js +16 -13
  83. package/src/cli/saml/saml-cot-export.js +16 -16
  84. package/src/cli/saml/saml-cot-import.js +18 -18
  85. package/src/cli/saml/saml-cot-list.js +12 -12
  86. package/src/cli/saml/saml-describe.js +12 -12
  87. package/src/cli/saml/saml-export.js +16 -19
  88. package/src/cli/saml/saml-import.js +19 -18
  89. package/src/cli/saml/saml-list.js +12 -12
  90. package/src/cli/saml/saml-metadata-export.js +15 -19
  91. package/src/cli/script/script-delete.js +9 -8
  92. package/src/cli/script/script-describe.js +9 -8
  93. package/src/cli/script/script-export.js +18 -20
  94. package/src/cli/script/script-import.js +13 -12
  95. package/src/cli/script/script-list.js +12 -12
  96. package/src/cli/theme/theme-delete.js +17 -21
  97. package/src/cli/theme/theme-export.js +19 -18
  98. package/src/cli/theme/theme-import.js +21 -20
  99. package/src/cli/theme/theme-list.js +12 -12
  100. package/.eslintrc +0 -29
  101. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  102. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  103. package/.github/README.md +0 -273
  104. package/.github/workflows/pipeline.yml +0 -487
  105. package/.prettierrc +0 -6
  106. package/CODE_OF_CONDUCT.md +0 -128
  107. package/docs/BINARIES.md +0 -22
  108. package/docs/CONTRIBUTE.md +0 -96
  109. package/docs/PIPELINE.md +0 -169
  110. package/docs/images/macos_warn1.png +0 -0
  111. package/docs/images/macos_warn2.png +0 -0
  112. package/docs/images/macos_warn3.png +0 -0
  113. package/docs/images/npm_versioning_guidelines.png +0 -0
  114. package/docs/images/release_pipeline.png +0 -0
  115. package/gulpfile.js +0 -49
  116. package/jsconfig.json +0 -6
  117. package/resources/sampleEntitiesFile.json +0 -8
  118. package/resources/sampleEnvFile.env +0 -2
  119. package/src/api/AuthenticateApi.js +0 -33
  120. package/src/api/BaseApi.js +0 -242
  121. package/src/api/CirclesOfTrustApi.js +0 -87
  122. package/src/api/EmailTemplateApi.js +0 -37
  123. package/src/api/IdmConfigApi.js +0 -88
  124. package/src/api/LogApi.js +0 -45
  125. package/src/api/ManagedObjectApi.js +0 -62
  126. package/src/api/OAuth2ClientApi.js +0 -69
  127. package/src/api/OAuth2OIDCApi.js +0 -73
  128. package/src/api/OAuth2ProviderApi.js +0 -32
  129. package/src/api/RealmApi.js +0 -99
  130. package/src/api/Saml2Api.js +0 -176
  131. package/src/api/ScriptApi.js +0 -84
  132. package/src/api/SecretsApi.js +0 -151
  133. package/src/api/ServerInfoApi.js +0 -41
  134. package/src/api/SocialIdentityProvidersApi.js +0 -114
  135. package/src/api/StartupApi.js +0 -45
  136. package/src/api/ThemeApi.js +0 -181
  137. package/src/api/TreeApi.js +0 -207
  138. package/src/api/VariablesApi.js +0 -104
  139. package/src/api/utils/ApiUtils.js +0 -77
  140. package/src/api/utils/Base64.js +0 -62
  141. package/src/cli/journey/journey-delete.e2e.test.js +0 -380
  142. package/src/cli/journey/journey-list.e2e.test.js +0 -141
  143. package/src/cli/theme/theme-delete.e2e.test.js +0 -178
  144. package/src/cli/theme/theme-list.e2e.test.js +0 -119
  145. package/src/ops/AdminOps.js +0 -901
  146. package/src/ops/AuthenticateOps.js +0 -342
  147. package/src/ops/CirclesOfTrustOps.js +0 -350
  148. package/src/ops/ConnectionProfileOps.js +0 -254
  149. package/src/ops/EmailTemplateOps.js +0 -326
  150. package/src/ops/IdmOps.js +0 -227
  151. package/src/ops/IdpOps.js +0 -342
  152. package/src/ops/JourneyOps.js +0 -2026
  153. package/src/ops/LogOps.js +0 -357
  154. package/src/ops/ManagedObjectOps.js +0 -34
  155. package/src/ops/OAuth2ClientOps.js +0 -151
  156. package/src/ops/OrganizationOps.js +0 -85
  157. package/src/ops/RealmOps.js +0 -139
  158. package/src/ops/SamlOps.js +0 -541
  159. package/src/ops/ScriptOps.js +0 -211
  160. package/src/ops/SecretsOps.js +0 -288
  161. package/src/ops/StartupOps.js +0 -114
  162. package/src/ops/ThemeOps.js +0 -379
  163. package/src/ops/VariablesOps.js +0 -185
  164. package/src/ops/templates/OAuth2ClientTemplate.json +0 -270
  165. package/src/ops/templates/OrgModelUserAttributesTemplate.json +0 -149
  166. package/src/ops/templates/cloud/GenericExtensionAttributesTemplate.json +0 -392
  167. package/src/ops/templates/cloud/managed.json +0 -4119
  168. package/src/ops/utils/Console.js +0 -434
  169. package/src/ops/utils/DataProtection.js +0 -92
  170. package/src/ops/utils/ExportImportUtils.js +0 -146
  171. package/src/ops/utils/OpsUtils.js +0 -76
  172. package/src/ops/utils/Wordwrap.js +0 -11
  173. package/src/storage/SessionStorage.js +0 -45
  174. package/test/client_cli/en/connections.test.js +0 -62
  175. package/test/client_cli/en/connections_add.test.js +0 -34
  176. package/test/client_cli/en/connections_delete.test.js +0 -34
  177. package/test/client_cli/en/connections_list.test.js +0 -34
  178. package/test/client_cli/en/email_templates.test.js +0 -77
  179. package/test/client_cli/en/email_templates_export.test.js +0 -196
  180. package/test/client_cli/en/email_templates_import.test.js +0 -145
  181. package/test/client_cli/en/email_templates_list.test.js +0 -130
  182. package/test/client_cli/en/idm.test.js +0 -111
  183. package/test/client_cli/en/idm_count.test.js +0 -121
  184. package/test/client_cli/en/idm_export.test.js +0 -136
  185. package/test/client_cli/en/idm_exportAll.test.js +0 -156
  186. package/test/client_cli/en/idm_exportAllRaw.test.js +0 -120
  187. package/test/client_cli/en/idm_import.test_.js +0 -103
  188. package/test/client_cli/en/idm_importAll.test_.js +0 -103
  189. package/test/client_cli/en/idm_list.test.js +0 -103
  190. package/test/client_cli/en/info.test.js +0 -125
  191. package/test/client_cli/en/journey.test.js +0 -127
  192. package/test/client_cli/en/journey_describe.test.js +0 -196
  193. package/test/client_cli/en/journey_export.test.js +0 -213
  194. package/test/client_cli/en/journey_import.test.js +0 -195
  195. package/test/client_cli/en/journey_importAll.test.js +0 -180
  196. package/test/client_cli/en/journey_list.test.js +0 -162
  197. package/test/client_cli/en/journey_prune.test.js +0 -148
  198. package/test/client_cli/en/logs.test.js +0 -79
  199. package/test/client_cli/en/logs_list.test.js +0 -83
  200. package/test/client_cli/en/logs_tail.test.js +0 -118
  201. package/test/client_cli/en/root.test.js +0 -91
  202. package/test/client_cli/en/script.test.js +0 -77
  203. package/test/client_cli/en/script_export.test.js +0 -213
  204. package/test/client_cli/en/script_import.test.js +0 -163
  205. package/test/client_cli/en/script_list.test.js +0 -148
  206. package/test/client_cli/utils/utils.js +0 -32
  207. package/test/e2e/journey/baseline/ForgottenUsername.journey.json +0 -216
  208. package/test/e2e/journey/baseline/Login.journey.json +0 -205
  209. package/test/e2e/journey/baseline/PasswordGrant.journey.json +0 -139
  210. package/test/e2e/journey/baseline/ProgressiveProfile.journey.json +0 -198
  211. package/test/e2e/journey/baseline/Registration.journey.json +0 -249
  212. package/test/e2e/journey/baseline/ResetPassword.journey.json +0 -268
  213. package/test/e2e/journey/baseline/UpdatePassword.journey.json +0 -323
  214. package/test/e2e/journey/baseline/allAlphaJourneys.journeys.json +0 -1520
  215. package/test/e2e/journey/delete/ForgottenUsername.journey.json +0 -216
  216. package/test/e2e/journey/delete/Login.journey.json +0 -205
  217. package/test/e2e/journey/delete/PasswordGrant.journey.json +0 -139
  218. package/test/e2e/journey/delete/ProgressiveProfile.journey.json +0 -198
  219. package/test/e2e/journey/delete/Registration.journey.json +0 -249
  220. package/test/e2e/journey/delete/ResetPassword.journey.json +0 -268
  221. package/test/e2e/journey/delete/UpdatePassword.journey.json +0 -323
  222. package/test/e2e/journey/delete/deleteMe.journey.json +0 -230
  223. package/test/e2e/journey/list/Disabled.journey.json +0 -43
  224. package/test/e2e/journey/list/ForgottenUsername.journey.json +0 -216
  225. package/test/e2e/journey/list/Login.journey.json +0 -205
  226. package/test/e2e/journey/list/PasswordGrant.journey.json +0 -139
  227. package/test/e2e/journey/list/ProgressiveProfile.journey.json +0 -198
  228. package/test/e2e/journey/list/Registration.journey.json +0 -249
  229. package/test/e2e/journey/list/ResetPassword.journey.json +0 -268
  230. package/test/e2e/journey/list/UpdatePassword.journey.json +0 -323
  231. package/test/e2e/setup.js +0 -98
  232. package/test/e2e/theme/baseline/Contrast.theme.json +0 -95
  233. package/test/e2e/theme/baseline/Highlander.theme.json +0 -95
  234. package/test/e2e/theme/baseline/Robroy.theme.json +0 -95
  235. package/test/e2e/theme/baseline/Starter-Theme.theme.json +0 -94
  236. package/test/e2e/theme/baseline/Zardoz.theme.json +0 -95
  237. package/test/e2e/theme/import/Contrast.theme.json +0 -95
  238. package/test/e2e/theme/import/Highlander.theme.json +0 -95
  239. package/test/e2e/theme/import/Robroy.theme.json +0 -95
  240. package/test/e2e/theme/import/Starter-Theme.theme.json +0 -94
  241. package/test/e2e/theme/import/Zardoz.default.theme.json +0 -95
  242. package/test/fs_tmp/.gitkeep +0 -2
  243. package/test/global/setup.js +0 -65
  244. package/test/lib_api/unit_tests/ApiUtils.test.js +0 -186
  245. package/test/lib_api/unit_tests/Base64URL.test.js +0 -22
  246. package/test/lib_api/unit_tests/DataProtection.test.js +0 -25
  247. package/test/lib_api/unit_tests/ExportImportUtils.test.js +0 -121
@@ -1,16 +1,16 @@
1
1
  import { Command, Option } from 'commander';
2
+ import { Authenticate, Journey, state } from '@rockcarver/frodo-lib';
2
3
  import * as common from '../cmd_common.js';
3
- import { getTokens } from '../../ops/AuthenticateOps.js';
4
- import {
4
+
5
+ const { getTokens } = Authenticate;
6
+ const {
5
7
  importJourneyFromFile,
6
8
  importJourneysFromFile,
7
9
  importJourneysFromFiles,
8
10
  importFirstJourneyFromFile,
9
- } from '../../ops/JourneyOps.js';
10
- import storage from '../../storage/SessionStorage.js';
11
- import { printMessage } from '../../ops/utils/Console.js';
11
+ } = Journey;
12
12
 
13
- const program = new Command('frodo command sub');
13
+ const program = new Command('frodo journey import');
14
14
 
15
15
  program
16
16
  .description('Import journey/tree.')
@@ -67,16 +67,16 @@ program
67
67
  .action(
68
68
  // implement command logic inside action handler
69
69
  async (host, realm, user, password, options) => {
70
- storage.session.setTenant(host);
71
- storage.session.setRealm(realm);
72
- storage.session.setUsername(user);
73
- storage.session.setPassword(password);
74
- storage.session.setDeploymentType(options.type);
75
- storage.session.setAllowInsecureConnection(options.insecure);
70
+ state.default.session.setTenant(host);
71
+ state.default.session.setRealm(realm);
72
+ state.default.session.setUsername(user);
73
+ state.default.session.setPassword(password);
74
+ state.default.session.setDeploymentType(options.type);
75
+ state.default.session.setAllowInsecureConnection(options.insecure);
76
76
  if (await getTokens()) {
77
77
  // import
78
78
  if (options.journeyId) {
79
- printMessage(`Importing journey ${options.journeyId}...`);
79
+ console.log(`Importing journey ${options.journeyId}...`);
80
80
  importJourneyFromFile(options.journeyId, options.file, {
81
81
  reUuid: options.reUuid,
82
82
  deps: options.deps,
@@ -85,7 +85,7 @@ program
85
85
  }
86
86
  // --all -a
87
87
  else if (options.all && options.file) {
88
- printMessage(
88
+ console.log(
89
89
  `Importing all journeys from a single file (${options.file})...`
90
90
  );
91
91
  importJourneysFromFile(options.file, {
@@ -96,7 +96,7 @@ program
96
96
  }
97
97
  // --all-separate -A
98
98
  else if (options.allSeparate && !options.file) {
99
- printMessage(
99
+ console.log(
100
100
  'Importing all journeys from separate files in current directory...'
101
101
  );
102
102
  importJourneysFromFiles({
@@ -107,7 +107,7 @@ program
107
107
  }
108
108
  // import first journey in file
109
109
  else if (options.file) {
110
- printMessage('Importing first journey in file...');
110
+ console.log('Importing first journey in file...');
111
111
  importFirstJourneyFromFile(options.file, {
112
112
  reUuid: options.reUuid,
113
113
  deps: options.deps,
@@ -116,7 +116,7 @@ program
116
116
  }
117
117
  // unrecognized combination of options or no options
118
118
  else {
119
- printMessage('Unrecognized combination of options or no options...');
119
+ console.log('Unrecognized combination of options or no options...');
120
120
  program.help();
121
121
  }
122
122
  }
@@ -1,9 +1,9 @@
1
1
  import { Command, Option } from 'commander';
2
+ import { Authenticate, Journey, state } from '@rockcarver/frodo-lib';
2
3
  import * as common from '../cmd_common.js';
3
- import { getTokens } from '../../ops/AuthenticateOps.js';
4
- import { listJourneys } from '../../ops/JourneyOps.js';
5
- import storage from '../../storage/SessionStorage.js';
6
- import { printMessage } from '../../ops/utils/Console.js';
4
+
5
+ const { getTokens } = Authenticate;
6
+ const { listJourneys } = Journey;
7
7
 
8
8
  const program = new Command('frodo journey list');
9
9
 
@@ -24,15 +24,15 @@ program
24
24
  .action(
25
25
  // implement command logic inside action handler
26
26
  async (host, realm, user, password, options) => {
27
- storage.session.setTenant(host);
28
- storage.session.setRealm(realm);
29
- storage.session.setUsername(user);
30
- storage.session.setPassword(password);
31
- storage.session.setDeploymentType(options.type);
32
- storage.session.setAllowInsecureConnection(options.insecure);
27
+ state.default.session.setTenant(host);
28
+ state.default.session.setRealm(realm);
29
+ state.default.session.setUsername(user);
30
+ state.default.session.setPassword(password);
31
+ state.default.session.setDeploymentType(options.type);
32
+ state.default.session.setAllowInsecureConnection(options.insecure);
33
33
  if (await getTokens()) {
34
- printMessage(
35
- `Listing journeys in realm "${storage.session.getRealm()}"...`
34
+ console.log(
35
+ `Listing journeys in realm "${state.default.session.getRealm()}"...`
36
36
  );
37
37
  listJourneys(options.long, options.analyze);
38
38
  }
@@ -1,9 +1,9 @@
1
1
  import { Command } from 'commander';
2
+ import { Authenticate, Journey, state } from '@rockcarver/frodo-lib';
2
3
  import * as common from '../cmd_common.js';
3
- import { getTokens } from '../../ops/AuthenticateOps.js';
4
- import { prune } from '../../ops/JourneyOps.js';
5
- import storage from '../../storage/SessionStorage.js';
6
- import { printMessage } from '../../ops/utils/Console.js';
4
+
5
+ const { getTokens } = Authenticate;
6
+ const { prune } = Journey;
7
7
 
8
8
  const program = new Command('frodo journey prune');
9
9
 
@@ -22,15 +22,15 @@ program
22
22
  .action(
23
23
  // implement command logic inside action handler
24
24
  async (host, realm, user, password, options) => {
25
- storage.session.setTenant(host);
26
- storage.session.setRealm(realm);
27
- storage.session.setUsername(user);
28
- storage.session.setPassword(password);
29
- storage.session.setDeploymentType(options.type);
30
- storage.session.setAllowInsecureConnection(options.insecure);
25
+ state.default.session.setTenant(host);
26
+ state.default.session.setRealm(realm);
27
+ state.default.session.setUsername(user);
28
+ state.default.session.setPassword(password);
29
+ state.default.session.setDeploymentType(options.type);
30
+ state.default.session.setAllowInsecureConnection(options.insecure);
31
31
  if (await getTokens()) {
32
- printMessage(
33
- `Pruning orphaned configuration artifacts in realm "${storage.session.getRealm()}"...`
32
+ console.log(
33
+ `Pruning orphaned configuration artifacts in realm "${state.default.session.getRealm()}"...`
34
34
  );
35
35
  prune();
36
36
  }
@@ -1,13 +1,15 @@
1
- import { Command } from 'commander';
2
1
  import {
3
- getConnectionProfile,
4
- saveConnectionProfile,
5
- } from '../../ops/ConnectionProfileOps.js';
6
- import { getTokens } from '../../ops/AuthenticateOps.js';
2
+ Authenticate,
3
+ ConnectionProfile,
4
+ Log,
5
+ state,
6
+ } from '@rockcarver/frodo-lib';
7
+ import { Command } from 'commander';
7
8
  import * as common from '../cmd_common.js';
8
- import { provisionCreds, getLogSources } from '../../ops/LogOps.js';
9
- import storage from '../../storage/SessionStorage.js';
10
- import { printMessage } from '../../ops/utils/Console.js';
9
+
10
+ const { provisionCreds, getLogSources } = Log;
11
+ const { getConnectionProfile, saveConnectionProfile } = ConnectionProfile;
12
+ const { getTokens } = Authenticate;
11
13
 
12
14
  const program = new Command('frodo journey list');
13
15
  program
@@ -19,53 +21,56 @@ program
19
21
  .addOption(common.insecureOption)
20
22
  .action(async (host, user, password, options) => {
21
23
  let credsFromParameters = true;
22
- storage.session.setTenant(host);
23
- storage.session.setUsername(user);
24
- storage.session.setPassword(password);
25
- storage.session.setAllowInsecureConnection(options.insecure);
26
- printMessage('Listing available ID Cloud log sources...');
24
+ state.default.session.setTenant(host);
25
+ state.default.session.setUsername(user);
26
+ state.default.session.setPassword(password);
27
+ state.default.session.setAllowInsecureConnection(options.insecure);
28
+ console.log('Listing available ID Cloud log sources...');
27
29
  const conn = await getConnectionProfile();
28
- storage.session.setTenant(conn.tenant);
30
+ state.default.session.setTenant(conn.tenant);
29
31
  if (conn.key != null && conn.secret != null) {
30
32
  credsFromParameters = false;
31
- storage.session.setLogApiKey(conn.key);
32
- storage.session.setLogApiSecret(conn.secret);
33
+ state.default.session.setLogApiKey(conn.key);
34
+ state.default.session.setLogApiSecret(conn.secret);
33
35
  } else {
34
36
  if (conn.username == null && conn.password == null) {
35
- if (!storage.session.getUsername() && !storage.session.getPassword()) {
37
+ if (
38
+ !state.default.session.getUsername() &&
39
+ !state.default.session.getPassword()
40
+ ) {
36
41
  credsFromParameters = false;
37
- printMessage(
42
+ console.log(
38
43
  'User credentials not specified as parameters and no saved API key and secret found!',
39
44
  'warn'
40
45
  );
41
46
  return;
42
47
  }
43
48
  } else {
44
- storage.session.setUsername(conn.username);
45
- storage.session.setPassword(conn.password);
49
+ state.default.session.setUsername(conn.username);
50
+ state.default.session.setPassword(conn.password);
46
51
  }
47
52
  if (await getTokens()) {
48
53
  const creds = await provisionCreds();
49
- storage.session.setLogApiKey(creds.api_key_id);
50
- storage.session.setLogApiSecret(creds.api_key_secret);
54
+ state.default.session.setLogApiKey(creds.api_key_id);
55
+ state.default.session.setLogApiSecret(creds.api_key_secret);
51
56
  }
52
57
  }
53
58
 
54
59
  const sources = await getLogSources();
55
60
  if (sources.length === 0) {
56
- printMessage(
61
+ console.log(
57
62
  "Can't get sources, possible cause - wrong API key or secret",
58
63
  'error'
59
64
  );
60
65
  } else {
61
66
  if (credsFromParameters) await saveConnectionProfile(); // save new values if they were specified on CLI
62
- printMessage('Available log sources:');
67
+ console.log('Available log sources:');
63
68
  sources.forEach((source) => {
64
- printMessage(`${source}`, 'info');
69
+ console.log(`${source}`, 'info');
65
70
  });
66
- printMessage('You can use any combination of comma separated sources.');
67
- printMessage('For example:');
68
- printMessage(`$ frodo logs tail -c am-core,idm-core ${host}`, 'info');
71
+ console.log('You can use any combination of comma separated sources.');
72
+ console.log('For example:');
73
+ console.log(`$ frodo logs tail -c am-core,idm-core ${host}`, 'info');
69
74
  }
70
75
  });
71
76
 
@@ -1,14 +1,15 @@
1
1
  import { Command, Option } from 'commander';
2
2
  import {
3
- getConnectionProfile,
4
- saveConnectionProfile,
5
- } from '../../ops/ConnectionProfileOps.js';
6
- import { getTokens } from '../../ops/AuthenticateOps.js';
3
+ Authenticate,
4
+ ConnectionProfile,
5
+ Log,
6
+ state,
7
+ } from '@rockcarver/frodo-lib';
7
8
  import * as common from '../cmd_common.js';
8
- // import { createAPIKeyAndSecret, tailLogs } from '../../api/LogApi.js';
9
- import { provisionCreds, tailLogs, resolveLevel } from '../../ops/LogOps.js';
10
- import storage from '../../storage/SessionStorage.js';
11
- import { printMessage } from '../../ops/utils/Console.js';
9
+
10
+ const { provisionCreds, tailLogs, resolveLevel } = Log;
11
+ const { getConnectionProfile, saveConnectionProfile } = ConnectionProfile;
12
+ const { getTokens } = Authenticate;
12
13
 
13
14
  const program = new Command('frodo journey tail');
14
15
  program
@@ -34,37 +35,40 @@ Following values are possible (values on the same line are equivalent): \
34
35
  )
35
36
  .action(async (host, user, password, options, command) => {
36
37
  let credsFromParameters = true;
37
- storage.session.setTenant(host);
38
- storage.session.setUsername(user);
39
- storage.session.setPassword(password);
40
- storage.session.setAllowInsecureConnection(options.insecure);
38
+ state.default.session.setTenant(host);
39
+ state.default.session.setUsername(user);
40
+ state.default.session.setPassword(password);
41
+ state.default.session.setAllowInsecureConnection(options.insecure);
41
42
  const conn = await getConnectionProfile();
42
- storage.session.setTenant(conn.tenant);
43
+ state.default.session.setTenant(conn.tenant);
43
44
  if (conn.key != null && conn.secret != null) {
44
45
  credsFromParameters = false;
45
- storage.session.setLogApiKey(conn.key);
46
- storage.session.setLogApiSecret(conn.secret);
46
+ state.default.session.setLogApiKey(conn.key);
47
+ state.default.session.setLogApiSecret(conn.secret);
47
48
  } else {
48
49
  if (conn.username == null && conn.password == null) {
49
- if (!storage.session.getUsername() && !storage.session.getPassword()) {
50
+ if (
51
+ !state.default.session.getUsername() &&
52
+ !state.default.session.getPassword()
53
+ ) {
50
54
  credsFromParameters = false;
51
- printMessage(
55
+ console.log(
52
56
  'User credentials not specified as parameters and no saved API key and secret found!',
53
57
  'warn'
54
58
  );
55
59
  return;
56
60
  }
57
61
  } else {
58
- storage.session.setUsername(conn.username);
59
- storage.session.setPassword(conn.password);
62
+ state.default.session.setUsername(conn.username);
63
+ state.default.session.setPassword(conn.password);
60
64
  }
61
65
  if (await getTokens()) {
62
66
  const creds = await provisionCreds();
63
- storage.session.setLogApiKey(creds.api_key_id);
64
- storage.session.setLogApiSecret(creds.api_key_secret);
67
+ state.default.session.setLogApiKey(creds.api_key_id);
68
+ state.default.session.setLogApiSecret(creds.api_key_secret);
65
69
  }
66
70
  }
67
- printMessage(
71
+ console.log(
68
72
  `Tailing ID Cloud logs from the following sources: ${
69
73
  command.opts().sources
70
74
  } and levels [${resolveLevel(command.opts().level)}]...`
@@ -1,9 +1,9 @@
1
1
  import { Command, Option } from 'commander';
2
+ import { Authenticate, Realm, state } from '@rockcarver/frodo-lib';
2
3
  import * as common from '../cmd_common.js';
3
- import { getTokens } from '../../ops/AuthenticateOps.js';
4
- import storage from '../../storage/SessionStorage.js';
5
- import { createKeyValueTable, printMessage } from '../../ops/utils/Console.js';
6
- import { addCustomDomain } from '../../ops/RealmOps.js';
4
+
5
+ const { getTokens } = Authenticate;
6
+ const { addCustomDomain } = Realm;
7
7
 
8
8
  const program = new Command('frodo realm add-custom-domain');
9
9
 
@@ -26,19 +26,19 @@ program
26
26
  .action(
27
27
  // implement command logic inside action handler
28
28
  async (host, realm, user, password, options) => {
29
- storage.session.setTenant(host);
30
- storage.session.setRealm(realm);
31
- storage.session.setUsername(user);
32
- storage.session.setPassword(password);
33
- storage.session.setDeploymentType(options.type);
34
- storage.session.setAllowInsecureConnection(options.insecure);
29
+ state.default.session.setTenant(host);
30
+ state.default.session.setRealm(realm);
31
+ state.default.session.setUsername(user);
32
+ state.default.session.setPassword(password);
33
+ state.default.session.setDeploymentType(options.type);
34
+ state.default.session.setAllowInsecureConnection(options.insecure);
35
35
  if (await getTokens()) {
36
- printMessage(
36
+ console.log(
37
37
  `Adding custom DNS domain ${
38
38
  options.domain
39
- } to realm ${storage.session.getRealm()}...`
39
+ } to realm ${state.default.session.getRealm()}...`
40
40
  );
41
- await addCustomDomain(storage.session.getRealm(), options.domain);
41
+ await addCustomDomain(state.default.session.getRealm(), options.domain);
42
42
  }
43
43
  }
44
44
  // end command logic inside action handler
@@ -1,10 +1,10 @@
1
1
  import { Command } from 'commander';
2
+ import { Authenticate, Realm, Utils, state } from '@rockcarver/frodo-lib';
2
3
  import * as common from '../cmd_common.js';
3
- import { getTokens } from '../../ops/AuthenticateOps.js';
4
- import storage from '../../storage/SessionStorage.js';
5
- import { printMessage } from '../../ops/utils/Console.js';
6
- import { describe } from '../../ops/RealmOps.js';
7
- import { getRealmName } from '../../api/utils/ApiUtils.js';
4
+
5
+ const { getRealmName } = Utils;
6
+ const { getTokens } = Authenticate;
7
+ const { describe } = Realm;
8
8
 
9
9
  const program = new Command('frodo realm describe');
10
10
 
@@ -21,17 +21,17 @@ program
21
21
  .action(
22
22
  // implement command logic inside action handler
23
23
  async (host, realm, user, password, options) => {
24
- storage.session.setTenant(host);
25
- storage.session.setRealm(realm);
26
- storage.session.setUsername(user);
27
- storage.session.setPassword(password);
28
- storage.session.setDeploymentType(options.type);
29
- storage.session.setAllowInsecureConnection(options.insecure);
24
+ state.default.session.setTenant(host);
25
+ state.default.session.setRealm(realm);
26
+ state.default.session.setUsername(user);
27
+ state.default.session.setPassword(password);
28
+ state.default.session.setDeploymentType(options.type);
29
+ state.default.session.setAllowInsecureConnection(options.insecure);
30
30
  if (await getTokens()) {
31
- printMessage(
32
- `Retrieving details of realm ${storage.session.getRealm()}...`
31
+ console.log(
32
+ `Retrieving details of realm ${state.default.session.getRealm()}...`
33
33
  );
34
- describe(getRealmName(storage.session.getRealm()));
34
+ describe(getRealmName(state.default.session.getRealm()));
35
35
  }
36
36
  }
37
37
  // end command logic inside action handler
@@ -1,9 +1,9 @@
1
1
  import { Command, Option } from 'commander';
2
+ import { Authenticate, Realm, state } from '@rockcarver/frodo-lib';
2
3
  import * as common from '../cmd_common.js';
3
- import { getTokens } from '../../ops/AuthenticateOps.js';
4
- import storage from '../../storage/SessionStorage.js';
5
- import { printMessage } from '../../ops/utils/Console.js';
6
- import { listRealms } from '../../ops/RealmOps.js';
4
+
5
+ const { listRealms } = Realm;
6
+ const { getTokens } = Authenticate;
7
7
 
8
8
  const program = new Command('frodo realm list');
9
9
 
@@ -23,14 +23,14 @@ program
23
23
  .action(
24
24
  // implement command logic inside action handler
25
25
  async (host, realm, user, password, options) => {
26
- storage.session.setTenant(host);
27
- storage.session.setRealm(realm);
28
- storage.session.setUsername(user);
29
- storage.session.setPassword(password);
30
- storage.session.setDeploymentType(options.type);
31
- storage.session.setAllowInsecureConnection(options.insecure);
26
+ state.default.session.setTenant(host);
27
+ state.default.session.setRealm(realm);
28
+ state.default.session.setUsername(user);
29
+ state.default.session.setPassword(password);
30
+ state.default.session.setDeploymentType(options.type);
31
+ state.default.session.setAllowInsecureConnection(options.insecure);
32
32
  if (await getTokens()) {
33
- printMessage('Listing all realms...');
33
+ console.log('Listing all realms...');
34
34
  await listRealms(options.long);
35
35
  }
36
36
  }
@@ -1,9 +1,9 @@
1
1
  import { Command, Option } from 'commander';
2
+ import { Authenticate, Realm, state } from '@rockcarver/frodo-lib';
2
3
  import * as common from '../cmd_common.js';
3
- import { getTokens } from '../../ops/AuthenticateOps.js';
4
- import storage from '../../storage/SessionStorage.js';
5
- import { printMessage } from '../../ops/utils/Console.js';
6
- import { removeCustomDomain } from '../../ops/RealmOps.js';
4
+
5
+ const { getTokens } = Authenticate;
6
+ const { removeCustomDomain } = Realm;
7
7
 
8
8
  const program = new Command('frodo realm remove-custom-domain');
9
9
 
@@ -26,19 +26,22 @@ program
26
26
  .action(
27
27
  // implement command logic inside action handler
28
28
  async (host, realm, user, password, options) => {
29
- storage.session.setTenant(host);
30
- storage.session.setRealm(realm);
31
- storage.session.setUsername(user);
32
- storage.session.setPassword(password);
33
- storage.session.setDeploymentType(options.type);
34
- storage.session.setAllowInsecureConnection(options.insecure);
29
+ state.default.session.setTenant(host);
30
+ state.default.session.setRealm(realm);
31
+ state.default.session.setUsername(user);
32
+ state.default.session.setPassword(password);
33
+ state.default.session.setDeploymentType(options.type);
34
+ state.default.session.setAllowInsecureConnection(options.insecure);
35
35
  if (await getTokens()) {
36
- printMessage(
36
+ console.log(
37
37
  `Removing custom DNS domain ${
38
38
  options.domain
39
- } from realm ${storage.session.getRealm()}...`
39
+ } from realm ${state.default.session.getRealm()}...`
40
+ );
41
+ await removeCustomDomain(
42
+ state.default.session.getRealm(),
43
+ options.domain
40
44
  );
41
- await removeCustomDomain(storage.session.getRealm(), options.domain);
42
45
  }
43
46
  }
44
47
  // end command logic inside action handler
@@ -1,13 +1,13 @@
1
1
  import { Command, Option } from 'commander';
2
+ import { Authenticate, CirclesOfTrust, state } from '@rockcarver/frodo-lib';
2
3
  import * as common from '../cmd_common.js';
3
- import { getTokens } from '../../ops/AuthenticateOps.js';
4
- import storage from '../../storage/SessionStorage.js';
5
- import { printMessage } from '../../ops/utils/Console.js';
6
- import {
4
+
5
+ const { getTokens } = Authenticate;
6
+ const {
7
7
  exportCircleOfTrust,
8
8
  exportCirclesOfTrustToFile,
9
9
  exportCirclesOfTrustToFiles,
10
- } from '../../ops/CirclesOfTrustOps.js';
10
+ } = CirclesOfTrust;
11
11
 
12
12
  const program = new Command('frodo saml cot export');
13
13
 
@@ -48,35 +48,35 @@ program
48
48
  .action(
49
49
  // implement command logic inside action handler
50
50
  async (host, realm, user, password, options) => {
51
- storage.session.setTenant(host);
52
- storage.session.setRealm(realm);
53
- storage.session.setUsername(user);
54
- storage.session.setPassword(password);
55
- storage.session.setDeploymentType(options.type);
56
- storage.session.setAllowInsecureConnection(options.insecure);
51
+ state.default.session.setTenant(host);
52
+ state.default.session.setRealm(realm);
53
+ state.default.session.setUsername(user);
54
+ state.default.session.setPassword(password);
55
+ state.default.session.setDeploymentType(options.type);
56
+ state.default.session.setAllowInsecureConnection(options.insecure);
57
57
  if (await getTokens()) {
58
58
  // export by id/name
59
59
  if (options.cotId) {
60
- printMessage(
60
+ console.log(
61
61
  `Exporting circle of trust "${
62
62
  options.cotId
63
- }" from realm "${storage.session.getRealm()}"...`
63
+ }" from realm "${state.default.session.getRealm()}"...`
64
64
  );
65
65
  exportCircleOfTrust(options.cotId, options.file);
66
66
  }
67
67
  // --all -a
68
68
  else if (options.all) {
69
- printMessage('Exporting all circles of trust to a single file...');
69
+ console.log('Exporting all circles of trust to a single file...');
70
70
  exportCirclesOfTrustToFile(options.file);
71
71
  }
72
72
  // --all-separate -A
73
73
  else if (options.allSeparate) {
74
- printMessage('Exporting all circles of trust to separate files...');
74
+ console.log('Exporting all circles of trust to separate files...');
75
75
  exportCirclesOfTrustToFiles();
76
76
  }
77
77
  // unrecognized combination of options or no options
78
78
  else {
79
- printMessage(
79
+ console.log(
80
80
  'Unrecognized combination of options or no options...',
81
81
  'error'
82
82
  );