@rockcarver/frodo-cli 0.18.1 → 0.18.2-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +3 -2
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +5 -4
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-get-access-token.js +3 -2
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +3 -2
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js +3 -2
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +3 -2
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +3 -2
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-static-user-mappings.js +3 -2
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +3 -2
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js +3 -2
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +3 -2
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-show-generic-extension-attributes.js +3 -2
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/app/app-export.js +5 -4
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js +2 -1
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js +2 -1
- package/esm/cli/app/app-list.js.map +1 -1
- package/esm/cli/cmd_common.js +4 -4
- package/esm/cli/cmd_common.js.map +1 -1
- package/esm/cli/email/email-template-export.js +5 -4
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +6 -5
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +2 -1
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js +2 -1
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js +4 -3
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js +2 -1
- package/esm/cli/esv/esv-secret-describe.js.map +1 -1
- package/esm/cli/esv/esv-secret-list.js +2 -1
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js +2 -1
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js +3 -2
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js +2 -1
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +3 -2
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js +4 -3
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js +2 -1
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js +2 -1
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js +4 -3
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js +2 -1
- package/esm/cli/esv/esv-variable-describe.js.map +1 -1
- package/esm/cli/esv/esv-variable-list.js +2 -1
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js +4 -3
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/idm/idm-count.js +2 -1
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js +5 -4
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-list.js +3 -2
- package/esm/cli/idm/idm-list.js.map +1 -1
- package/esm/cli/idp/idp-export.js +6 -5
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js +7 -6
- package/esm/cli/idp/idp-import.js.map +1 -1
- package/esm/cli/idp/idp-list.js +3 -2
- package/esm/cli/idp/idp-list.js.map +1 -1
- package/esm/cli/info/info.js +7 -6
- package/esm/cli/info/info.js.map +1 -1
- package/esm/cli/journey/journey-delete.e2e.test_.js.map +1 -1
- package/esm/cli/journey/journey-delete.js +5 -4
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js +3 -3
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js +3 -3
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js +15 -18
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js +16 -22
- package/esm/cli/journey/journey-import.js.map +1 -1
- package/esm/cli/journey/journey-list.e2e.test_.js.map +1 -1
- package/esm/cli/journey/journey-list.js +5 -6
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js +4 -3
- package/esm/cli/journey/journey-prune.js.map +1 -1
- package/esm/cli/journey/journey.js.map +1 -1
- package/esm/cli/logging/logs-fetch.js +28 -9
- package/esm/cli/logging/logs-fetch.js.map +1 -1
- package/esm/cli/logging/logs-list.js +11 -10
- package/esm/cli/logging/logs-list.js.map +1 -1
- package/esm/cli/logging/logs-tail.js +6 -5
- package/esm/cli/logging/logs-tail.js.map +1 -1
- package/esm/cli/logging/logs.js +2 -1
- package/esm/cli/logging/logs.js.map +1 -1
- package/esm/cli/realm/realm-add-custom-domain.js +3 -2
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js +3 -2
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js +3 -2
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +3 -2
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
- package/esm/cli/saml/saml-cot-export.js +6 -5
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js +7 -6
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js +3 -2
- package/esm/cli/saml/saml-cot-list.js.map +1 -1
- package/esm/cli/saml/saml-describe.js +3 -2
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js +6 -5
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js +7 -6
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js +3 -2
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js +5 -4
- package/esm/cli/saml/saml-metadata-export.js.map +1 -1
- package/esm/cli/script/script-delete.js +1 -1
- package/esm/cli/script/script-delete.js.map +1 -1
- package/esm/cli/script/script-describe.js +1 -1
- package/esm/cli/script/script-describe.js.map +1 -1
- package/esm/cli/script/script-export.js +6 -5
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js +3 -2
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js +3 -2
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +1 -1
- package/esm/cli/theme/theme-delete.js +6 -5
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +7 -6
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +8 -7
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.e2e.test_.js.map +1 -1
- package/esm/cli/theme/theme-list.js +3 -2
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/ops/JourneyOps.js +325 -2
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/utils/Config.js.map +1 -1
- package/esm/utils/Console.js +1 -0
- package/esm/utils/Console.js.map +1 -1
- package/esm/utils/Version.js +1 -1
- package/esm/utils/Version.js.map +1 -1
- package/package.json +9 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.18.2-1] - 2022-10-24
|
|
11
|
+
|
|
12
|
+
## Fixed
|
|
13
|
+
|
|
14
|
+
- \#99: frodo logs does not show help on error.
|
|
15
|
+
- \#108: Use default values for begin and end timestamps for logs fetch
|
|
16
|
+
|
|
17
|
+
## [0.18.2-0] - 2022-10-22
|
|
18
|
+
|
|
10
19
|
## [0.18.1] - 2022-10-20
|
|
11
20
|
|
|
12
21
|
### Changed
|
|
@@ -704,7 +713,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
704
713
|
- Fixed problem with adding connection profiles
|
|
705
714
|
- Miscellaneous bug fixes
|
|
706
715
|
|
|
707
|
-
[Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.18.1...HEAD
|
|
716
|
+
[Unreleased]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-1...HEAD
|
|
717
|
+
|
|
718
|
+
[0.18.2-1]: https://github.com/rockcarver/frodo-cli/compare/v0.18.2-0...v0.18.2-1
|
|
719
|
+
|
|
720
|
+
[0.18.2-0]: https://github.com/rockcarver/frodo-cli/compare/v0.18.1...v0.18.2-0
|
|
708
721
|
|
|
709
722
|
[0.18.1]: https://github.com/rockcarver/frodo-cli/compare/v0.18.0...v0.18.1
|
|
710
723
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
getTokens
|
|
6
7
|
} = Authenticate;
|
|
@@ -18,9 +19,9 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage(`Adding AutoId static user mapping...`);
|
|
22
23
|
await addAutoIdStaticUserMapping();
|
|
23
|
-
|
|
24
|
+
printMessage('Done.');
|
|
24
25
|
}
|
|
25
26
|
} // end command logic inside action handler
|
|
26
27
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-add-autoid-static-user-mapping.js","names":["Command","Authenticate","Admin","state","common","getTokens","addAutoIdStaticUserMapping","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-add-autoid-static-user-mapping.js","names":["Command","Authenticate","Admin","state","common","printMessage","getTokens","addAutoIdStaticUserMapping","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","parse"],"sources":["cli/admin/admin-add-autoid-static-user-mapping.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { addAutoIdStaticUserMapping } = Admin;\n\nconst program = new Command('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 .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(`Adding AutoId static user mapping...`);\n await addAutoIdStaticUserMapping();\n printMessage('Done.');\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAAgBL,YAAtB;AACA,MAAM;EAAEM;AAAF,IAAiCL,KAAvC;AAEA,MAAMM,OAAO,GAAG,IAAIR,OAAJ,CAAY,4CAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CAEI,2FAFJ,EAIGC,UAJH,CAIc,YAJd,EAI4B,MAJ5B,EAKGC,kBALH,GAMGC,WANH,CAMeR,MAAM,CAACS,aANtB,EAOGD,WAPH,CAOeR,MAAM,CAACU,aAPtB,EAQGF,WARH,CAQeR,MAAM,CAACW,YARtB,EASGH,WATH,CASeR,MAAM,CAACY,gBATtB,EAUGC,SAVH,CAUab,MAAM,CAACc,gBAVpB,EAWGD,SAXH,CAWab,MAAM,CAACe,cAXpB,EAYGC,MAZH,EAaI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAlB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAnB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACApB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACArB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA9B,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrBD,YAAY,CAAE,sCAAF,CAAZ;IACA,MAAME,0BAA0B,EAAhC;IACAF,YAAY,CAAC,OAAD,CAAZ;EACD;AACF,CA1BL,CA2BI;AA3BJ;AA8BAG,OAAO,CAAC4B,KAAR"}
|
|
@@ -3,6 +3,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
4
|
import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
|
|
5
5
|
import * as common from '../cmd_common.js';
|
|
6
|
+
import { printMessage } from '../../utils/Console.js';
|
|
6
7
|
const {
|
|
7
8
|
getTokens
|
|
8
9
|
} = Authenticate;
|
|
@@ -21,7 +22,7 @@ async (host, realm, user, password, options) => {
|
|
|
21
22
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
22
23
|
|
|
23
24
|
if (await getTokens()) {
|
|
24
|
-
|
|
25
|
+
printMessage(`Creating oauth2 client with admin privileges in realm "${state.default.session.getRealm()}"...`);
|
|
25
26
|
let clientId = uuidv4();
|
|
26
27
|
let clientSecret = uuidv4();
|
|
27
28
|
|
|
@@ -36,7 +37,7 @@ async (host, realm, user, password, options) => {
|
|
|
36
37
|
try {
|
|
37
38
|
await createOAuth2ClientWithAdminPrivileges(clientId, clientSecret);
|
|
38
39
|
} catch (error) {
|
|
39
|
-
|
|
40
|
+
printMessage(error, 'error');
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
const table = new Table({
|
|
@@ -71,13 +72,13 @@ async (host, realm, user, password, options) => {
|
|
|
71
72
|
|
|
72
73
|
table.push(['Expires'['brightCyan'], response.expires_on]);
|
|
73
74
|
} catch (error) {
|
|
74
|
-
|
|
75
|
+
printMessage(error, 'error');
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
table.push(['Client ID'['brightCyan'], clientId]);
|
|
79
80
|
table.push(['Client Secret'['brightCyan'], clientSecret]);
|
|
80
|
-
|
|
81
|
+
printMessage(table.toString());
|
|
81
82
|
}
|
|
82
83
|
} // end command logic inside action handler
|
|
83
84
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-create-oauth2-client-with-admin-privileges.js","names":["Command","Option","v4","uuidv4","Table","Authenticate","Admin","state","common","getTokens","createLongLivedToken","createOAuth2ClientWithAdminPrivileges","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-create-oauth2-client-with-admin-privileges.js","names":["Command","Option","v4","uuidv4","Table","Authenticate","Admin","state","common","printMessage","getTokens","createLongLivedToken","createOAuth2ClientWithAdminPrivileges","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","getRealm","clientId","clientSecret","error","table","chars","top","bottom","left","mid","right","style","wordWrap","llt","response","scope","lltEsv","lltTtl","push","secret","expires_on","toString","parse"],"sources":["cli/admin/admin-create-oauth2-client-with-admin-privileges.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { v4 as uuidv4 } from 'uuid';\nimport Table from 'cli-table3';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { createLongLivedToken, createOAuth2ClientWithAdminPrivileges } = Admin;\n\nconst program = new Command(\n 'frodo admin create-oauth2-client-with-admin-privileges'\n);\n\nprogram\n .description('Create an oauth2 client with admin privileges.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(new Option('--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 '--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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n `Creating oauth2 client with admin privileges in realm \"${state.default.session.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 }\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 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 table.push(['Secret Name'['brightCyan'], response.secret]);\n table.push(['Scope'['brightCyan'], response.scope]);\n // table.push(['Token Lifetime'.brightCyan, response.expires_in]);\n table.push(['Expires'['brightCyan'], response.expires_on]);\n } catch (error) {\n printMessage(error, 'error');\n }\n }\n table.push(['Client ID'['brightCyan'], clientId]);\n table.push(['Client Secret'['brightCyan'], clientSecret]);\n printMessage(table.toString());\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import { Authenticate, OAuth2OIDCApi, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
clientCredentialsGrant
|
|
6
7
|
} = OAuth2OIDCApi;
|
|
@@ -18,9 +19,9 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage(`Getting an access token using client "${options.clientId}"...`);
|
|
22
23
|
const response = (await clientCredentialsGrant(options.clientId, options.clientSecret, options.scope)).data;
|
|
23
|
-
|
|
24
|
+
printMessage(`Token: ${response.access_token}`);
|
|
24
25
|
}
|
|
25
26
|
} // end command logic inside action handler
|
|
26
27
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-get-access-token.js","names":["Command","Option","Authenticate","OAuth2OIDCApi","state","common","clientCredentialsGrant","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","makeOptionMandatory","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-get-access-token.js","names":["Command","Option","Authenticate","OAuth2OIDCApi","state","common","printMessage","clientCredentialsGrant","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","makeOptionMandatory","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","clientId","response","clientSecret","scope","data","access_token","parse"],"sources":["cli/admin/admin-get-access-token.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, OAuth2OIDCApi, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { clientCredentialsGrant } = OAuth2OIDCApi;\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo admin get-access-token');\n\nprogram\n .description('Get an access token using client credentials grant type.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(new Option('--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) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n 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 }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,aAAvB,EAAsCC,KAAtC,QAAmD,uBAAnD;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAA6BJ,aAAnC;AACA,MAAM;EAAEK;AAAF,IAAgBN,YAAtB;AAEA,MAAMO,OAAO,GAAG,IAAIT,OAAJ,CAAY,8BAAZ,CAAhB;AAEAS,OAAO,CACJC,WADH,CACe,0DADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeR,MAAM,CAACS,aAJtB,EAKGD,WALH,CAKeR,MAAM,CAACU,aALtB,EAMGF,WANH,CAMeR,MAAM,CAACW,YANtB,EAOGH,WAPH,CAOeR,MAAM,CAACY,gBAPtB,EAQGC,SARH,CAQab,MAAM,CAACc,gBARpB,EASGD,SATH,CASab,MAAM,CAACe,cATpB,EAUGF,SAVH,CAUa,IAAIjB,MAAJ,CAAW,kBAAX,EAA+B,YAA/B,EAA6CoB,mBAA7C,EAVb,EAWGH,SAXH,CAYI,IAAIjB,MAAJ,CACE,0BADF,EAEE,gBAFF,EAGEoB,mBAHF,EAZJ,EAiBGH,SAjBH,CAkBI,IAAIjB,MAAJ,CAAW,iBAAX,EAA8B,iCAA9B,EAAiEqB,OAAjE,CACE,UADF,EAEE,UAFF,CAlBJ,EAuBGC,MAvBH,EAwBI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CxB,KAAK,CAACkB,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACApB,KAAK,CAACkB,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACArB,KAAK,CAACkB,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACAtB,KAAK,CAACkB,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACAvB,KAAK,CAACkB,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA/B,KAAK,CAACkB,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrBF,YAAY,CACT,yCAAwCsB,OAAO,CAACU,QAAS,MADhD,CAAZ;IAGA,MAAMC,QAAQ,GAAG,CACf,MAAMhC,sBAAsB,CAC1BqB,OAAO,CAACU,QADkB,EAE1BV,OAAO,CAACY,YAFkB,EAG1BZ,OAAO,CAACa,KAHkB,CADb,EAMfC,IANF;IAOApC,YAAY,CAAE,UAASiC,QAAQ,CAACI,YAAa,EAAjC,CAAZ;EACD;AACF,CA7CL,CA8CI;AA9CJ;AAiDAlC,OAAO,CAACmC,KAAR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
getTokens
|
|
6
7
|
} = Authenticate;
|
|
@@ -18,9 +19,9 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage(`Granting oauth2 client "${options.target}" in realm "${state.default.session.getRealm()}" admin privileges...`);
|
|
22
23
|
await grantOAuth2ClientAdminPrivileges(options.target);
|
|
23
|
-
|
|
24
|
+
printMessage('Done.');
|
|
24
25
|
}
|
|
25
26
|
} // end command logic inside action handler
|
|
26
27
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-grant-oauth2-client-admin-privileges.js","names":["Command","Option","Authenticate","Admin","state","common","getTokens","grantOAuth2ClientAdminPrivileges","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-grant-oauth2-client-admin-privileges.js","names":["Command","Option","Authenticate","Admin","state","common","printMessage","getTokens","grantOAuth2ClientAdminPrivileges","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","target","getRealm","parse"],"sources":["cli/admin/admin-grant-oauth2-client-admin-privileges.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { grantOAuth2ClientAdminPrivileges } = Admin;\n\nconst program = new Command('frodo admin grant-oauth2-client-admin-privileges');\n\nprogram\n .description('Grant an oauth2 client admin privileges.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option('-t, --target <target name or id>', 'Name of the oauth2 client.')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n `Granting oauth2 client \"${\n options.target\n }\" in realm \"${state.default.session.getRealm()}\" admin privileges...`\n );\n await grantOAuth2ClientAdminPrivileges(options.target);\n printMessage('Done.');\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAAgBL,YAAtB;AACA,MAAM;EAAEM;AAAF,IAAuCL,KAA7C;AAEA,MAAMM,OAAO,GAAG,IAAIT,OAAJ,CAAY,kDAAZ,CAAhB;AAEAS,OAAO,CACJC,WADH,CACe,0CADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeR,MAAM,CAACS,aAJtB,EAKGD,WALH,CAKeR,MAAM,CAACU,aALtB,EAMGF,WANH,CAMeR,MAAM,CAACW,YANtB,EAOGH,WAPH,CAOeR,MAAM,CAACY,gBAPtB,EAQGC,SARH,CAQab,MAAM,CAACc,gBARpB,EASGD,SATH,CASab,MAAM,CAACe,cATpB,EAUGF,SAVH,CAWI,IAAIjB,MAAJ,CAAW,kCAAX,EAA+C,4BAA/C,CAXJ,EAaGoB,MAbH,EAcI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAlB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAnB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACApB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACArB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA9B,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrBD,YAAY,CACT,2BACCoB,OAAO,CAACW,MACT,eAAcjC,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBU,QAAtB,EAAiC,uBAHtC,CAAZ;IAKA,MAAM9B,gCAAgC,CAACkB,OAAO,CAACW,MAAT,CAAtC;IACA/B,YAAY,CAAC,OAAD,CAAZ;EACD;AACF,CA/BL,CAgCI;AAhCJ;AAmCAG,OAAO,CAAC8B,KAAR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
getTokens
|
|
6
7
|
} = Authenticate;
|
|
@@ -18,9 +19,9 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage(`Hiding generic extension attributes in realm "${state.default.session.getRealm()}"...`);
|
|
22
23
|
await hideGenericExtensionAttributes(options.includeCustomized, options.dryRun);
|
|
23
|
-
|
|
24
|
+
printMessage('Done.');
|
|
24
25
|
}
|
|
25
26
|
} // end command logic inside action handler
|
|
26
27
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-hide-generic-extension-attributes.js","names":["Command","Option","Authenticate","Admin","state","common","getTokens","hideGenericExtensionAttributes","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-hide-generic-extension-attributes.js","names":["Command","Option","Authenticate","Admin","state","common","printMessage","getTokens","hideGenericExtensionAttributes","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","getRealm","includeCustomized","dryRun","parse"],"sources":["cli/admin/admin-hide-generic-extension-attributes.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { hideGenericExtensionAttributes } = Admin;\n\nconst program = new Command('frodo admin hide-generic-extension-attributes');\n\nprogram\n .description('Hide generic extension attributes.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option('--include-customized', 'Include customized attributes.')\n )\n .addOption(new Option('--dry-run', 'Dry-run only, do not perform changes.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n `Hiding generic extension attributes in realm \"${state.default.session.getRealm()}\"...`\n );\n await hideGenericExtensionAttributes(\n options.includeCustomized,\n options.dryRun\n );\n printMessage('Done.');\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAAgBL,YAAtB;AACA,MAAM;EAAEM;AAAF,IAAqCL,KAA3C;AAEA,MAAMM,OAAO,GAAG,IAAIT,OAAJ,CAAY,+CAAZ,CAAhB;AAEAS,OAAO,CACJC,WADH,CACe,oCADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeR,MAAM,CAACS,aAJtB,EAKGD,WALH,CAKeR,MAAM,CAACU,aALtB,EAMGF,WANH,CAMeR,MAAM,CAACW,YANtB,EAOGH,WAPH,CAOeR,MAAM,CAACY,gBAPtB,EAQGC,SARH,CAQab,MAAM,CAACc,gBARpB,EASGD,SATH,CASab,MAAM,CAACe,cATpB,EAUGF,SAVH,CAWI,IAAIjB,MAAJ,CAAW,sBAAX,EAAmC,gCAAnC,CAXJ,EAaGiB,SAbH,CAaa,IAAIjB,MAAJ,CAAW,WAAX,EAAwB,uCAAxB,CAbb,EAcGoB,MAdH,EAeI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAlB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAnB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACApB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACArB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA9B,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrBD,YAAY,CACT,iDAAgDF,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBS,QAAtB,EAAiC,MADxE,CAAZ;IAGA,MAAM7B,8BAA8B,CAClCkB,OAAO,CAACY,iBAD0B,EAElCZ,OAAO,CAACa,MAF0B,CAApC;IAIAjC,YAAY,CAAC,OAAD,CAAZ;EACD;AACF,CAjCL,CAkCI;AAlCJ;AAqCAG,OAAO,CAAC+B,KAAR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
listOAuth2AdminClients
|
|
6
7
|
} = Admin;
|
|
@@ -18,11 +19,11 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage(`Listing oauth2 clients with admin privileges in realm "${state.default.session.getRealm()}"...`);
|
|
22
23
|
const adminClients = await listOAuth2AdminClients();
|
|
23
24
|
adminClients.sort((a, b) => a.localeCompare(b));
|
|
24
25
|
adminClients.forEach(item => {
|
|
25
|
-
|
|
26
|
+
printMessage(`${item}`);
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
} // end command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-list-oauth2-clients-with-admin-privileges.js","names":["Command","Authenticate","Admin","state","common","listOAuth2AdminClients","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-list-oauth2-clients-with-admin-privileges.js","names":["Command","Authenticate","Admin","state","common","printMessage","listOAuth2AdminClients","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","getRealm","adminClients","sort","a","b","localeCompare","forEach","item","parse"],"sources":["cli/admin/admin-list-oauth2-clients-with-admin-privileges.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { listOAuth2AdminClients } = Admin;\nconst { getTokens } = Authenticate;\n\nconst program = new Command(\n 'frodo admin list-oauth2-clients-with-admin-privileges'\n);\n\nprogram\n .description('List oauth2 clients with admin privileges.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n `Listing oauth2 clients with admin privileges in realm \"${state.default.session.getRealm()}\"...`\n );\n const adminClients = await listOAuth2AdminClients();\n adminClients.sort((a, b) => a.localeCompare(b));\n adminClients.forEach((item) => {\n printMessage(`${item}`);\n });\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAA6BJ,KAAnC;AACA,MAAM;EAAEK;AAAF,IAAgBN,YAAtB;AAEA,MAAMO,OAAO,GAAG,IAAIR,OAAJ,CACd,uDADc,CAAhB;AAIAQ,OAAO,CACJC,WADH,CACe,4CADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeR,MAAM,CAACS,aAJtB,EAKGD,WALH,CAKeR,MAAM,CAACU,aALtB,EAMGF,WANH,CAMeR,MAAM,CAACW,YANtB,EAOGH,WAPH,CAOeR,MAAM,CAACY,gBAPtB,EAQGC,SARH,CAQab,MAAM,CAACc,gBARpB,EASGD,SATH,CASab,MAAM,CAACe,cATpB,EAUGC,MAVH,EAWI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAlB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAnB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACApB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACArB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA9B,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB;IACrBF,YAAY,CACT,0DAAyDF,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBS,QAAtB,EAAiC,MADjF,CAAZ;IAGA,MAAMC,YAAY,GAAG,MAAM/B,sBAAsB,EAAjD;IACA+B,YAAY,CAACC,IAAb,CAAkB,CAACC,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAACE,aAAF,CAAgBD,CAAhB,CAA5B;IACAH,YAAY,CAACK,OAAb,CAAsBC,IAAD,IAAU;MAC7BtC,YAAY,CAAE,GAAEsC,IAAK,EAAT,CAAZ;IACD,CAFD;EAGD;AACF,CA7BL,CA8BI;AA9BJ;AAiCAnC,OAAO,CAACoC,KAAR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
listOAuth2CustomClients
|
|
6
7
|
} = Admin;
|
|
@@ -18,11 +19,11 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage(`Listing oauth2 clients with custom privileges in realm "${state.default.session.getRealm()}"...`);
|
|
22
23
|
const adminClients = await listOAuth2CustomClients();
|
|
23
24
|
adminClients.sort((a, b) => a.localeCompare(b));
|
|
24
25
|
adminClients.forEach(item => {
|
|
25
|
-
|
|
26
|
+
printMessage(`${item}`);
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
} // end command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-list-oauth2-clients-with-custom-privileges.js","names":["Command","Authenticate","Admin","state","common","listOAuth2CustomClients","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-list-oauth2-clients-with-custom-privileges.js","names":["Command","Authenticate","Admin","state","common","printMessage","listOAuth2CustomClients","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","getRealm","adminClients","sort","a","b","localeCompare","forEach","item","parse"],"sources":["cli/admin/admin-list-oauth2-clients-with-custom-privileges.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { listOAuth2CustomClients } = Admin;\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command(\n 'frodo admin list-oauth2-clients-with-custom-privileges'\n);\n\nprogram\n .description('List oauth2 clients with custom privileges.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n `Listing oauth2 clients with custom privileges in realm \"${state.default.session.getRealm()}\"...`\n );\n const adminClients = await listOAuth2CustomClients();\n adminClients.sort((a, b) => a.localeCompare(b));\n adminClients.forEach((item) => {\n printMessage(`${item}`);\n });\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAA8BJ,KAApC;AAEA,MAAM;EAAEK;AAAF,IAAgBN,YAAtB;AAEA,MAAMO,OAAO,GAAG,IAAIR,OAAJ,CACd,wDADc,CAAhB;AAIAQ,OAAO,CACJC,WADH,CACe,6CADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeR,MAAM,CAACS,aAJtB,EAKGD,WALH,CAKeR,MAAM,CAACU,aALtB,EAMGF,WANH,CAMeR,MAAM,CAACW,YANtB,EAOGH,WAPH,CAOeR,MAAM,CAACY,gBAPtB,EAQGC,SARH,CAQab,MAAM,CAACc,gBARpB,EASGD,SATH,CASab,MAAM,CAACe,cATpB,EAUGC,MAVH,EAWI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAlB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAnB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACApB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACArB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA9B,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM5B,SAAS,EAAnB,EAAuB;IACrBF,YAAY,CACT,2DAA0DF,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBS,QAAtB,EAAiC,MADlF,CAAZ;IAGA,MAAMC,YAAY,GAAG,MAAM/B,uBAAuB,EAAlD;IACA+B,YAAY,CAACC,IAAb,CAAkB,CAACC,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAACE,aAAF,CAAgBD,CAAhB,CAA5B;IACAH,YAAY,CAACK,OAAb,CAAsBC,IAAD,IAAU;MAC7BtC,YAAY,CAAE,GAAEsC,IAAK,EAAT,CAAZ;IACD,CAFD;EAGD;AACF,CA7BL,CA8BI;AA9BJ;AAiCAnC,OAAO,CAACoC,KAAR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
getTokens
|
|
6
7
|
} = Authenticate;
|
|
@@ -18,11 +19,11 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage('Listing all non-oauth2 client subjects of static user mappings...');
|
|
22
23
|
const subjects = await listNonOAuth2AdminStaticUserMappings(options.showProtected);
|
|
23
24
|
subjects.sort((a, b) => a.localeCompare(b));
|
|
24
25
|
subjects.forEach(item => {
|
|
25
|
-
|
|
26
|
+
printMessage(`${item}`);
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
} // end command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-list-static-user-mappings.js","names":["Command","Option","Authenticate","Admin","state","common","getTokens","listNonOAuth2AdminStaticUserMappings","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-list-static-user-mappings.js","names":["Command","Option","Authenticate","Admin","state","common","printMessage","getTokens","listNonOAuth2AdminStaticUserMappings","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","subjects","showProtected","sort","a","b","localeCompare","forEach","item","parse"],"sources":["cli/admin/admin-list-static-user-mappings.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { listNonOAuth2AdminStaticUserMappings } = Admin;\n\nconst program = new Command('frodo admin list-static-user-mappings');\n\nprogram\n .description(\n 'List all subjects of static user mappings that are not oauth2 clients.'\n )\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option('--show-protected', 'Show protected (system) subjects.').default(\n false,\n 'false'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n 'Listing all non-oauth2 client subjects of static user mappings...'\n );\n const subjects = await listNonOAuth2AdminStaticUserMappings(\n options.showProtected\n );\n subjects.sort((a, b) => a.localeCompare(b));\n subjects.forEach((item) => {\n printMessage(`${item}`);\n });\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAAgBL,YAAtB;AACA,MAAM;EAAEM;AAAF,IAA2CL,KAAjD;AAEA,MAAMM,OAAO,GAAG,IAAIT,OAAJ,CAAY,uCAAZ,CAAhB;AAEAS,OAAO,CACJC,WADH,CAEI,wEAFJ,EAIGC,UAJH,CAIc,YAJd,EAI4B,MAJ5B,EAKGC,kBALH,GAMGC,WANH,CAMeR,MAAM,CAACS,aANtB,EAOGD,WAPH,CAOeR,MAAM,CAACU,aAPtB,EAQGF,WARH,CAQeR,MAAM,CAACW,YARtB,EASGH,WATH,CASeR,MAAM,CAACY,gBATtB,EAUGC,SAVH,CAUab,MAAM,CAACc,gBAVpB,EAWGD,SAXH,CAWab,MAAM,CAACe,cAXpB,EAYGF,SAZH,CAaI,IAAIjB,MAAJ,CAAW,kBAAX,EAA+B,mCAA/B,EAAoEoB,OAApE,CACE,KADF,EAEE,OAFF,CAbJ,EAkBGC,MAlBH,EAmBI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CvB,KAAK,CAACiB,OAAN,CAAcO,OAAd,CAAsBC,SAAtB,CAAgCN,IAAhC;EACAnB,KAAK,CAACiB,OAAN,CAAcO,OAAd,CAAsBE,QAAtB,CAA+BN,KAA/B;EACApB,KAAK,CAACiB,OAAN,CAAcO,OAAd,CAAsBG,WAAtB,CAAkCN,IAAlC;EACArB,KAAK,CAACiB,OAAN,CAAcO,OAAd,CAAsBI,WAAtB,CAAkCN,QAAlC;EACAtB,KAAK,CAACiB,OAAN,CAAcO,OAAd,CAAsBK,iBAAtB,CAAwCN,OAAO,CAACO,IAAhD;EACA9B,KAAK,CAACiB,OAAN,CAAcO,OAAd,CAAsBO,0BAAtB,CAAiDR,OAAO,CAACS,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrBD,YAAY,CACV,mEADU,CAAZ;IAGA,MAAM+B,QAAQ,GAAG,MAAM7B,oCAAoC,CACzDmB,OAAO,CAACW,aADiD,CAA3D;IAGAD,QAAQ,CAACE,IAAT,CAAc,CAACC,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAACE,aAAF,CAAgBD,CAAhB,CAAxB;IACAJ,QAAQ,CAACM,OAAT,CAAkBC,IAAD,IAAU;MACzBtC,YAAY,CAAE,GAAEsC,IAAK,EAAT,CAAZ;IACD,CAFD;EAGD;AACF,CAvCL,CAwCI;AAxCJ;AA2CAnC,OAAO,CAACoC,KAAR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
getTokens
|
|
6
7
|
} = Authenticate;
|
|
@@ -18,9 +19,9 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage("Removing a subject's static user mapping...");
|
|
22
23
|
await removeStaticUserMapping(options.subject);
|
|
23
|
-
|
|
24
|
+
printMessage('Done.');
|
|
24
25
|
}
|
|
25
26
|
} // end command logic inside action handler
|
|
26
27
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-remove-static-user-mapping.js","names":["Command","Authenticate","Admin","state","common","getTokens","removeStaticUserMapping","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-remove-static-user-mapping.js","names":["Command","Authenticate","Admin","state","common","printMessage","getTokens","removeStaticUserMapping","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","subject","parse"],"sources":["cli/admin/admin-remove-static-user-mapping.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { removeStaticUserMapping } = Admin;\n\nconst program = new Command('frodo admin remove-static-user-mapping');\n\nprogram\n .description(\"Remove a subject's static user mapping.\")\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\"Removing a subject's static user mapping...\");\n await removeStaticUserMapping(options.subject);\n printMessage('Done.');\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,WAAxB;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAAgBL,YAAtB;AACA,MAAM;EAAEM;AAAF,IAA8BL,KAApC;AAEA,MAAMM,OAAO,GAAG,IAAIR,OAAJ,CAAY,wCAAZ,CAAhB;AAEAQ,OAAO,CACJC,WADH,CACe,yCADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeR,MAAM,CAACS,aAJtB,EAKGD,WALH,CAKeR,MAAM,CAACU,aALtB,EAMGF,WANH,CAMeR,MAAM,CAACW,YANtB,EAOGH,WAPH,CAOeR,MAAM,CAACY,gBAPtB,EAQGC,SARH,CAQab,MAAM,CAACc,gBARpB,EASGD,SATH,CASab,MAAM,CAACe,cATpB,EAUGC,MAVH,EAWI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAlB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAnB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACApB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACArB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA9B,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrBD,YAAY,CAAC,6CAAD,CAAZ;IACA,MAAME,uBAAuB,CAACkB,OAAO,CAACW,OAAT,CAA7B;IACA/B,YAAY,CAAC,OAAD,CAAZ;EACD;AACF,CAxBL,CAyBI;AAzBJ;AA4BAG,OAAO,CAAC6B,KAAR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import { Authenticate, Admin, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
getTokens
|
|
6
7
|
} = Authenticate;
|
|
@@ -18,9 +19,9 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage(`Repairing org model in realm "${state.default.session.getRealm()}"...`);
|
|
22
23
|
await repairOrgModel(options.excludeCustomized, options.extendPermissions, options.dryRun);
|
|
23
|
-
|
|
24
|
+
printMessage('Done.');
|
|
24
25
|
}
|
|
25
26
|
} // end command logic inside action handler
|
|
26
27
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-repair-org-model.js","names":["Command","Option","Authenticate","Admin","state","common","getTokens","repairOrgModel","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-repair-org-model.js","names":["Command","Option","Authenticate","Admin","state","common","printMessage","getTokens","repairOrgModel","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","getRealm","excludeCustomized","extendPermissions","dryRun","parse"],"sources":["cli/admin/admin-repair-org-model.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, Admin, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { repairOrgModel } = Admin;\n\nconst program = new Command('frodo admin repair-org-model');\n\nprogram\n .description('Repair org model.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option(\n '--exclude-customized',\n 'Exclude customized properties from repair.'\n )\n )\n .addOption(\n new Option(\n '--extend-permissions',\n 'Extend permissions to include custom attributes.'\n )\n )\n .addOption(new Option('--dry-run', 'Dry-run only, do not perform changes.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n `Repairing org model in realm \"${state.default.session.getRealm()}\"...`\n );\n await repairOrgModel(\n options.excludeCustomized,\n options.extendPermissions,\n options.dryRun\n );\n printMessage('Done.');\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,YAAT,EAAuBC,KAAvB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAAgBL,YAAtB;AACA,MAAM;EAAEM;AAAF,IAAqBL,KAA3B;AAEA,MAAMM,OAAO,GAAG,IAAIT,OAAJ,CAAY,8BAAZ,CAAhB;AAEAS,OAAO,CACJC,WADH,CACe,mBADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeR,MAAM,CAACS,aAJtB,EAKGD,WALH,CAKeR,MAAM,CAACU,aALtB,EAMGF,WANH,CAMeR,MAAM,CAACW,YANtB,EAOGH,WAPH,CAOeR,MAAM,CAACY,gBAPtB,EAQGC,SARH,CAQab,MAAM,CAACc,gBARpB,EASGD,SATH,CASab,MAAM,CAACe,cATpB,EAUGF,SAVH,CAWI,IAAIjB,MAAJ,CACE,sBADF,EAEE,4CAFF,CAXJ,EAgBGiB,SAhBH,CAiBI,IAAIjB,MAAJ,CACE,sBADF,EAEE,kDAFF,CAjBJ,EAsBGiB,SAtBH,CAsBa,IAAIjB,MAAJ,CAAW,WAAX,EAAwB,uCAAxB,CAtBb,EAuBGoB,MAvBH,EAwBI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAlB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAnB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACApB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACArB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA9B,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrBD,YAAY,CACT,iCAAgCF,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBS,QAAtB,EAAiC,MADxD,CAAZ;IAGA,MAAM7B,cAAc,CAClBkB,OAAO,CAACY,iBADU,EAElBZ,OAAO,CAACa,iBAFU,EAGlBb,OAAO,CAACc,MAHU,CAApB;IAKAlC,YAAY,CAAC,OAAD,CAAZ;EACD;AACF,CA3CL,CA4CI;AA5CJ;AA+CAG,OAAO,CAACgC,KAAR"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import { Admin, Authenticate, state } from '@rockcarver/frodo-lib';
|
|
3
3
|
import * as common from '../cmd_common.js';
|
|
4
|
+
import { printMessage } from '../../utils/Console.js';
|
|
4
5
|
const {
|
|
5
6
|
getTokens
|
|
6
7
|
} = Authenticate;
|
|
@@ -18,9 +19,9 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
19
20
|
|
|
20
21
|
if (await getTokens()) {
|
|
21
|
-
|
|
22
|
+
printMessage(`Revoking admin privileges from oauth2 client "${options.target}" in realm "${state.default.session.getRealm()}"...`);
|
|
22
23
|
await revokeOAuth2ClientAdminPrivileges(options.target);
|
|
23
|
-
|
|
24
|
+
printMessage('Done.');
|
|
24
25
|
}
|
|
25
26
|
} // end command logic inside action handler
|
|
26
27
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-revoke-oauth2-client-admin-privileges.js","names":["Command","Option","Admin","Authenticate","state","common","getTokens","revokeOAuth2ClientAdminPrivileges","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","
|
|
1
|
+
{"version":3,"file":"admin-revoke-oauth2-client-admin-privileges.js","names":["Command","Option","Admin","Authenticate","state","common","printMessage","getTokens","revokeOAuth2ClientAdminPrivileges","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","target","getRealm","parse"],"sources":["cli/admin/admin-revoke-oauth2-client-admin-privileges.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Admin, Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common.js';\nimport { printMessage } from '../../utils/Console.js';\n\nconst { getTokens } = Authenticate;\nconst { revokeOAuth2ClientAdminPrivileges } = Admin;\n\nconst program = new Command(\n 'frodo admin revoke-oauth2-client-admin-privileges'\n);\n\nprogram\n .description('Revoke admin privileges from an oauth2 client.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(\n new Option('-t, --target <target name or id>', 'Name of the oauth2 client.')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n if (await getTokens()) {\n printMessage(\n `Revoking admin privileges from oauth2 client \"${\n options.target\n }\" in realm \"${state.default.session.getRealm()}\"...`\n );\n await revokeOAuth2ClientAdminPrivileges(options.target);\n printMessage('Done.');\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,WAAhC;AACA,SAASC,KAAT,EAAgBC,YAAhB,EAA8BC,KAA9B,QAA2C,uBAA3C;AACA,OAAO,KAAKC,MAAZ,MAAwB,kBAAxB;AACA,SAASC,YAAT,QAA6B,wBAA7B;AAEA,MAAM;EAAEC;AAAF,IAAgBJ,YAAtB;AACA,MAAM;EAAEK;AAAF,IAAwCN,KAA9C;AAEA,MAAMO,OAAO,GAAG,IAAIT,OAAJ,CACd,mDADc,CAAhB;AAIAS,OAAO,CACJC,WADH,CACe,gDADf,EAEGC,UAFH,CAEc,YAFd,EAE4B,MAF5B,EAGGC,kBAHH,GAIGC,WAJH,CAIeR,MAAM,CAACS,aAJtB,EAKGD,WALH,CAKeR,MAAM,CAACU,aALtB,EAMGF,WANH,CAMeR,MAAM,CAACW,YANtB,EAOGH,WAPH,CAOeR,MAAM,CAACY,gBAPtB,EAQGC,SARH,CAQab,MAAM,CAACc,gBARpB,EASGD,SATH,CASab,MAAM,CAACe,cATpB,EAUGF,SAVH,CAWI,IAAIjB,MAAJ,CAAW,kCAAX,EAA+C,4BAA/C,CAXJ,EAaGoB,MAbH,EAcI;AACA,OAAOC,IAAP,EAAaC,KAAb,EAAoBC,IAApB,EAA0BC,QAA1B,EAAoCC,OAApC,KAAgD;EAC9CtB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBC,SAAtB,CAAgCP,IAAhC;EACAlB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBE,QAAtB,CAA+BP,KAA/B;EACAnB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBG,WAAtB,CAAkCP,IAAlC;EACApB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBI,WAAtB,CAAkCP,QAAlC;EACArB,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBK,iBAAtB,CAAwCP,OAAO,CAACQ,IAAhD;EACA9B,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBO,0BAAtB,CAAiDT,OAAO,CAACU,QAAzD;;EACA,IAAI,MAAM7B,SAAS,EAAnB,EAAuB;IACrBD,YAAY,CACT,iDACCoB,OAAO,CAACW,MACT,eAAcjC,KAAK,CAACuB,OAAN,CAAcC,OAAd,CAAsBU,QAAtB,EAAiC,MAHtC,CAAZ;IAKA,MAAM9B,iCAAiC,CAACkB,OAAO,CAACW,MAAT,CAAvC;IACA/B,YAAY,CAAC,OAAD,CAAZ;EACD;AACF,CA/BL,CAgCI;AAhCJ;AAmCAG,OAAO,CAAC8B,KAAR"}
|