@rockcarver/frodo-cli 0.18.2-7 → 0.18.2-9
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 +12 -1
- package/esm/app.js +2 -2
- package/esm/app.js.map +1 -1
- package/esm/cli/_template/something-delete.js +7 -4
- package/esm/cli/_template/something-delete.js.map +1 -1
- package/esm/cli/_template/something-describe.js +7 -4
- package/esm/cli/_template/something-describe.js.map +1 -1
- package/esm/cli/_template/something-else-delete.js +7 -4
- package/esm/cli/_template/something-else-delete.js.map +1 -1
- package/esm/cli/_template/something-else-describe.js +7 -4
- package/esm/cli/_template/something-else-describe.js.map +1 -1
- package/esm/cli/_template/something-else-export.js +7 -4
- package/esm/cli/_template/something-else-export.js.map +1 -1
- package/esm/cli/_template/something-else-import.js +7 -4
- package/esm/cli/_template/something-else-import.js.map +1 -1
- package/esm/cli/_template/something-else-list.js +7 -4
- package/esm/cli/_template/something-else-list.js.map +1 -1
- package/esm/cli/_template/something-else.js.map +1 -1
- package/esm/cli/_template/something-export.js +7 -4
- package/esm/cli/_template/something-export.js.map +1 -1
- package/esm/cli/_template/something-import.js +7 -4
- package/esm/cli/_template/something-import.js.map +1 -1
- package/esm/cli/_template/something-list.js +7 -4
- package/esm/cli/_template/something-list.js.map +1 -1
- package/esm/cli/_template/something-other-delete.js +7 -4
- package/esm/cli/_template/something-other-delete.js.map +1 -1
- package/esm/cli/_template/something-other-describe.js +7 -4
- package/esm/cli/_template/something-other-describe.js.map +1 -1
- package/esm/cli/_template/something-other-export.js +7 -4
- package/esm/cli/_template/something-other-export.js.map +1 -1
- package/esm/cli/_template/something-other-import.js +7 -4
- package/esm/cli/_template/something-other-import.js.map +1 -1
- package/esm/cli/_template/something-other-list.js +7 -4
- package/esm/cli/_template/something-other-list.js.map +1 -1
- package/esm/cli/_template/something-other.js.map +1 -1
- package/esm/cli/_template/something.js +0 -2
- package/esm/cli/_template/something.js.map +1 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +5 -3
- 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 +7 -11
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-get-access-token.js +5 -3
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +5 -3
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js +5 -3
- 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 +5 -3
- 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 +5 -3
- 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 +5 -3
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +5 -3
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js +5 -3
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +5 -3
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-show-generic-extension-attributes.js +5 -3
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin.js +0 -2
- package/esm/cli/admin/admin.js.map +1 -1
- package/esm/cli/agent/agent-delete.js +9 -7
- package/esm/cli/agent/agent-delete.js.map +1 -1
- package/esm/cli/agent/agent-describe.js +7 -4
- package/esm/cli/agent/agent-describe.js.map +1 -1
- package/esm/cli/agent/agent-export.js +11 -6
- package/esm/cli/agent/agent-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-delete.js +9 -7
- package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
- package/esm/cli/agent/agent-gateway-describe.js +7 -4
- package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
- package/esm/cli/agent/agent-gateway-export.js +11 -6
- package/esm/cli/agent/agent-gateway-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-import.js +13 -7
- package/esm/cli/agent/agent-gateway-import.js.map +1 -1
- package/esm/cli/agent/agent-gateway-list.js +5 -3
- package/esm/cli/agent/agent-gateway-list.js.map +1 -1
- package/esm/cli/agent/agent-gateway.js.map +1 -1
- package/esm/cli/agent/agent-import.js +13 -7
- package/esm/cli/agent/agent-import.js.map +1 -1
- package/esm/cli/agent/agent-java-delete.js +9 -7
- package/esm/cli/agent/agent-java-delete.js.map +1 -1
- package/esm/cli/agent/agent-java-describe.js +7 -4
- package/esm/cli/agent/agent-java-describe.js.map +1 -1
- package/esm/cli/agent/agent-java-export.js +11 -6
- package/esm/cli/agent/agent-java-export.js.map +1 -1
- package/esm/cli/agent/agent-java-import.js +13 -7
- package/esm/cli/agent/agent-java-import.js.map +1 -1
- package/esm/cli/agent/agent-java-list.js +5 -3
- package/esm/cli/agent/agent-java-list.js.map +1 -1
- package/esm/cli/agent/agent-java.js.map +1 -1
- package/esm/cli/agent/agent-list.js +5 -3
- package/esm/cli/agent/agent-list.js.map +1 -1
- package/esm/cli/agent/agent-web-delete.js +9 -7
- package/esm/cli/agent/agent-web-delete.js.map +1 -1
- package/esm/cli/agent/agent-web-describe.js +7 -4
- package/esm/cli/agent/agent-web-describe.js.map +1 -1
- package/esm/cli/agent/agent-web-export.js +11 -6
- package/esm/cli/agent/agent-web-export.js.map +1 -1
- package/esm/cli/agent/agent-web-import.js +13 -7
- package/esm/cli/agent/agent-web-import.js.map +1 -1
- package/esm/cli/agent/agent-web-list.js +5 -3
- package/esm/cli/agent/agent-web-list.js.map +1 -1
- package/esm/cli/agent/agent-web.js.map +1 -1
- package/esm/cli/agent/agent.js +0 -2
- package/esm/cli/agent/agent.js.map +1 -1
- package/esm/cli/app/app-delete.js +7 -4
- package/esm/cli/app/app-delete.js.map +1 -1
- package/esm/cli/app/app-describe.js +7 -4
- package/esm/cli/app/app-describe.js.map +1 -1
- package/esm/cli/app/app-export.js +11 -6
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js +9 -5
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js +5 -3
- package/esm/cli/app/app-list.js.map +1 -1
- package/esm/cli/app/app.js +8 -5
- package/esm/cli/app/app.js.map +1 -1
- package/esm/cli/cmd_common.js +2 -1
- package/esm/cli/cmd_common.js.map +1 -1
- package/esm/cli/conn/conn-add.js +5 -5
- package/esm/cli/conn/conn-add.js.map +1 -1
- package/esm/cli/conn/conn-delete.js +5 -2
- package/esm/cli/conn/conn-delete.js.map +1 -1
- package/esm/cli/conn/conn-describe.js +5 -2
- package/esm/cli/conn/conn-describe.js.map +1 -1
- package/esm/cli/conn/conn-list.js +7 -3
- package/esm/cli/conn/conn-list.js.map +1 -1
- package/esm/cli/conn/conn.js +2 -3
- package/esm/cli/conn/conn.js.map +1 -1
- package/esm/cli/email/email-template-export.js +13 -12
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +15 -14
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +7 -7
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/email/email-template.js.map +1 -1
- package/esm/cli/email/email.js +0 -2
- package/esm/cli/email/email.js.map +1 -1
- package/esm/cli/esv/esv-apply.js +9 -11
- package/esm/cli/esv/esv-apply.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js +5 -3
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js +9 -5
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js +5 -3
- package/esm/cli/esv/esv-secret-describe.js.map +1 -1
- package/esm/cli/esv/esv-secret-export.js +7 -4
- package/esm/cli/esv/esv-secret-export.js.map +1 -1
- package/esm/cli/esv/esv-secret-import.js +7 -4
- package/esm/cli/esv/esv-secret-import.js.map +1 -1
- package/esm/cli/esv/esv-secret-list.js +5 -3
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js +5 -3
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js +7 -4
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js +5 -3
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +7 -4
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js +7 -4
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js +5 -3
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-version.js.map +1 -1
- package/esm/cli/esv/esv-secret.js +4 -1
- package/esm/cli/esv/esv-secret.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js +5 -3
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js +9 -5
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js +5 -3
- package/esm/cli/esv/esv-variable-describe.js.map +1 -1
- package/esm/cli/esv/esv-variable-export.js +7 -4
- package/esm/cli/esv/esv-variable-export.js.map +1 -1
- package/esm/cli/esv/esv-variable-import.js +7 -4
- package/esm/cli/esv/esv-variable-import.js.map +1 -1
- package/esm/cli/esv/esv-variable-list.js +5 -3
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js +7 -4
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/esv/esv-variable.js +4 -1
- package/esm/cli/esv/esv-variable.js.map +1 -1
- package/esm/cli/esv/esv.js +0 -2
- package/esm/cli/esv/esv.js.map +1 -1
- package/esm/cli/idm/idm-count.js +5 -3
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js +11 -6
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-import.js +11 -6
- package/esm/cli/idm/idm-import.js.map +1 -1
- package/esm/cli/idm/idm-list.js +7 -4
- package/esm/cli/idm/idm-list.js.map +1 -1
- package/esm/cli/idm/idm.js +2 -3
- package/esm/cli/idm/idm.js.map +1 -1
- package/esm/cli/idp/idp-export.js +11 -6
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js +13 -7
- package/esm/cli/idp/idp-import.js.map +1 -1
- package/esm/cli/idp/idp-list.js +7 -4
- package/esm/cli/idp/idp-list.js.map +1 -1
- package/esm/cli/idp/idp.js +0 -2
- package/esm/cli/idp/idp.js.map +1 -1
- package/esm/cli/info/info.js +0 -5
- 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 +9 -5
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js +31 -28
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js +9 -6
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js +9 -6
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js +11 -6
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js +13 -7
- 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 -3
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js +5 -5
- package/esm/cli/journey/journey-prune.js.map +1 -1
- package/esm/cli/journey/journey.js +0 -2
- package/esm/cli/journey/journey.js.map +1 -1
- package/esm/cli/logging/logs-fetch.js +2 -11
- package/esm/cli/logging/logs-fetch.js.map +1 -1
- package/esm/cli/logging/logs-list.js +0 -5
- package/esm/cli/logging/logs-list.js.map +1 -1
- package/esm/cli/logging/logs-tail.js +0 -4
- package/esm/cli/logging/logs-tail.js.map +1 -1
- package/esm/cli/logging/logs.js +2 -4
- package/esm/cli/logging/logs.js.map +1 -1
- package/esm/cli/realm/realm-add-custom-domain.js +5 -3
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js +5 -3
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js +5 -3
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +5 -3
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm.js +5 -4
- package/esm/cli/realm/realm.js.map +1 -1
- package/esm/cli/saml/saml-cot-export.js +11 -6
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js +13 -7
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js +5 -3
- package/esm/cli/saml/saml-cot-list.js.map +1 -1
- package/esm/cli/saml/saml-cot.js.map +1 -1
- package/esm/cli/saml/saml-delete.js +11 -6
- package/esm/cli/saml/saml-delete.js.map +1 -1
- package/esm/cli/saml/saml-describe.js +5 -3
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js +13 -7
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js +13 -7
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js +5 -3
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js +7 -4
- package/esm/cli/saml/saml-metadata-export.js.map +1 -1
- package/esm/cli/saml/saml-metadata.js.map +1 -1
- package/esm/cli/saml/saml.js +0 -2
- package/esm/cli/saml/saml.js.map +1 -1
- package/esm/cli/script/script-delete.js +7 -4
- package/esm/cli/script/script-delete.js.map +1 -1
- package/esm/cli/script/script-describe.js +7 -4
- package/esm/cli/script/script-describe.js.map +1 -1
- package/esm/cli/script/script-export.js +15 -8
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js +7 -4
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js +5 -3
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/script/script.js +6 -4
- package/esm/cli/script/script.js.map +1 -1
- package/esm/cli/service/service-delete.js +0 -1
- package/esm/cli/service/service-delete.js.map +1 -1
- package/esm/cli/service/service-export.js +11 -6
- package/esm/cli/service/service-export.js.map +1 -1
- package/esm/cli/service/service-import.js +13 -6
- package/esm/cli/service/service-import.js.map +1 -1
- package/esm/cli/service/service-list.js +0 -1
- package/esm/cli/service/service-list.js.map +1 -1
- package/esm/cli/service/service.js +0 -2
- package/esm/cli/service/service.js.map +1 -1
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +1 -1
- package/esm/cli/theme/theme-delete.js +16 -14
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +17 -15
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +19 -17
- 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 +7 -7
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/cli/theme/theme.js +0 -2
- package/esm/cli/theme/theme.js.map +1 -1
- package/esm/ops/AgentOps.js +48 -126
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/CirclesOfTrustOps.js +2 -2
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +270 -6
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdpOps.js +2 -2
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +96 -152
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/NodeOps.js +6 -12
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js +25 -78
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test_.js.map +1 -1
- package/esm/ops/ScriptOps.js +3 -3
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ServiceOps.js +10 -31
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +331 -2
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/utils/Wordwrap.js.map +1 -1
- package/esm/storage/StaticStorage.js.map +1 -1
- package/esm/utils/Config.js +0 -9
- package/esm/utils/Config.js.map +1 -1
- package/esm/utils/Console.js +32 -79
- package/esm/utils/Console.js.map +1 -1
- package/esm/utils/ExportImportUtils.js +46 -0
- package/esm/utils/ExportImportUtils.js.map +1 -0
- package/esm/utils/Version.js +6 -24
- package/esm/utils/Version.js.map +1 -1
- package/package.json +18 -17
|
@@ -12,7 +12,8 @@ const {
|
|
|
12
12
|
importFirstCircleOfTrust
|
|
13
13
|
} = CirclesOfTrust;
|
|
14
14
|
const program = new Command('frodo saml cot import');
|
|
15
|
-
program.description('Import SAML circles of trust.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --cot-id <cot-id>', 'Circle of trust id. If specified, only one circle of trust is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the circle(s) of trust from.')).addOption(new Option('-a, --all', 'Import all circles of trust from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all circles of trust from separate files (*.cot.saml.json) in the current directory. Ignored with -i or -a.')).action(
|
|
15
|
+
program.description('Import SAML circles of trust.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --cot-id <cot-id>', 'Circle of trust id. If specified, only one circle of trust is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the circle(s) of trust from.')).addOption(new Option('-a, --all', 'Import all circles of trust from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all circles of trust from separate files (*.cot.saml.json) in the current directory. Ignored with -i or -a.')).action(
|
|
16
|
+
// implement program logic inside action handler
|
|
16
17
|
async (host, realm, user, password, options) => {
|
|
17
18
|
state.default.session.setTenant(host);
|
|
18
19
|
state.default.session.setRealm(realm);
|
|
@@ -23,31 +24,36 @@ async (host, realm, user, password, options) => {
|
|
|
23
24
|
state.default.session.setVerbose(options.verbose);
|
|
24
25
|
state.default.session.setDebug(options.debug);
|
|
25
26
|
state.default.session.setCurlirize(options.curlirize);
|
|
26
|
-
|
|
27
27
|
if (await getTokens()) {
|
|
28
28
|
// import by id
|
|
29
29
|
if (options.file && options.cotId) {
|
|
30
30
|
printMessage(`Importing circle of trust "${options.cotId}" into realm "${state.default.session.getRealm()}"...`);
|
|
31
31
|
importCircleOfTrust(options.cotId, options.file);
|
|
32
|
-
}
|
|
32
|
+
}
|
|
33
|
+
// --all -a
|
|
33
34
|
else if (options.all && options.file) {
|
|
34
35
|
printMessage(`Importing all circles of trust from a single file (${options.file})...`);
|
|
35
36
|
importCirclesOfTrustFromFile(options.file);
|
|
36
|
-
}
|
|
37
|
+
}
|
|
38
|
+
// --all-separate -A
|
|
37
39
|
else if (options.allSeparate && !options.file) {
|
|
38
40
|
printMessage('Importing all circles of trust from separate files (*.saml.json) in current directory...');
|
|
39
41
|
importCirclesOfTrustFromFiles();
|
|
40
|
-
}
|
|
42
|
+
}
|
|
43
|
+
// import first provider from file
|
|
41
44
|
else if (options.file) {
|
|
42
45
|
printMessage(`Importing first circle of trust from file "${options.file}" into realm "${state.default.session.getRealm()}"...`);
|
|
43
46
|
importFirstCircleOfTrust(options.file);
|
|
44
|
-
}
|
|
47
|
+
}
|
|
48
|
+
// unrecognized combination of options or no options
|
|
45
49
|
else {
|
|
46
50
|
printMessage('Unrecognized combination of options or no options...');
|
|
47
51
|
program.help();
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
|
-
}
|
|
54
|
+
}
|
|
55
|
+
// end program logic inside action handler
|
|
51
56
|
);
|
|
57
|
+
|
|
52
58
|
program.parse();
|
|
53
59
|
//# sourceMappingURL=saml-cot-import.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saml-cot-import.js","names":["Command","Option","Authenticate","CirclesOfTrust","state","common","printMessage","getTokens","importCircleOfTrust","importCirclesOfTrustFromFile","importCirclesOfTrustFromFiles","importFirstCircleOfTrust","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","file","cotId","getRealm","all","allSeparate","help","parse"],"sources":["cli/saml/saml-cot-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, CirclesOfTrust, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n importCircleOfTrust,\n importCirclesOfTrustFromFile,\n importCirclesOfTrustFromFiles,\n importFirstCircleOfTrust,\n} = CirclesOfTrust;\n\nconst program = new Command('frodo saml cot import');\n\nprogram\n .description('Import SAML circles of trust.')\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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option(\n '-i, --cot-id <cot-id>',\n 'Circle of trust id. If specified, only one circle of trust is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the circle(s) of trust from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all circles of trust from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all circles of trust from separate files (*.cot.saml.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement program logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (await getTokens()) {\n // import by id\n if (options.file && options.cotId) {\n printMessage(\n `Importing circle of trust \"${\n options.cotId\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importCircleOfTrust(options.cotId, options.file);\n }\n // --all -a\n else if (options.all && options.file) {\n printMessage(\n `Importing all circles of trust from a single file (${options.file})...`\n );\n importCirclesOfTrustFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file) {\n printMessage(\n 'Importing all circles of trust from separate files (*.saml.json) in current directory...'\n );\n importCirclesOfTrustFromFiles();\n }\n // import first provider from file\n else if (options.file) {\n printMessage(\n `Importing first circle of trust from file \"${\n options.file\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importFirstCircleOfTrust(options.file);\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n }\n // end program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"saml-cot-import.js","names":["Command","Option","Authenticate","CirclesOfTrust","state","common","printMessage","getTokens","importCircleOfTrust","importCirclesOfTrustFromFile","importCirclesOfTrustFromFiles","importFirstCircleOfTrust","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","file","cotId","getRealm","all","allSeparate","help","parse"],"sources":["cli/saml/saml-cot-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, CirclesOfTrust, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst {\n importCircleOfTrust,\n importCirclesOfTrustFromFile,\n importCirclesOfTrustFromFiles,\n importFirstCircleOfTrust,\n} = CirclesOfTrust;\n\nconst program = new Command('frodo saml cot import');\n\nprogram\n .description('Import SAML circles of trust.')\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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option(\n '-i, --cot-id <cot-id>',\n 'Circle of trust id. If specified, only one circle of trust is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the circle(s) of trust from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all circles of trust from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all circles of trust from separate files (*.cot.saml.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .action(\n // implement program logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (await getTokens()) {\n // import by id\n if (options.file && options.cotId) {\n printMessage(\n `Importing circle of trust \"${\n options.cotId\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importCircleOfTrust(options.cotId, options.file);\n }\n // --all -a\n else if (options.all && options.file) {\n printMessage(\n `Importing all circles of trust from a single file (${options.file})...`\n );\n importCirclesOfTrustFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file) {\n printMessage(\n 'Importing all circles of trust from separate files (*.saml.json) in current directory...'\n );\n importCirclesOfTrustFromFiles();\n }\n // import first provider from file\n else if (options.file) {\n printMessage(\n `Importing first circle of trust from file \"${\n options.file\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importFirstCircleOfTrust(options.file);\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n }\n // end program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -9,7 +9,8 @@ const {
|
|
|
9
9
|
listCirclesOfTrust
|
|
10
10
|
} = CirclesOfTrust;
|
|
11
11
|
const program = new Command('frodo saml cot list');
|
|
12
|
-
program.description('List SAML circles of trust.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
|
|
12
|
+
program.description('List SAML circles of trust.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
|
|
13
|
+
// implement command logic inside action handler
|
|
13
14
|
async (host, realm, user, password, options) => {
|
|
14
15
|
state.default.session.setTenant(host);
|
|
15
16
|
state.default.session.setRealm(realm);
|
|
@@ -20,12 +21,13 @@ async (host, realm, user, password, options) => {
|
|
|
20
21
|
state.default.session.setVerbose(options.verbose);
|
|
21
22
|
state.default.session.setDebug(options.debug);
|
|
22
23
|
state.default.session.setCurlirize(options.curlirize);
|
|
23
|
-
|
|
24
24
|
if (await getTokens()) {
|
|
25
25
|
printMessage(`Listing SAML circles of trust in realm "${state.default.session.getRealm()}"...`);
|
|
26
26
|
listCirclesOfTrust(options.long);
|
|
27
27
|
}
|
|
28
|
-
}
|
|
28
|
+
}
|
|
29
|
+
// end command logic inside action handler
|
|
29
30
|
);
|
|
31
|
+
|
|
30
32
|
program.parse();
|
|
31
33
|
//# sourceMappingURL=saml-cot-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saml-cot-list.js","names":["Command","Option","Authenticate","CirclesOfTrust","state","common","printMessage","getTokens","listCirclesOfTrust","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","getRealm","long","parse"],"sources":["cli/saml/saml-cot-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, CirclesOfTrust, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst { listCirclesOfTrust } = CirclesOfTrust;\n\nconst program = new Command('frodo saml cot list');\n\nprogram\n .description('List SAML circles of trust.')\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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (await getTokens()) {\n printMessage(\n `Listing SAML circles of trust in realm \"${state.default.session.getRealm()}\"...`\n );\n listCirclesOfTrust(options.long);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"saml-cot-list.js","names":["Command","Option","Authenticate","CirclesOfTrust","state","common","printMessage","getTokens","listCirclesOfTrust","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","default","action","host","realm","user","password","options","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","getRealm","long","parse"],"sources":["cli/saml/saml-cot-list.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, CirclesOfTrust, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\n\nconst { getTokens } = Authenticate;\nconst { listCirclesOfTrust } = CirclesOfTrust;\n\nconst program = new Command('frodo saml cot list');\n\nprogram\n .description('List SAML circles of trust.')\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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (await getTokens()) {\n printMessage(\n `Listing SAML circles of trust in realm \"${state.default.session.getRealm()}\"...`\n );\n listCirclesOfTrust(options.long);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,cAAc,EAAEC,KAAK,QAAQ,uBAAuB;AAC3E,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,YAAY,QAAQ,qBAAqB;AAElD,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAClC,MAAM;EAAEM;AAAmB,CAAC,GAAGL,cAAc;AAE7C,MAAMM,OAAO,GAAG,IAAIT,OAAO,CAAC,qBAAqB,CAAC;AAElDS,OAAO,CACJC,WAAW,CAAC,6BAA6B,CAAC,CAC1CC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACR,MAAM,CAACS,aAAa,CAAC,CACjCD,WAAW,CAACR,MAAM,CAACU,aAAa,CAAC,CACjCF,WAAW,CAACR,MAAM,CAACW,YAAY,CAAC,CAChCH,WAAW,CAACR,MAAM,CAACY,gBAAgB,CAAC,CACpCC,SAAS,CAACb,MAAM,CAACc,gBAAgB,CAAC,CAClCD,SAAS,CAACb,MAAM,CAACe,cAAc,CAAC,CAChCF,SAAS,CAACb,MAAM,CAACgB,aAAa,CAAC,CAC/BH,SAAS,CAACb,MAAM,CAACiB,WAAW,CAAC,CAC7BJ,SAAS,CAACb,MAAM,CAACkB,eAAe,CAAC,CACjCL,SAAS,CACR,IAAIjB,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACuB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAC1E,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9C1B,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACC,SAAS,CAACN,IAAI,CAAC;EACrCtB,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACE,QAAQ,CAACN,KAAK,CAAC;EACrCvB,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACG,WAAW,CAACN,IAAI,CAAC;EACvCxB,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACI,WAAW,CAACN,QAAQ,CAAC;EAC3CzB,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACK,iBAAiB,CAACN,OAAO,CAACO,IAAI,CAAC;EACrDjC,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACO,0BAA0B,CAACR,OAAO,CAACS,QAAQ,CAAC;EAClEnC,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACS,UAAU,CAACV,OAAO,CAACW,OAAO,CAAC;EACjDrC,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACW,QAAQ,CAACZ,OAAO,CAACa,KAAK,CAAC;EAC7CvC,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACa,YAAY,CAACd,OAAO,CAACe,SAAS,CAAC;EACrD,IAAI,MAAMtC,SAAS,EAAE,EAAE;IACrBD,YAAY,CACT,2CAA0CF,KAAK,CAACoB,OAAO,CAACO,OAAO,CAACe,QAAQ,EAAG,MAAK,CAClF;IACDtC,kBAAkB,CAACsB,OAAO,CAACiB,IAAI,CAAC;EAClC;AACF;AACA;AAAA,CACD;;AAEHtC,OAAO,CAACuC,KAAK,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saml-cot.js","names":["Command","program","description","helpOption","showHelpAfterError","command","parse"],"sources":["cli/saml/saml-cot.ts"],"sourcesContent":["import { Command } from 'commander';\n\nconst program = new Command('frodo saml cot');\n\nprogram\n .description('Manage circles of trust.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError();\n\nprogram.command('list', 'List circles of trust.').showHelpAfterError();\n\nprogram.command('export', 'Export circles of trust.').showHelpAfterError();\n\nprogram.command('import', 'Import circles of trust.').showHelpAfterError();\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"saml-cot.js","names":["Command","program","description","helpOption","showHelpAfterError","command","parse"],"sources":["cli/saml/saml-cot.ts"],"sourcesContent":["import { Command } from 'commander';\n\nconst program = new Command('frodo saml cot');\n\nprogram\n .description('Manage circles of trust.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError();\n\nprogram.command('list', 'List circles of trust.').showHelpAfterError();\n\nprogram.command('export', 'Export circles of trust.').showHelpAfterError();\n\nprogram.command('import', 'Import circles of trust.').showHelpAfterError();\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,WAAW;AAEnC,MAAMC,OAAO,GAAG,IAAID,OAAO,CAAC,gBAAgB,CAAC;AAE7CC,OAAO,CACJC,WAAW,CAAC,0BAA0B,CAAC,CACvCC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE;AAEvBH,OAAO,CAACI,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAACD,kBAAkB,EAAE;AAEtEH,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAACD,kBAAkB,EAAE;AAE1EH,OAAO,CAACI,OAAO,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAACD,kBAAkB,EAAE;AAE1EH,OAAO,CAACK,KAAK,EAAE"}
|
|
@@ -10,7 +10,8 @@ const {
|
|
|
10
10
|
deleteSaml2Providers
|
|
11
11
|
} = Saml2;
|
|
12
12
|
const program = new Command('frodo saml delete');
|
|
13
|
-
program.description('Delete SAML entity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id. If specified, -a is ignored.')).addOption(new Option('-a, --all', 'Delete all entity providers. Ignored with -i.')).action(
|
|
13
|
+
program.description('Delete SAML entity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id. If specified, -a is ignored.')).addOption(new Option('-a, --all', 'Delete all entity providers. Ignored with -i.')).action(
|
|
14
|
+
// implement command logic inside action handler
|
|
14
15
|
async (host, realm, user, password, options) => {
|
|
15
16
|
state.default.session.setTenant(host);
|
|
16
17
|
state.default.session.setRealm(realm);
|
|
@@ -20,21 +21,25 @@ async (host, realm, user, password, options) => {
|
|
|
20
21
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
21
22
|
state.default.session.setVerbose(options.verbose);
|
|
22
23
|
state.default.session.setDebug(options.debug);
|
|
23
|
-
state.default.session.setCurlirize(options.curlirize);
|
|
24
|
-
|
|
24
|
+
state.default.session.setCurlirize(options.curlirize);
|
|
25
|
+
// -i / --entity-id
|
|
25
26
|
if (options.entityId && (await getTokens())) {
|
|
26
27
|
verboseMessage(`Deleting entity provider '${options.entityId}'...`);
|
|
27
28
|
await deleteSaml2Provider(options.entityId);
|
|
28
|
-
}
|
|
29
|
+
}
|
|
30
|
+
// -a / --all
|
|
29
31
|
else if (options.all && (await getTokens())) {
|
|
30
32
|
verboseMessage(`Deleting all entity providers...`);
|
|
31
33
|
await deleteSaml2Providers();
|
|
32
|
-
}
|
|
34
|
+
}
|
|
35
|
+
// unrecognized combination of options or no options
|
|
33
36
|
else {
|
|
34
37
|
printMessage('Unrecognized combination of options or no options...', 'error');
|
|
35
38
|
program.help();
|
|
36
39
|
}
|
|
37
|
-
}
|
|
40
|
+
}
|
|
41
|
+
// end command logic inside action handler
|
|
38
42
|
);
|
|
43
|
+
|
|
39
44
|
program.parse();
|
|
40
45
|
//# sourceMappingURL=saml-delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saml-delete.js","names":["Authenticate","Saml2","state","Command","Option","printMessage","verboseMessage","common","getTokens","deleteSaml2Provider","deleteSaml2Providers","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","entityId","all","help","parse"],"sources":["cli/saml/saml-delete.ts"],"sourcesContent":["import { Authenticate, Saml2, state } from '@rockcarver/frodo-lib';\nimport { Command, Option } from 'commander';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { deleteSaml2Provider, deleteSaml2Providers } = Saml2;\n\nconst program = new Command('frodo saml delete');\n\nprogram\n .description('Delete SAML entity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option(\n '-i, --entity-id <entity-id>',\n 'Entity id. If specified, -a is ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all entity providers. Ignored with -i.')\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 state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n // -i / --entity-id\n if (options.entityId && (await getTokens())) {\n verboseMessage(`Deleting entity provider '${options.entityId}'...`);\n await deleteSaml2Provider(options.entityId);\n }\n // -a / --all\n else if (options.all && (await getTokens())) {\n verboseMessage(`Deleting all entity providers...`);\n await deleteSaml2Providers();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"saml-delete.js","names":["Authenticate","Saml2","state","Command","Option","printMessage","verboseMessage","common","getTokens","deleteSaml2Provider","deleteSaml2Providers","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","entityId","all","help","parse"],"sources":["cli/saml/saml-delete.ts"],"sourcesContent":["import { Authenticate, Saml2, state } from '@rockcarver/frodo-lib';\nimport { Command, Option } from 'commander';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport * as common from '../cmd_common.js';\n\nconst { getTokens } = Authenticate;\nconst { deleteSaml2Provider, deleteSaml2Providers } = Saml2;\n\nconst program = new Command('frodo saml delete');\n\nprogram\n .description('Delete SAML entity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option(\n '-i, --entity-id <entity-id>',\n 'Entity id. If specified, -a is ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all entity providers. Ignored with -i.')\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 state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n // -i / --entity-id\n if (options.entityId && (await getTokens())) {\n verboseMessage(`Deleting entity provider '${options.entityId}'...`);\n await deleteSaml2Provider(options.entityId);\n }\n // -a / --all\n else if (options.all && (await getTokens())) {\n verboseMessage(`Deleting all entity providers...`);\n await deleteSaml2Providers();\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@ const {
|
|
|
7
7
|
getTokens
|
|
8
8
|
} = Authenticate;
|
|
9
9
|
const program = new Command('frodo saml describe');
|
|
10
|
-
program.description('Describe the configuration of an entity provider.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id.')).action(
|
|
10
|
+
program.description('Describe the configuration of an entity provider.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id.')).action(
|
|
11
|
+
// implement command logic inside action handler
|
|
11
12
|
async (host, realm, user, password, options) => {
|
|
12
13
|
state.default.session.setTenant(host);
|
|
13
14
|
state.default.session.setRealm(realm);
|
|
@@ -18,12 +19,13 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setVerbose(options.verbose);
|
|
19
20
|
state.default.session.setDebug(options.debug);
|
|
20
21
|
state.default.session.setCurlirize(options.curlirize);
|
|
21
|
-
|
|
22
22
|
if (await getTokens()) {
|
|
23
23
|
printMessage(`Describing SAML entity provider ${options.entityId} in realm "${state.default.session.getRealm()}"...`);
|
|
24
24
|
describeSaml2Provider(options.entityId);
|
|
25
25
|
}
|
|
26
|
-
}
|
|
26
|
+
}
|
|
27
|
+
// end command logic inside action handler
|
|
27
28
|
);
|
|
29
|
+
|
|
28
30
|
program.parse();
|
|
29
31
|
//# sourceMappingURL=saml-describe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saml-describe.js","names":["Command","Option","Authenticate","state","common","printMessage","describeSaml2Provider","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","entityId","getRealm","parse"],"sources":["cli/saml/saml-describe.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\nimport { describeSaml2Provider } from '../../ops/Saml2Ops';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo saml describe');\n\nprogram\n .description('Describe the configuration of an entity provider.')\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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(new Option('-i, --entity-id <entity-id>', 'Entity id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (await getTokens()) {\n printMessage(\n `Describing SAML entity provider ${\n options.entityId\n } in realm \"${state.default.session.getRealm()}\"...`\n );\n describeSaml2Provider(options.entityId);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"saml-describe.js","names":["Command","Option","Authenticate","state","common","printMessage","describeSaml2Provider","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","entityId","getRealm","parse"],"sources":["cli/saml/saml-describe.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage } from '../../utils/Console';\nimport { describeSaml2Provider } from '../../ops/Saml2Ops';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo saml describe');\n\nprogram\n .description('Describe the configuration of an entity provider.')\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(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(new Option('-i, --entity-id <entity-id>', 'Entity id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (await getTokens()) {\n printMessage(\n `Describing SAML entity provider ${\n options.entityId\n } in realm \"${state.default.session.getRealm()}\"...`\n );\n describeSaml2Provider(options.entityId);\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,WAAW;AAC3C,SAASC,YAAY,EAAEC,KAAK,QAAQ,uBAAuB;AAC3D,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,YAAY,QAAQ,qBAAqB;AAClD,SAASC,qBAAqB,QAAQ,oBAAoB;AAE1D,MAAM;EAAEC;AAAU,CAAC,GAAGL,YAAY;AAElC,MAAMM,OAAO,GAAG,IAAIR,OAAO,CAAC,qBAAqB,CAAC;AAElDQ,OAAO,CACJC,WAAW,CAAC,mDAAmD,CAAC,CAChEC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAChCC,kBAAkB,EAAE,CACpBC,WAAW,CAACR,MAAM,CAACS,aAAa,CAAC,CACjCD,WAAW,CAACR,MAAM,CAACU,aAAa,CAAC,CACjCF,WAAW,CAACR,MAAM,CAACW,YAAY,CAAC,CAChCH,WAAW,CAACR,MAAM,CAACY,gBAAgB,CAAC,CACpCC,SAAS,CAACb,MAAM,CAACc,gBAAgB,CAAC,CAClCD,SAAS,CAACb,MAAM,CAACe,cAAc,CAAC,CAChCF,SAAS,CAACb,MAAM,CAACgB,aAAa,CAAC,CAC/BH,SAAS,CAACb,MAAM,CAACiB,WAAW,CAAC,CAC7BJ,SAAS,CAACb,MAAM,CAACkB,eAAe,CAAC,CACjCL,SAAS,CAAC,IAAIhB,MAAM,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC,CAClEsB,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,KAAK;EAC9CzB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACC,SAAS,CAACP,IAAI,CAAC;EACrCrB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACE,QAAQ,CAACP,KAAK,CAAC;EACrCtB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACG,WAAW,CAACP,IAAI,CAAC;EACvCvB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACI,WAAW,CAACP,QAAQ,CAAC;EAC3CxB,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACK,iBAAiB,CAACP,OAAO,CAACQ,IAAI,CAAC;EACrDjC,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACO,0BAA0B,CAACT,OAAO,CAACU,QAAQ,CAAC;EAClEnC,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACS,UAAU,CAACX,OAAO,CAACY,OAAO,CAAC;EACjDrC,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACW,QAAQ,CAACb,OAAO,CAACc,KAAK,CAAC;EAC7CvC,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACa,YAAY,CAACf,OAAO,CAACgB,SAAS,CAAC;EACrD,IAAI,MAAMrC,SAAS,EAAE,EAAE;IACrBF,YAAY,CACT,mCACCuB,OAAO,CAACiB,QACT,cAAa1C,KAAK,CAAC0B,OAAO,CAACC,OAAO,CAACgB,QAAQ,EAAG,MAAK,CACrD;IACDxC,qBAAqB,CAACsB,OAAO,CAACiB,QAAQ,CAAC;EACzC;AACF;AACA;AAAA,CACD;;AAEHrC,OAAO,CAACuC,KAAK,EAAE"}
|
|
@@ -7,7 +7,8 @@ const {
|
|
|
7
7
|
getTokens
|
|
8
8
|
} = Authenticate;
|
|
9
9
|
const program = new Command('frodo saml export');
|
|
10
|
-
program.description('Export SAML entity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the file to write the exported provider(s) to. Ignored with -A. If not specified, the export file is named <id>.saml.json.')).addOption(new Option('-a, --all', 'Export all the providers in a realm to a single file. Ignored with -t and -i.')).addOption(new Option('-A, --all-separate', 'Export all the providers in a realm as separate files <provider name>.saml.json. Ignored with -t, -i, and -a.')).addOption(new Option('--raw', 'Include raw XML in export.')).action(
|
|
10
|
+
program.description('Export SAML entity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the file to write the exported provider(s) to. Ignored with -A. If not specified, the export file is named <id>.saml.json.')).addOption(new Option('-a, --all', 'Export all the providers in a realm to a single file. Ignored with -t and -i.')).addOption(new Option('-A, --all-separate', 'Export all the providers in a realm as separate files <provider name>.saml.json. Ignored with -t, -i, and -a.')).addOption(new Option('--raw', 'Include raw XML in export.')).action(
|
|
11
|
+
// implement command logic inside action handler
|
|
11
12
|
async (host, realm, user, password, options) => {
|
|
12
13
|
state.default.session.setTenant(host);
|
|
13
14
|
state.default.session.setRealm(realm);
|
|
@@ -17,8 +18,8 @@ async (host, realm, user, password, options) => {
|
|
|
17
18
|
state.default.session.setAllowInsecureConnection(options.insecure);
|
|
18
19
|
state.default.session.setVerbose(options.verbose);
|
|
19
20
|
state.default.session.setDebug(options.debug);
|
|
20
|
-
state.default.session.setCurlirize(options.curlirize);
|
|
21
|
-
|
|
21
|
+
state.default.session.setCurlirize(options.curlirize);
|
|
22
|
+
// export by id/name
|
|
22
23
|
if (options.entityId && (await getTokens())) {
|
|
23
24
|
if (!options.raw) {
|
|
24
25
|
verboseMessage(`Exporting provider "${options.entityId}" from realm "${state.default.session.getRealm()}"...`);
|
|
@@ -27,7 +28,8 @@ async (host, realm, user, password, options) => {
|
|
|
27
28
|
verboseMessage(`Exporting raw provider "${options.entityId}" from realm "${state.default.session.getRealm()}"...`);
|
|
28
29
|
await exportRawSaml2ProviderToFile(options.entityId, options.file);
|
|
29
30
|
}
|
|
30
|
-
}
|
|
31
|
+
}
|
|
32
|
+
// --all -a
|
|
31
33
|
else if (options.all && (await getTokens())) {
|
|
32
34
|
if (!options.raw) {
|
|
33
35
|
verboseMessage('Exporting all providers to a single file...');
|
|
@@ -36,7 +38,8 @@ async (host, realm, user, password, options) => {
|
|
|
36
38
|
verboseMessage('Exporting all providers raw to a single file...');
|
|
37
39
|
await exportRawSaml2ProvidersToFile(options.file);
|
|
38
40
|
}
|
|
39
|
-
}
|
|
41
|
+
}
|
|
42
|
+
// --all-separate -A
|
|
40
43
|
else if (options.allSeparate && (await getTokens())) {
|
|
41
44
|
if (!options.raw) {
|
|
42
45
|
verboseMessage('Exporting all providers to separate files...');
|
|
@@ -45,12 +48,15 @@ async (host, realm, user, password, options) => {
|
|
|
45
48
|
verboseMessage('Exporting all providers raw to separate files...');
|
|
46
49
|
await exportRawSaml2ProvidersToFiles();
|
|
47
50
|
}
|
|
48
|
-
}
|
|
51
|
+
}
|
|
52
|
+
// unrecognized combination of options or no options
|
|
49
53
|
else {
|
|
50
54
|
printMessage('Unrecognized combination of options or no options...', 'error');
|
|
51
55
|
program.help();
|
|
52
56
|
}
|
|
53
|
-
}
|
|
57
|
+
}
|
|
58
|
+
// end command logic inside action handler
|
|
54
59
|
);
|
|
60
|
+
|
|
55
61
|
program.parse();
|
|
56
62
|
//# sourceMappingURL=saml-export.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saml-export.js","names":["Command","Option","Authenticate","state","common","printMessage","verboseMessage","exportRawSaml2ProvidersToFile","exportRawSaml2ProvidersToFiles","exportRawSaml2ProviderToFile","exportSaml2ProviderToFile","exportSaml2ProvidersToFile","exportSaml2ProvidersToFiles","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","entityId","raw","getRealm","file","all","allSeparate","help","parse"],"sources":["cli/saml/saml-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n exportRawSaml2ProvidersToFile,\n exportRawSaml2ProvidersToFiles,\n exportRawSaml2ProviderToFile,\n exportSaml2ProviderToFile,\n exportSaml2ProvidersToFile,\n exportSaml2ProvidersToFiles,\n} from '../../ops/Saml2Ops';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo saml export');\n\nprogram\n .description('Export SAML entity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option(\n '-i, --entity-id <entity-id>',\n 'Entity id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the file to write the exported provider(s) to. Ignored with -A. If not specified, the export file is named <id>.saml.json.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the providers in a realm to a single file. Ignored with -t and -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the providers in a realm as separate files <provider name>.saml.json. Ignored with -t, -i, and -a.'\n )\n )\n .addOption(new Option('--raw', 'Include raw XML in export.'))\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 state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n // export by id/name\n if (options.entityId && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n `Exporting provider \"${\n options.entityId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n await exportSaml2ProviderToFile(options.entityId, options.file);\n } else {\n verboseMessage(\n `Exporting raw provider \"${\n options.entityId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n await exportRawSaml2ProviderToFile(options.entityId, options.file);\n }\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n if (!options.raw) {\n verboseMessage('Exporting all providers to a single file...');\n await exportSaml2ProvidersToFile(options.file);\n } else {\n verboseMessage('Exporting all providers raw to a single file...');\n await exportRawSaml2ProvidersToFile(options.file);\n }\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n if (!options.raw) {\n verboseMessage('Exporting all providers to separate files...');\n await exportSaml2ProvidersToFiles();\n } else {\n verboseMessage('Exporting all providers raw to separate files...');\n await exportRawSaml2ProvidersToFiles();\n }\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"saml-export.js","names":["Command","Option","Authenticate","state","common","printMessage","verboseMessage","exportRawSaml2ProvidersToFile","exportRawSaml2ProvidersToFiles","exportRawSaml2ProviderToFile","exportSaml2ProviderToFile","exportSaml2ProvidersToFile","exportSaml2ProvidersToFiles","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","entityId","raw","getRealm","file","all","allSeparate","help","parse"],"sources":["cli/saml/saml-export.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n exportRawSaml2ProvidersToFile,\n exportRawSaml2ProvidersToFiles,\n exportRawSaml2ProviderToFile,\n exportSaml2ProviderToFile,\n exportSaml2ProvidersToFile,\n exportSaml2ProvidersToFiles,\n} from '../../ops/Saml2Ops';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo saml export');\n\nprogram\n .description('Export SAML entity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option(\n '-i, --entity-id <entity-id>',\n 'Entity id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the file to write the exported provider(s) to. Ignored with -A. If not specified, the export file is named <id>.saml.json.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the providers in a realm to a single file. Ignored with -t and -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the providers in a realm as separate files <provider name>.saml.json. Ignored with -t, -i, and -a.'\n )\n )\n .addOption(new Option('--raw', 'Include raw XML in export.'))\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 state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n // export by id/name\n if (options.entityId && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n `Exporting provider \"${\n options.entityId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n await exportSaml2ProviderToFile(options.entityId, options.file);\n } else {\n verboseMessage(\n `Exporting raw provider \"${\n options.entityId\n }\" from realm \"${state.default.session.getRealm()}\"...`\n );\n await exportRawSaml2ProviderToFile(options.entityId, options.file);\n }\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n if (!options.raw) {\n verboseMessage('Exporting all providers to a single file...');\n await exportSaml2ProvidersToFile(options.file);\n } else {\n verboseMessage('Exporting all providers raw to a single file...');\n await exportRawSaml2ProvidersToFile(options.file);\n }\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n if (!options.raw) {\n verboseMessage('Exporting all providers to separate files...');\n await exportSaml2ProvidersToFiles();\n } else {\n verboseMessage('Exporting all providers raw to separate files...');\n await exportRawSaml2ProvidersToFiles();\n }\n }\n // unrecognized combination of options or no options\n else {\n printMessage(\n 'Unrecognized combination of options or no options...',\n 'error'\n );\n program.help();\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@ const {
|
|
|
7
7
|
getTokens
|
|
8
8
|
} = Authenticate;
|
|
9
9
|
const program = new Command('frodo saml import');
|
|
10
|
-
program.description('Import SAML entity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id. If specified, only one provider is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the entity provider(s) from.')).addOption(new Option('-a, --all', 'Import all entity providers from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all entity providers from separate files (*.saml.json) in the current directory. Ignored with -i or -a.')).addOption(new Option('--raw', 'Import files exported with --raw.')).action(
|
|
10
|
+
program.description('Import SAML entity providers.').helpOption('-h, --help', 'Help').showHelpAfterError().addArgument(common.hostArgumentM).addArgument(common.realmArgument).addArgument(common.userArgument).addArgument(common.passwordArgument).addOption(common.deploymentOption).addOption(common.insecureOption).addOption(common.verboseOption).addOption(common.debugOption).addOption(common.curlirizeOption).addOption(new Option('-i, --entity-id <entity-id>', 'Entity id. If specified, only one provider is imported and the options -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the entity provider(s) from.')).addOption(new Option('-a, --all', 'Import all entity providers from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all entity providers from separate files (*.saml.json) in the current directory. Ignored with -i or -a.')).addOption(new Option('--raw', 'Import files exported with --raw.')).action(
|
|
11
|
+
// implement program logic inside action handler
|
|
11
12
|
async (host, realm, user, password, options) => {
|
|
12
13
|
state.default.session.setTenant(host);
|
|
13
14
|
state.default.session.setRealm(realm);
|
|
@@ -18,7 +19,6 @@ async (host, realm, user, password, options) => {
|
|
|
18
19
|
state.default.session.setVerbose(options.verbose);
|
|
19
20
|
state.default.session.setDebug(options.debug);
|
|
20
21
|
state.default.session.setCurlirize(options.curlirize);
|
|
21
|
-
|
|
22
22
|
if (await getTokens()) {
|
|
23
23
|
// import by id
|
|
24
24
|
if (options.file && options.entityId && (await getTokens())) {
|
|
@@ -29,7 +29,8 @@ async (host, realm, user, password, options) => {
|
|
|
29
29
|
verboseMessage(`Importing raw provider "${options.entityId}" into realm "${state.default.session.getRealm()}"...`);
|
|
30
30
|
importRawSaml2ProviderFromFile(options.file);
|
|
31
31
|
}
|
|
32
|
-
}
|
|
32
|
+
}
|
|
33
|
+
// --all -a
|
|
33
34
|
else if (options.all && options.file && (await getTokens())) {
|
|
34
35
|
if (!options.raw) {
|
|
35
36
|
verboseMessage(`Importing all providers from a single file (${options.file})...`);
|
|
@@ -38,7 +39,8 @@ async (host, realm, user, password, options) => {
|
|
|
38
39
|
verboseMessage(`Importing all providers raw from a single file (${options.file})...`);
|
|
39
40
|
importRawSaml2ProvidersFromFile(options.file);
|
|
40
41
|
}
|
|
41
|
-
}
|
|
42
|
+
}
|
|
43
|
+
// --all-separate -A
|
|
42
44
|
else if (options.allSeparate && !options.file && (await getTokens())) {
|
|
43
45
|
if (!options.raw) {
|
|
44
46
|
verboseMessage('Importing all providers from separate files (*.saml.json) in current directory...');
|
|
@@ -46,7 +48,8 @@ async (host, realm, user, password, options) => {
|
|
|
46
48
|
} else {
|
|
47
49
|
importRawSaml2ProvidersFromFiles('.');
|
|
48
50
|
}
|
|
49
|
-
}
|
|
51
|
+
}
|
|
52
|
+
// import first provider from file
|
|
50
53
|
else if (options.file && (await getTokens())) {
|
|
51
54
|
if (!options.raw) {
|
|
52
55
|
verboseMessage(`Importing first provider from file "${options.file}" into realm "${state.default.session.getRealm()}"...`);
|
|
@@ -54,13 +57,16 @@ async (host, realm, user, password, options) => {
|
|
|
54
57
|
} else {
|
|
55
58
|
verboseMessage(`Importing first provider raw from file "${options.file}" into realm "${state.default.session.getRealm()}"...`);
|
|
56
59
|
}
|
|
57
|
-
}
|
|
60
|
+
}
|
|
61
|
+
// unrecognized combination of options or no options
|
|
58
62
|
else {
|
|
59
63
|
printMessage('Unrecognized combination of options or no options...');
|
|
60
64
|
program.help();
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
|
-
}
|
|
67
|
+
}
|
|
68
|
+
// end program logic inside action handler
|
|
64
69
|
);
|
|
70
|
+
|
|
65
71
|
program.parse();
|
|
66
72
|
//# sourceMappingURL=saml-import.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saml-import.js","names":["Command","Option","Authenticate","state","common","printMessage","verboseMessage","importFirstSaml2ProviderFromFile","importRawSaml2ProviderFromFile","importRawSaml2ProvidersFromFile","importRawSaml2ProvidersFromFiles","importSaml2ProviderFromFile","importSaml2ProvidersFromFile","importSaml2ProvidersFromFiles","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","file","entityId","raw","getRealm","all","allSeparate","help","parse"],"sources":["cli/saml/saml-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n importFirstSaml2ProviderFromFile,\n importRawSaml2ProviderFromFile,\n importRawSaml2ProvidersFromFile,\n importRawSaml2ProvidersFromFiles,\n importSaml2ProviderFromFile,\n importSaml2ProvidersFromFile,\n importSaml2ProvidersFromFiles,\n} from '../../ops/Saml2Ops';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo saml import');\n\nprogram\n .description('Import SAML entity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option(\n '-i, --entity-id <entity-id>',\n 'Entity id. If specified, only one provider is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the entity provider(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all entity providers from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all entity providers from separate files (*.saml.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(new Option('--raw', 'Import files exported with --raw.'))\n .action(\n // implement program logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (await getTokens()) {\n // import by id\n if (options.file && options.entityId && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n `Importing provider \"${\n options.entityId\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importSaml2ProviderFromFile(options.entityId, options.file);\n } else {\n verboseMessage(\n `Importing raw provider \"${\n options.entityId\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importRawSaml2ProviderFromFile(options.file);\n }\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n `Importing all providers from a single file (${options.file})...`\n );\n importSaml2ProvidersFromFile(options.file);\n } else {\n verboseMessage(\n `Importing all providers raw from a single file (${options.file})...`\n );\n importRawSaml2ProvidersFromFile(options.file);\n }\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n 'Importing all providers from separate files (*.saml.json) in current directory...'\n );\n importSaml2ProvidersFromFiles();\n } else {\n importRawSaml2ProvidersFromFiles('.');\n }\n }\n // import first provider from file\n else if (options.file && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n `Importing first provider from file \"${\n options.file\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importFirstSaml2ProviderFromFile(options.file);\n } else {\n verboseMessage(\n `Importing first provider raw from file \"${\n options.file\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n }\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n }\n // end program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"saml-import.js","names":["Command","Option","Authenticate","state","common","printMessage","verboseMessage","importFirstSaml2ProviderFromFile","importRawSaml2ProviderFromFile","importRawSaml2ProvidersFromFile","importRawSaml2ProvidersFromFiles","importSaml2ProviderFromFile","importSaml2ProvidersFromFile","importSaml2ProvidersFromFiles","getTokens","program","description","helpOption","showHelpAfterError","addArgument","hostArgumentM","realmArgument","userArgument","passwordArgument","addOption","deploymentOption","insecureOption","verboseOption","debugOption","curlirizeOption","action","host","realm","user","password","options","default","session","setTenant","setRealm","setUsername","setPassword","setDeploymentType","type","setAllowInsecureConnection","insecure","setVerbose","verbose","setDebug","debug","setCurlirize","curlirize","file","entityId","raw","getRealm","all","allSeparate","help","parse"],"sources":["cli/saml/saml-import.ts"],"sourcesContent":["import { Command, Option } from 'commander';\nimport { Authenticate, state } from '@rockcarver/frodo-lib';\nimport * as common from '../cmd_common';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport {\n importFirstSaml2ProviderFromFile,\n importRawSaml2ProviderFromFile,\n importRawSaml2ProvidersFromFile,\n importRawSaml2ProvidersFromFiles,\n importSaml2ProviderFromFile,\n importSaml2ProvidersFromFile,\n importSaml2ProvidersFromFiles,\n} from '../../ops/Saml2Ops';\n\nconst { getTokens } = Authenticate;\n\nconst program = new Command('frodo saml import');\n\nprogram\n .description('Import SAML entity providers.')\n .helpOption('-h, --help', 'Help')\n .showHelpAfterError()\n .addArgument(common.hostArgumentM)\n .addArgument(common.realmArgument)\n .addArgument(common.userArgument)\n .addArgument(common.passwordArgument)\n .addOption(common.deploymentOption)\n .addOption(common.insecureOption)\n .addOption(common.verboseOption)\n .addOption(common.debugOption)\n .addOption(common.curlirizeOption)\n .addOption(\n new Option(\n '-i, --entity-id <entity-id>',\n 'Entity id. If specified, only one provider is imported and the options -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the entity provider(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all entity providers from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all entity providers from separate files (*.saml.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(new Option('--raw', 'Import files exported with --raw.'))\n .action(\n // implement program logic inside action handler\n async (host, realm, user, password, options) => {\n state.default.session.setTenant(host);\n state.default.session.setRealm(realm);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setDeploymentType(options.type);\n state.default.session.setAllowInsecureConnection(options.insecure);\n state.default.session.setVerbose(options.verbose);\n state.default.session.setDebug(options.debug);\n state.default.session.setCurlirize(options.curlirize);\n if (await getTokens()) {\n // import by id\n if (options.file && options.entityId && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n `Importing provider \"${\n options.entityId\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importSaml2ProviderFromFile(options.entityId, options.file);\n } else {\n verboseMessage(\n `Importing raw provider \"${\n options.entityId\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importRawSaml2ProviderFromFile(options.file);\n }\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n `Importing all providers from a single file (${options.file})...`\n );\n importSaml2ProvidersFromFile(options.file);\n } else {\n verboseMessage(\n `Importing all providers raw from a single file (${options.file})...`\n );\n importRawSaml2ProvidersFromFile(options.file);\n }\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n 'Importing all providers from separate files (*.saml.json) in current directory...'\n );\n importSaml2ProvidersFromFiles();\n } else {\n importRawSaml2ProvidersFromFiles('.');\n }\n }\n // import first provider from file\n else if (options.file && (await getTokens())) {\n if (!options.raw) {\n verboseMessage(\n `Importing first provider from file \"${\n options.file\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n importFirstSaml2ProviderFromFile(options.file);\n } else {\n verboseMessage(\n `Importing first provider raw from file \"${\n options.file\n }\" into realm \"${state.default.session.getRealm()}\"...`\n );\n }\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n program.help();\n }\n }\n }\n // end program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|