@rockcarver/frodo-cli 2.0.0-50 → 2.0.0-51
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 +5 -1
- package/esm/cli/_template/something-delete.js +1 -4
- package/esm/cli/_template/something-delete.js.map +1 -1
- package/esm/cli/_template/something-describe.js +1 -4
- package/esm/cli/_template/something-describe.js.map +1 -1
- package/esm/cli/_template/something-else-delete.js +1 -4
- package/esm/cli/_template/something-else-delete.js.map +1 -1
- package/esm/cli/_template/something-else-describe.js +1 -4
- package/esm/cli/_template/something-else-describe.js.map +1 -1
- package/esm/cli/_template/something-else-export.js +1 -4
- package/esm/cli/_template/something-else-export.js.map +1 -1
- package/esm/cli/_template/something-else-import.js +1 -4
- package/esm/cli/_template/something-else-import.js.map +1 -1
- package/esm/cli/_template/something-else-list.js +1 -4
- package/esm/cli/_template/something-else-list.js.map +1 -1
- package/esm/cli/_template/something-export.js +1 -4
- package/esm/cli/_template/something-export.js.map +1 -1
- package/esm/cli/_template/something-import.js +1 -4
- package/esm/cli/_template/something-import.js.map +1 -1
- package/esm/cli/_template/something-list.js +1 -4
- package/esm/cli/_template/something-list.js.map +1 -1
- package/esm/cli/_template/something-other-delete.js +1 -4
- package/esm/cli/_template/something-other-delete.js.map +1 -1
- package/esm/cli/_template/something-other-describe.js +1 -4
- package/esm/cli/_template/something-other-describe.js.map +1 -1
- package/esm/cli/_template/something-other-export.js +1 -4
- package/esm/cli/_template/something-other-export.js.map +1 -1
- package/esm/cli/_template/something-other-import.js +1 -4
- package/esm/cli/_template/something-other-import.js.map +1 -1
- package/esm/cli/_template/something-other-list.js +1 -4
- package/esm/cli/_template/something-other-list.js.map +1 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +1 -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 +1 -3
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +1 -4
- package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -1
- package/esm/cli/admin/admin-federation-export.js +1 -4
- package/esm/cli/admin/admin-federation-export.js.map +1 -1
- package/esm/cli/admin/admin-federation-import.js +1 -4
- package/esm/cli/admin/admin-federation-import.js.map +1 -1
- package/esm/cli/admin/admin-federation-list.js +1 -4
- package/esm/cli/admin/admin-federation-list.js.map +1 -1
- package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +2 -4
- package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -1
- package/esm/cli/admin/admin-get-access-token.js +1 -3
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +1 -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 +1 -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 +1 -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 +1 -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 +1 -3
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +1 -3
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js +1 -3
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +1 -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 +1 -3
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin-train-auto-access-model.js +1 -3
- package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -1
- package/esm/cli/agent/agent-delete.js +1 -3
- package/esm/cli/agent/agent-delete.js.map +1 -1
- package/esm/cli/agent/agent-describe.js +1 -4
- package/esm/cli/agent/agent-describe.js.map +1 -1
- package/esm/cli/agent/agent-export.js +1 -4
- package/esm/cli/agent/agent-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-delete.js +1 -3
- package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
- package/esm/cli/agent/agent-gateway-describe.js +1 -4
- package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
- package/esm/cli/agent/agent-gateway-export.js +1 -4
- package/esm/cli/agent/agent-gateway-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-import.js +1 -4
- package/esm/cli/agent/agent-gateway-import.js.map +1 -1
- package/esm/cli/agent/agent-gateway-list.js +1 -4
- package/esm/cli/agent/agent-gateway-list.js.map +1 -1
- package/esm/cli/agent/agent-import.js +1 -4
- package/esm/cli/agent/agent-import.js.map +1 -1
- package/esm/cli/agent/agent-java-delete.js +1 -3
- package/esm/cli/agent/agent-java-delete.js.map +1 -1
- package/esm/cli/agent/agent-java-describe.js +1 -4
- package/esm/cli/agent/agent-java-describe.js.map +1 -1
- package/esm/cli/agent/agent-java-export.js +1 -4
- package/esm/cli/agent/agent-java-export.js.map +1 -1
- package/esm/cli/agent/agent-java-import.js +1 -4
- package/esm/cli/agent/agent-java-import.js.map +1 -1
- package/esm/cli/agent/agent-java-list.js +1 -4
- package/esm/cli/agent/agent-java-list.js.map +1 -1
- package/esm/cli/agent/agent-list.js +1 -4
- package/esm/cli/agent/agent-list.js.map +1 -1
- package/esm/cli/agent/agent-web-delete.js +1 -3
- package/esm/cli/agent/agent-web-delete.js.map +1 -1
- package/esm/cli/agent/agent-web-describe.js +1 -4
- package/esm/cli/agent/agent-web-describe.js.map +1 -1
- package/esm/cli/agent/agent-web-export.js +1 -4
- package/esm/cli/agent/agent-web-export.js.map +1 -1
- package/esm/cli/agent/agent-web-import.js +1 -4
- package/esm/cli/agent/agent-web-import.js.map +1 -1
- package/esm/cli/agent/agent-web-list.js +1 -4
- package/esm/cli/agent/agent-web-list.js.map +1 -1
- package/esm/cli/app/app-delete.js +1 -4
- package/esm/cli/app/app-delete.js.map +1 -1
- package/esm/cli/app/app-describe.js +1 -4
- package/esm/cli/app/app-describe.js.map +1 -1
- package/esm/cli/app/app-export.js +1 -4
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js +1 -4
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js +1 -4
- package/esm/cli/app/app-list.js.map +1 -1
- package/esm/cli/authn/authn-describe.js +1 -4
- package/esm/cli/authn/authn-describe.js.map +1 -1
- package/esm/cli/authn/authn-export.js +1 -4
- package/esm/cli/authn/authn-export.js.map +1 -1
- package/esm/cli/authn/authn-import.js +1 -4
- package/esm/cli/authn/authn-import.js.map +1 -1
- package/esm/cli/authz/authz-policy-delete.js +1 -4
- package/esm/cli/authz/authz-policy-delete.js.map +1 -1
- package/esm/cli/authz/authz-policy-describe.js +1 -4
- package/esm/cli/authz/authz-policy-describe.js.map +1 -1
- package/esm/cli/authz/authz-policy-export.js +1 -4
- package/esm/cli/authz/authz-policy-export.js.map +1 -1
- package/esm/cli/authz/authz-policy-import.js +1 -4
- package/esm/cli/authz/authz-policy-import.js.map +1 -1
- package/esm/cli/authz/authz-policy-list.js +1 -4
- package/esm/cli/authz/authz-policy-list.js.map +1 -1
- package/esm/cli/authz/authz-set-delete.js +1 -4
- package/esm/cli/authz/authz-set-delete.js.map +1 -1
- package/esm/cli/authz/authz-set-describe.js +1 -4
- package/esm/cli/authz/authz-set-describe.js.map +1 -1
- package/esm/cli/authz/authz-set-export.js +1 -4
- package/esm/cli/authz/authz-set-export.js.map +1 -1
- package/esm/cli/authz/authz-set-import.js +1 -4
- package/esm/cli/authz/authz-set-import.js.map +1 -1
- package/esm/cli/authz/authz-set-list.js +1 -4
- package/esm/cli/authz/authz-set-list.js.map +1 -1
- package/esm/cli/authz/authz-type-delete.js +1 -4
- package/esm/cli/authz/authz-type-delete.js.map +1 -1
- package/esm/cli/authz/authz-type-describe.js +1 -4
- package/esm/cli/authz/authz-type-describe.js.map +1 -1
- package/esm/cli/authz/authz-type-export.js +1 -4
- package/esm/cli/authz/authz-type-export.js.map +1 -1
- package/esm/cli/authz/authz-type-import.js +1 -4
- package/esm/cli/authz/authz-type-import.js.map +1 -1
- package/esm/cli/authz/authz-type-list.js +1 -4
- package/esm/cli/authz/authz-type-list.js.map +1 -1
- package/esm/cli/config/config-delete.js +1 -4
- package/esm/cli/config/config-delete.js.map +1 -1
- package/esm/cli/config/config-describe.js +1 -4
- package/esm/cli/config/config-describe.js.map +1 -1
- package/esm/cli/config/config-export.js +2 -4
- package/esm/cli/config/config-export.js.map +1 -1
- package/esm/cli/config/config-import.js +2 -4
- package/esm/cli/config/config-import.js.map +1 -1
- package/esm/cli/config/config-list.js +1 -4
- package/esm/cli/config/config-list.js.map +1 -1
- package/esm/cli/conn/conn-save.js +1 -3
- package/esm/cli/conn/conn-save.js.map +1 -1
- package/esm/cli/email/email-template-export.js +2 -4
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +1 -4
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +1 -4
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/esv/esv-apply.js +1 -3
- package/esm/cli/esv/esv-apply.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js +1 -4
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js +1 -4
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js +1 -4
- package/esm/cli/esv/esv-secret-describe.js.map +1 -1
- package/esm/cli/esv/esv-secret-export.js +2 -4
- package/esm/cli/esv/esv-secret-export.js.map +1 -1
- package/esm/cli/esv/esv-secret-import.js +1 -4
- package/esm/cli/esv/esv-secret-import.js.map +1 -1
- package/esm/cli/esv/esv-secret-list.js +1 -4
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js +1 -4
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js +1 -4
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js +1 -4
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +1 -4
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js +1 -4
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js +1 -4
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js +1 -4
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js +1 -4
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js +1 -4
- package/esm/cli/esv/esv-variable-describe.js.map +1 -1
- package/esm/cli/esv/esv-variable-export.js +2 -4
- package/esm/cli/esv/esv-variable-export.js.map +1 -1
- package/esm/cli/esv/esv-variable-import.js +1 -4
- package/esm/cli/esv/esv-variable-import.js.map +1 -1
- package/esm/cli/esv/esv-variable-list.js +1 -4
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js +1 -4
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/idm/idm-count.js +1 -4
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js +2 -4
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-import.js +2 -4
- package/esm/cli/idm/idm-import.js.map +1 -1
- package/esm/cli/idm/idm-list.js +1 -4
- package/esm/cli/idm/idm-list.js.map +1 -1
- package/esm/cli/idp/idp-export.js +2 -4
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js +2 -4
- package/esm/cli/idp/idp-import.js.map +1 -1
- package/esm/cli/idp/idp-list.js +2 -4
- package/esm/cli/idp/idp-list.js.map +1 -1
- package/esm/cli/info/info.js +1 -3
- package/esm/cli/info/info.js.map +1 -1
- package/esm/cli/journey/journey-delete.js +1 -3
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js +1 -3
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js +1 -4
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js +1 -4
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js +1 -4
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js +1 -4
- package/esm/cli/journey/journey-import.js.map +1 -1
- package/esm/cli/journey/journey-list.js +2 -4
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js +1 -3
- package/esm/cli/journey/journey-prune.js.map +1 -1
- package/esm/cli/log/log-fetch.js +1 -3
- package/esm/cli/log/log-fetch.js.map +1 -1
- package/esm/cli/log/log-key-delete.js +1 -4
- package/esm/cli/log/log-key-delete.js.map +1 -1
- package/esm/cli/log/log-key-describe.js +1 -4
- package/esm/cli/log/log-key-describe.js.map +1 -1
- package/esm/cli/log/log-key-list.js +1 -4
- package/esm/cli/log/log-key-list.js.map +1 -1
- package/esm/cli/log/log-list.js +1 -3
- package/esm/cli/log/log-list.js.map +1 -1
- package/esm/cli/log/log-tail.js +1 -3
- package/esm/cli/log/log-tail.js.map +1 -1
- package/esm/cli/oauth/oauth-client-delete.js +1 -4
- package/esm/cli/oauth/oauth-client-delete.js.map +1 -1
- package/esm/cli/oauth/oauth-client-describe.js +1 -4
- package/esm/cli/oauth/oauth-client-describe.js.map +1 -1
- package/esm/cli/oauth/oauth-client-export.js +1 -4
- package/esm/cli/oauth/oauth-client-export.js.map +1 -1
- package/esm/cli/oauth/oauth-client-import.js +1 -4
- package/esm/cli/oauth/oauth-client-import.js.map +1 -1
- package/esm/cli/oauth/oauth-client-list.js +1 -4
- package/esm/cli/oauth/oauth-client-list.js.map +1 -1
- package/esm/cli/realm/realm-add-custom-domain.js +2 -4
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js +1 -3
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js +1 -4
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +1 -3
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
- package/esm/cli/saml/saml-cot-export.js +2 -4
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js +2 -4
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js +2 -4
- package/esm/cli/saml/saml-cot-list.js.map +1 -1
- package/esm/cli/saml/saml-delete.js +1 -3
- package/esm/cli/saml/saml-delete.js.map +1 -1
- package/esm/cli/saml/saml-describe.js +2 -4
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js +2 -4
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js +2 -4
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js +2 -4
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js +2 -4
- package/esm/cli/saml/saml-metadata-export.js.map +1 -1
- package/esm/cli/script/script-delete.js +2 -4
- package/esm/cli/script/script-delete.js.map +1 -1
- package/esm/cli/script/script-describe.js +1 -4
- package/esm/cli/script/script-describe.js.map +1 -1
- package/esm/cli/script/script-export.js +1 -4
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js +2 -4
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js +2 -4
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/service/service-delete.js +1 -4
- package/esm/cli/service/service-delete.js.map +1 -1
- package/esm/cli/service/service-export.js +1 -4
- package/esm/cli/service/service-export.js.map +1 -1
- package/esm/cli/service/service-import.js +1 -4
- package/esm/cli/service/service-import.js.map +1 -1
- package/esm/cli/service/service-list.js +1 -4
- package/esm/cli/service/service-list.js.map +1 -1
- package/esm/cli/shell/shell.js +1 -3
- package/esm/cli/shell/shell.js.map +1 -1
- package/esm/cli/theme/theme-delete.js +2 -4
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +2 -4
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +2 -4
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.js +2 -4
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/ops/AuthenticateOps.js +28 -0
- package/esm/ops/AuthenticateOps.js.map +1 -0
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz-type-list.js","names":["
|
|
1
|
+
{"version":3,"file":"authz-type-list.js","names":["Option","getTokens","listResourceTypes","verboseMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","outcome","long","process","exitCode","parse"],"sources":["../../../src/cli/authz/authz-type-list.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { listResourceTypes } from '../../ops/ResourceTypeOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo authz type list');\n\nprogram\n .description('List authorization resource types.')\n .addOption(\n new Option('-l, --long', 'Long with more fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage('Listing resource types...');\n const outcome = await listResourceTypes(options.long);\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,uBAAuB,CAAC;AAEzDC,OAAO,CACJC,WAAW,CAAC,oCAAoC,CAAC,CACjDC,SAAS,CACR,IAAIP,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAACQ,OAAO,CAAC,KAAK,EAAE,OAAO,CAC3E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBE,cAAc,CAAC,2BAA2B,CAAC;IAC3C,MAAMc,OAAO,GAAG,MAAMf,iBAAiB,CAACY,OAAO,CAACI,IAAI,CAAC;IACrD,IAAI,CAACD,OAAO,EAAEE,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
1
|
import { Option } from 'commander';
|
|
2
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
3
|
import { FrodoCommand } from '../FrodoCommand';
|
|
4
|
-
const {
|
|
5
|
-
getTokens
|
|
6
|
-
} = frodo.login;
|
|
7
4
|
const program = new FrodoCommand('frodo config delete');
|
|
8
5
|
program.description('Delete full cloud configuration.').addOption(new Option('-i, --config-id <config-id>', 'Configuration id. If specified, -a and -A are ignored.')).addOption(new Option('-a, --all', 'Delete full cloud configuration. Ignored with -i.')).addOption(new Option('--no-deep', 'No deep delete. This leaves orphaned configuration artifacts behind.')).action(
|
|
9
6
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-delete.js","names":["
|
|
1
|
+
{"version":3,"file":"config-delete.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/config/config-delete.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo config delete');\n\nprogram\n .description('Delete full cloud configuration.')\n .addOption(\n new Option(\n '-i, --config-id <config-id>',\n 'Configuration id. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete full cloud configuration. Ignored with -i.')\n )\n .addOption(\n new Option(\n '--no-deep',\n 'No deep delete. This leaves orphaned configuration artifacts behind.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,qBAAqB,CAAC;AAEvDC,OAAO,CACJC,WAAW,CAAC,kCAAkC,CAAC,CAC/CC,SAAS,CACR,IAAIL,MAAM,CACR,6BAA6B,EAC7B,wDACF,CACF,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAC7E,CAAC,CACAK,SAAS,CACR,IAAIL,MAAM,CACR,WAAW,EACX,sEACF,CACF,CAAC,CACAM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
1
|
import { Option } from 'commander';
|
|
2
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
3
|
import { FrodoCommand } from '../FrodoCommand';
|
|
4
|
-
const {
|
|
5
|
-
getTokens
|
|
6
|
-
} = frodo.login;
|
|
7
4
|
const program = new FrodoCommand('frodo config describe');
|
|
8
5
|
program.description('Describe full cloud configuration.').addOption(new Option('-i, --config-id <config-id>', 'Configuration id.')).action(
|
|
9
6
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-describe.js","names":["
|
|
1
|
+
{"version":3,"file":"config-describe.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/config/config-describe.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo config describe');\n\nprogram\n .description('Describe full cloud configuration.')\n .addOption(new Option('-i, --config-id <config-id>', 'Configuration id.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,uBAAuB,CAAC;AAEzDC,OAAO,CACJC,WAAW,CAAC,oCAAoC,CAAC,CACjDC,SAAS,CAAC,IAAIL,MAAM,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC,CACzEM,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMX,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLa,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHZ,OAAO,CAACa,KAAK,CAAC,CAAC"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { state } from '@rockcarver/frodo-lib';
|
|
2
2
|
import { Option } from 'commander';
|
|
3
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
4
|
import { exportEverythingToFile, exportEverythingToFiles } from '../../ops/ConfigOps';
|
|
4
5
|
import { printMessage, verboseMessage } from '../../utils/Console';
|
|
5
6
|
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
-
const {
|
|
7
|
-
getTokens
|
|
8
|
-
} = frodo.login;
|
|
9
7
|
const program = new FrodoCommand('frodo config export');
|
|
10
8
|
program.description('Export full cloud configuration for all ops that currently support export.').addOption(new Option('-f, --file <file>', 'Name of the export file.')).addOption(new Option('-a, --all', 'Export everything to a single file.')).addOption(new Option('-A, --all-separate', 'Export everything to separate files in the -D directory. Ignored with -a.')).addOption(new Option('--use-string-arrays', 'Where applicable, use string arrays to store multi-line text (e.g. scripts).').default(false, 'off')).addOption(new Option('--no-decode', 'Do not include decoded variable value in variable export').default(false, 'false')).addOption(new Option('-x, --extract', 'Extract scripts from the exported file, and save it to a separate file. Ignored with -a.')).addOption(new Option('-N, --no-metadata', 'Does not include metadata in the export file.')).addOption(new Option('--no-coords', 'Do not include the x and y coordinate positions of the journey/tree nodes.')).addOption(new Option('-d, --default', 'Export all scripts including the default scripts.')).action(
|
|
11
9
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-export.js","names":["
|
|
1
|
+
{"version":3,"file":"config-export.js","names":["state","Option","getTokens","exportEverythingToFile","exportEverythingToFiles","printMessage","verboseMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","all","file","metadata","useStringArrays","noDecode","decode","coords","includeDefault","allSeparate","getDirectory","help","process","exitCode","extract","parse"],"sources":["../../../src/cli/config/config-export.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n exportEverythingToFile,\n exportEverythingToFiles,\n} from '../../ops/ConfigOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo config export');\n\nprogram\n .description(\n 'Export full cloud configuration for all ops that currently support export.'\n )\n .addOption(new Option('-f, --file <file>', 'Name of the export file.'))\n .addOption(new Option('-a, --all', 'Export everything to a single file.'))\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export everything to separate files in the -D directory. Ignored with -a.'\n )\n )\n .addOption(\n new Option(\n '--use-string-arrays',\n 'Where applicable, use string arrays to store multi-line text (e.g. scripts).'\n ).default(false, 'off')\n )\n .addOption(\n new Option(\n '--no-decode',\n 'Do not include decoded variable value in variable export'\n ).default(false, 'false')\n )\n .addOption(\n new Option(\n '-x, --extract',\n 'Extract scripts from the exported file, and save it to a separate file. Ignored with -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export file.'\n )\n )\n .addOption(\n new Option(\n '--no-coords',\n 'Do not include the x and y coordinate positions of the journey/tree nodes.'\n )\n )\n .addOption(\n new Option(\n '-d, --default',\n 'Export all scripts including the default scripts.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // --all -a\n if (options.all && (await getTokens())) {\n verboseMessage('Exporting everything to a single file...');\n await exportEverythingToFile(options.file, options.metadata, {\n useStringArrays: options.useStringArrays,\n noDecode: options.decode,\n coords: options.coords,\n includeDefault: options.default,\n });\n // require --directory -D for all-separate function\n } else if (options.allSeparate && !state.getDirectory()) {\n printMessage(\n '-D or --directory required when using -A or --all-separate',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n // --all-separate -A\n } else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting everything to separate files...');\n await exportEverythingToFiles(options.extract, options.metadata, {\n useStringArrays: options.useStringArrays,\n noDecode: options.decode,\n coords: options.coords,\n includeDefault: options.default,\n });\n // unrecognized combination of options or no options\n } else {\n verboseMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { state } from '@rockcarver/frodo-lib';
|
|
2
2
|
import { Option } from 'commander';
|
|
3
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
4
|
import { importEverythingFromFile, importEverythingFromFiles } from '../../ops/ConfigOps';
|
|
4
5
|
import { printMessage, verboseMessage } from '../../utils/Console';
|
|
5
6
|
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
-
const {
|
|
7
|
-
getTokens
|
|
8
|
-
} = frodo.login;
|
|
9
7
|
const program = new FrodoCommand('frodo config import');
|
|
10
8
|
program.description('Import full cloud configuration.').addOption(new Option('-f, --file <file>', 'Name of the file to import.')).addOption(new Option('-a, --all', 'Import all configuration from the single file -f. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all configuration from separate (.json) files in the (working) directory -D. Ignored with -i or -a.')).addOption(new Option('-C, --clean', 'Remove existing service(s) before importing.')).addOption(new Option('-g, --global', 'Import service(s) as global service(s).')).addOption(new Option('-r, --current-realm', 'Import service(s) into the current realm.')).addOption(new Option('--re-uuid-journeys', 'Generate new UUIDs for all journey nodes during import.').default(false, 'off')).addOption(new Option('--re-uuid-scripts', 'Create new UUIDs for the scripts upon import. Use this to duplicate scripts or create a new versions of the same scripts.').default(false, 'off')).addOption(new Option('-d, --default', 'Import all scripts including the default scripts.')).action(
|
|
11
9
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-import.js","names":["
|
|
1
|
+
{"version":3,"file":"config-import.js","names":["state","Option","getTokens","importEverythingFromFile","importEverythingFromFiles","printMessage","verboseMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","all","file","help","process","exitCode","reUuidJourneys","reUuidScripts","cleanServices","clean","global","includeDefault","allSeparate","getDirectory","parse"],"sources":["../../../src/cli/config/config-import.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n importEverythingFromFile,\n importEverythingFromFiles,\n} from '../../ops/ConfigOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo config import');\n\nprogram\n .description('Import full cloud configuration.')\n .addOption(new Option('-f, --file <file>', 'Name of the file to import.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all configuration from the single file -f. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all configuration from separate (.json) files in the (working) directory -D. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option('-C, --clean', 'Remove existing service(s) before importing.')\n )\n .addOption(\n new Option('-g, --global', 'Import service(s) as global service(s).')\n )\n .addOption(\n new Option(\n '-r, --current-realm',\n 'Import service(s) into the current realm.'\n )\n )\n .addOption(\n new Option(\n '--re-uuid-journeys',\n 'Generate new UUIDs for all journey nodes during import.'\n ).default(false, 'off')\n )\n .addOption(\n new Option(\n '--re-uuid-scripts',\n 'Create new UUIDs for the scripts upon import. Use this to duplicate scripts or create a new versions of the same scripts.'\n ).default(false, 'off')\n )\n .addOption(\n new Option(\n '-d, --default',\n 'Import all scripts including the default scripts.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // Require --file -f for all function\n if (options.all && !options.file) {\n printMessage('-f or --file required when using -a or --all', 'error');\n program.help();\n process.exitCode = 1;\n // --all -a\n } else if (options.all && (await getTokens())) {\n verboseMessage('Exporting everything from a single file...');\n await importEverythingFromFile(options.file, {\n reUuidJourneys: options.reUuidJourneys,\n reUuidScripts: options.reUuidScripts,\n cleanServices: options.clean,\n global: options.global,\n realm: options.realm,\n includeDefault: options.default,\n });\n // require --directory -D for all-separate function\n } else if (options.allSeparate && !state.getDirectory()) {\n printMessage(\n '-D or --directory required when using -A or --all-separate',\n 'error'\n );\n program.help();\n process.exitCode = 1;\n // --all-separate -A\n } else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Importing everything from separate files...');\n await importEverythingFromFiles({\n reUuidJourneys: options.reUuidJourneys,\n reUuidScripts: options.reUuidScripts,\n cleanServices: options.clean,\n global: options.global,\n realm: options.realm,\n includeDefault: options.default,\n });\n // unrecognized combination of options or no options\n } else {\n verboseMessage('Unrecognized combination of options or no options...');\n program.help();\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
1
|
import { Option } from 'commander';
|
|
2
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
3
|
import { FrodoCommand } from '../FrodoCommand';
|
|
4
|
-
const {
|
|
5
|
-
getTokens
|
|
6
|
-
} = frodo.login;
|
|
7
4
|
const program = new FrodoCommand('frodo config list');
|
|
8
5
|
program.description('List full cloud configuration.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
|
|
9
6
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-list.js","names":["
|
|
1
|
+
{"version":3,"file":"config-list.js","names":["Option","getTokens","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","process","exitCode","parse"],"sources":["../../../src/cli/config/config-list.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo config list');\n\nprogram\n .description('List full cloud configuration.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n // code goes here\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,mBAAmB,CAAC;AAErDC,OAAO,CACJC,WAAW,CAAC,gCAAgC,CAAC,CAC7CC,SAAS,CACR,IAAIL,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrB;EAAA,CACD,MAAM;IACLc,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHb,OAAO,CAACc,KAAK,CAAC,CAAC"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { frodo, state } from '@rockcarver/frodo-lib';
|
|
2
2
|
import { Option } from 'commander';
|
|
3
3
|
import * as s from '../../help/SampleData';
|
|
4
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
4
5
|
import { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';
|
|
5
6
|
import { provisionCreds } from '../../ops/LogOps';
|
|
6
7
|
import { printMessage, verboseMessage } from '../../utils/Console';
|
|
7
8
|
import { FrodoCommand } from '../FrodoCommand';
|
|
8
|
-
const {
|
|
9
|
-
getTokens
|
|
10
|
-
} = frodo.login;
|
|
11
9
|
const {
|
|
12
10
|
CLOUD_DEPLOYMENT_TYPE_KEY
|
|
13
11
|
} = frodo.utils.constants;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conn-save.js","names":["frodo","state","Option","s","addExistingServiceAccount","provisionCreds","printMessage","verboseMessage","FrodoCommand","getTokens","login","CLOUD_DEPLOYMENT_TYPE_KEY","utils","constants","isServiceAccountsFeatureAvailable","cloud","serviceAccount","addNewServiceAccount","saveConnectionProfile","conn","program","alias","description","addOption","addHelpText","amBaseUrl","username","password","saId","saJwkFile","connId","action","host","user","options","command","handleDefaultArgsAndOpts","setLogApiKey","logApiKey","setLogApiSecret","logApiSecret","authenticationService","setAuthenticationService","authenticationHeaderOverrides","setAuthenticationHeaderOverrides","JSON","parse","needSa","sa","getServiceAccountId","getServiceAccountJwk","needLogApiKey","logApi","getLogApiKey","getLogApiSecret","forceLoginAsUser","validate","getHost","getDeploymentType","name","_id","error","_error$response","_error$response2","response","data","message","process","exitCode","creds","api_key_id","api_key_secret","_error$response3","_error$response4"],"sources":["../../../src/cli/conn/conn-save.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport * as s from '../../help/SampleData';\nimport { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';\nimport { provisionCreds } from '../../ops/LogOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\nconst { CLOUD_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants;\nconst { isServiceAccountsFeatureAvailable } = frodo.cloud.serviceAccount;\nconst { addNewServiceAccount, saveConnectionProfile } = frodo.conn;\n\nconst program = new FrodoCommand('frodo conn save', ['realm']);\n\nprogram\n .alias('add')\n .description('Save connection profiles.')\n .addOption(new Option('--no-sa', 'Do not create and add service account.'))\n .addOption(\n new Option(\n '--log-api-key [key]',\n 'Log API key. If specified, must also include --log-api-secret. Ignored with --no-log-api.'\n )\n )\n .addOption(\n new Option(\n '--log-api-secret [secret]',\n 'Log API secret. If specified, must also include --log-api-key. Ignored with --no-log-api.'\n )\n )\n .addOption(\n new Option('--no-log-api', 'Do not create and add log API key and secret.')\n )\n .addOption(new Option('--no-validate', 'Do not validate connection.'))\n .addOption(\n new Option(\n '--authentication-service [service]',\n 'Name of the authentication service/tree to use.'\n )\n )\n .addOption(\n new Option(\n '--authentication-header-overrides [headers]',\n 'Map of headers: {\"host\":\"am.example.com:8081\"}.'\n )\n )\n .addHelpText(\n 'after',\n `Usage Examples:\\n` +\n ` Create a connection profile with a new log API key and secret and a new service account:\\n` +\n ` $ frodo conn save ${s.amBaseUrl} ${s.username} '${s.password}'\\n`[\n 'brightCyan'\n ] +\n ` Save an existing service account to an existing or new connection profile:\\n` +\n ` $ frodo conn save --sa-id ${s.saId} --sa-jwk-file ${s.saJwkFile} ${s.amBaseUrl}'\\n`[\n 'brightCyan'\n ] +\n ` Save an existing service account to an existing connection profile (partial host URL only updates an existing profile):\\n` +\n ` $ frodo conn save --sa-id ${s.saId} --sa-jwk-file ${s.saJwkFile} ${s.connId}'\\n`[\n 'brightCyan'\n ]\n )\n .action(\n // implement command logic inside action handler\n async (host, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(host, user, password, options, command);\n state.setLogApiKey(options.logApiKey);\n state.setLogApiSecret(options.logApiSecret);\n if (options.authenticationService) {\n state.setAuthenticationService(options.authenticationService);\n }\n if (options.authenticationHeaderOverrides) {\n state.setAuthenticationHeaderOverrides(\n JSON.parse(options.authenticationHeaderOverrides)\n );\n }\n const needSa =\n options.sa &&\n !state.getServiceAccountId() &&\n !state.getServiceAccountJwk();\n const needLogApiKey =\n options.logApi &&\n !state.getLogApiKey() &&\n !state.getLogApiSecret() &&\n needSa;\n const forceLoginAsUser = needSa || needLogApiKey;\n if (\n (options.validate && (await getTokens(forceLoginAsUser))) ||\n !options.validate\n ) {\n verboseMessage(\n `Saving connection profile for tenant ${state.getHost()}...`\n );\n // if cloud deployment add service account\n if (\n options.validate &&\n state.getDeploymentType() === CLOUD_DEPLOYMENT_TYPE_KEY &&\n options.sa &&\n (await isServiceAccountsFeatureAvailable())\n ) {\n // validate and add existing service account\n if (options.saId && options.saJwkFile) {\n verboseMessage(`Validating and adding service account...`);\n if (\n await addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n )\n ) {\n printMessage(\n `Validated and added service account with id ${options.saId} to profile.`\n );\n }\n }\n // add new service account if none already exists in the profile\n else if (!state.getServiceAccountId()) {\n try {\n verboseMessage(`Creating service account...`);\n const sa = await addNewServiceAccount();\n printMessage(\n `Created and added service account ${sa.name} with id ${sa._id} to profile.`\n );\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(\n `Error creating service account: ${error.response?.data?.message}`,\n 'error'\n );\n process.exitCode = 1;\n }\n }\n }\n // add existing service account without validation\n else if (\n !options.validate &&\n options.saId &&\n options.saJwkFile &&\n options.sa\n ) {\n addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n );\n }\n // if cloud deployment add log api key and secret\n verboseMessage(options);\n verboseMessage(state);\n if (\n options.validate &&\n state.getDeploymentType() === CLOUD_DEPLOYMENT_TYPE_KEY &&\n needLogApiKey\n ) {\n // validate and add existing log api key and secret\n if (options.logApiKey && options.logApiSecret) {\n verboseMessage(`Validating and adding log api key and secret...`);\n if (\n await addExistingServiceAccount(\n options.logApiKey,\n options.logApiSecret,\n options.validate\n )\n ) {\n printMessage(\n `Added log API key ${options.logApiKey} to profile.`\n );\n }\n }\n // add new log api key and secret if none already exists in the profile\n else if (!state.getLogApiKey()) {\n try {\n const creds = await provisionCreds();\n state.setLogApiKey(creds.api_key_id as string);\n state.setLogApiSecret(creds.api_key_secret as string);\n printMessage(\n `Created log API key ${creds.api_key_id} and secret.`\n );\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(\n `Error creating log API key and secret: ${error.response?.data?.message}`,\n 'error'\n );\n process.exitCode = 1;\n }\n }\n }\n // add existing log api key and secret without validation\n // storing log API key and secret in the connection profile is happening default, therefore no code required here\n if (await saveConnectionProfile(host)) {\n printMessage(`Saved connection profile ${state.getHost()}`);\n } else {\n process.exitCode = 1;\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conn-save.js","names":["frodo","state","Option","s","getTokens","addExistingServiceAccount","provisionCreds","printMessage","verboseMessage","FrodoCommand","CLOUD_DEPLOYMENT_TYPE_KEY","utils","constants","isServiceAccountsFeatureAvailable","cloud","serviceAccount","addNewServiceAccount","saveConnectionProfile","conn","program","alias","description","addOption","addHelpText","amBaseUrl","username","password","saId","saJwkFile","connId","action","host","user","options","command","handleDefaultArgsAndOpts","setLogApiKey","logApiKey","setLogApiSecret","logApiSecret","authenticationService","setAuthenticationService","authenticationHeaderOverrides","setAuthenticationHeaderOverrides","JSON","parse","needSa","sa","getServiceAccountId","getServiceAccountJwk","needLogApiKey","logApi","getLogApiKey","getLogApiSecret","forceLoginAsUser","validate","getHost","getDeploymentType","name","_id","error","_error$response","_error$response2","response","data","message","process","exitCode","creds","api_key_id","api_key_secret","_error$response3","_error$response4"],"sources":["../../../src/cli/conn/conn-save.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport * as s from '../../help/SampleData';\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { addExistingServiceAccount } from '../../ops/ConnectionProfileOps.js';\nimport { provisionCreds } from '../../ops/LogOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { CLOUD_DEPLOYMENT_TYPE_KEY } = frodo.utils.constants;\nconst { isServiceAccountsFeatureAvailable } = frodo.cloud.serviceAccount;\nconst { addNewServiceAccount, saveConnectionProfile } = frodo.conn;\n\nconst program = new FrodoCommand('frodo conn save', ['realm']);\n\nprogram\n .alias('add')\n .description('Save connection profiles.')\n .addOption(new Option('--no-sa', 'Do not create and add service account.'))\n .addOption(\n new Option(\n '--log-api-key [key]',\n 'Log API key. If specified, must also include --log-api-secret. Ignored with --no-log-api.'\n )\n )\n .addOption(\n new Option(\n '--log-api-secret [secret]',\n 'Log API secret. If specified, must also include --log-api-key. Ignored with --no-log-api.'\n )\n )\n .addOption(\n new Option('--no-log-api', 'Do not create and add log API key and secret.')\n )\n .addOption(new Option('--no-validate', 'Do not validate connection.'))\n .addOption(\n new Option(\n '--authentication-service [service]',\n 'Name of the authentication service/tree to use.'\n )\n )\n .addOption(\n new Option(\n '--authentication-header-overrides [headers]',\n 'Map of headers: {\"host\":\"am.example.com:8081\"}.'\n )\n )\n .addHelpText(\n 'after',\n `Usage Examples:\\n` +\n ` Create a connection profile with a new log API key and secret and a new service account:\\n` +\n ` $ frodo conn save ${s.amBaseUrl} ${s.username} '${s.password}'\\n`[\n 'brightCyan'\n ] +\n ` Save an existing service account to an existing or new connection profile:\\n` +\n ` $ frodo conn save --sa-id ${s.saId} --sa-jwk-file ${s.saJwkFile} ${s.amBaseUrl}'\\n`[\n 'brightCyan'\n ] +\n ` Save an existing service account to an existing connection profile (partial host URL only updates an existing profile):\\n` +\n ` $ frodo conn save --sa-id ${s.saId} --sa-jwk-file ${s.saJwkFile} ${s.connId}'\\n`[\n 'brightCyan'\n ]\n )\n .action(\n // implement command logic inside action handler\n async (host, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(host, user, password, options, command);\n state.setLogApiKey(options.logApiKey);\n state.setLogApiSecret(options.logApiSecret);\n if (options.authenticationService) {\n state.setAuthenticationService(options.authenticationService);\n }\n if (options.authenticationHeaderOverrides) {\n state.setAuthenticationHeaderOverrides(\n JSON.parse(options.authenticationHeaderOverrides)\n );\n }\n const needSa =\n options.sa &&\n !state.getServiceAccountId() &&\n !state.getServiceAccountJwk();\n const needLogApiKey =\n options.logApi &&\n !state.getLogApiKey() &&\n !state.getLogApiSecret() &&\n needSa;\n const forceLoginAsUser = needSa || needLogApiKey;\n if (\n (options.validate && (await getTokens(forceLoginAsUser))) ||\n !options.validate\n ) {\n verboseMessage(\n `Saving connection profile for tenant ${state.getHost()}...`\n );\n // if cloud deployment add service account\n if (\n options.validate &&\n state.getDeploymentType() === CLOUD_DEPLOYMENT_TYPE_KEY &&\n options.sa &&\n (await isServiceAccountsFeatureAvailable())\n ) {\n // validate and add existing service account\n if (options.saId && options.saJwkFile) {\n verboseMessage(`Validating and adding service account...`);\n if (\n await addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n )\n ) {\n printMessage(\n `Validated and added service account with id ${options.saId} to profile.`\n );\n }\n }\n // add new service account if none already exists in the profile\n else if (!state.getServiceAccountId()) {\n try {\n verboseMessage(`Creating service account...`);\n const sa = await addNewServiceAccount();\n printMessage(\n `Created and added service account ${sa.name} with id ${sa._id} to profile.`\n );\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(\n `Error creating service account: ${error.response?.data?.message}`,\n 'error'\n );\n process.exitCode = 1;\n }\n }\n }\n // add existing service account without validation\n else if (\n !options.validate &&\n options.saId &&\n options.saJwkFile &&\n options.sa\n ) {\n addExistingServiceAccount(\n options.saId,\n options.saJwkFile,\n options.validate\n );\n }\n // if cloud deployment add log api key and secret\n verboseMessage(options);\n verboseMessage(state);\n if (\n options.validate &&\n state.getDeploymentType() === CLOUD_DEPLOYMENT_TYPE_KEY &&\n needLogApiKey\n ) {\n // validate and add existing log api key and secret\n if (options.logApiKey && options.logApiSecret) {\n verboseMessage(`Validating and adding log api key and secret...`);\n if (\n await addExistingServiceAccount(\n options.logApiKey,\n options.logApiSecret,\n options.validate\n )\n ) {\n printMessage(\n `Added log API key ${options.logApiKey} to profile.`\n );\n }\n }\n // add new log api key and secret if none already exists in the profile\n else if (!state.getLogApiKey()) {\n try {\n const creds = await provisionCreds();\n state.setLogApiKey(creds.api_key_id as string);\n state.setLogApiSecret(creds.api_key_secret as string);\n printMessage(\n `Created log API key ${creds.api_key_id} and secret.`\n );\n } catch (error) {\n printMessage(error.response?.data, 'error');\n printMessage(\n `Error creating log API key and secret: ${error.response?.data?.message}`,\n 'error'\n );\n process.exitCode = 1;\n }\n }\n }\n // add existing log api key and secret without validation\n // storing log API key and secret in the connection profile is happening default, therefore no code required here\n if (await saveConnectionProfile(host)) {\n printMessage(`Saved connection profile ${state.getHost()}`);\n } else {\n process.exitCode = 1;\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,OAAO,KAAKC,CAAC,MAAM,uBAAuB;AAC1C,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,yBAAyB,QAAQ,mCAAmC;AAC7E,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAA0B,CAAC,GAAGV,KAAK,CAACW,KAAK,CAACC,SAAS;AAC3D,MAAM;EAAEC;AAAkC,CAAC,GAAGb,KAAK,CAACc,KAAK,CAACC,cAAc;AACxE,MAAM;EAAEC,oBAAoB;EAAEC;AAAsB,CAAC,GAAGjB,KAAK,CAACkB,IAAI;AAElE,MAAMC,OAAO,GAAG,IAAIV,YAAY,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;AAE9DU,OAAO,CACJC,KAAK,CAAC,KAAK,CAAC,CACZC,WAAW,CAAC,2BAA2B,CAAC,CACxCC,SAAS,CAAC,IAAIpB,MAAM,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAC,CAC1EoB,SAAS,CACR,IAAIpB,MAAM,CACR,qBAAqB,EACrB,2FACF,CACF,CAAC,CACAoB,SAAS,CACR,IAAIpB,MAAM,CACR,2BAA2B,EAC3B,2FACF,CACF,CAAC,CACAoB,SAAS,CACR,IAAIpB,MAAM,CAAC,cAAc,EAAE,+CAA+C,CAC5E,CAAC,CACAoB,SAAS,CAAC,IAAIpB,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC,CACrEoB,SAAS,CACR,IAAIpB,MAAM,CACR,oCAAoC,EACpC,iDACF,CACF,CAAC,CACAoB,SAAS,CACR,IAAIpB,MAAM,CACR,6CAA6C,EAC7C,iDACF,CACF,CAAC,CACAqB,WAAW,CACV,OAAO,EACN,mBAAkB,GAChB,8FAA6F,GAC7F,uBAAsBpB,CAAC,CAACqB,SAAU,IAAGrB,CAAC,CAACsB,QAAS,KAAItB,CAAC,CAACuB,QAAS,KAAI,CAClE,YAAY,CACb,GACA,gFAA+E,GAC/E,+BAA8BvB,CAAC,CAACwB,IAAK,kBAAiBxB,CAAC,CAACyB,SAAU,IAAGzB,CAAC,CAACqB,SAAU,KAAI,CACpF,YAAY,CACb,GACA,6HAA4H,GAC5H,+BAA8BrB,CAAC,CAACwB,IAAK,kBAAiBxB,CAAC,CAACyB,SAAU,IAAGzB,CAAC,CAAC0B,MAAO,KAAI,CACjF,YAAY,CAElB,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,IAAI,EAAEN,QAAQ,EAAEO,OAAO,EAAEC,OAAO,KAAK;EAChDA,OAAO,CAACC,wBAAwB,CAACJ,IAAI,EAAEC,IAAI,EAAEN,QAAQ,EAAEO,OAAO,EAAEC,OAAO,CAAC;EACxEjC,KAAK,CAACmC,YAAY,CAACH,OAAO,CAACI,SAAS,CAAC;EACrCpC,KAAK,CAACqC,eAAe,CAACL,OAAO,CAACM,YAAY,CAAC;EAC3C,IAAIN,OAAO,CAACO,qBAAqB,EAAE;IACjCvC,KAAK,CAACwC,wBAAwB,CAACR,OAAO,CAACO,qBAAqB,CAAC;EAC/D;EACA,IAAIP,OAAO,CAACS,6BAA6B,EAAE;IACzCzC,KAAK,CAAC0C,gCAAgC,CACpCC,IAAI,CAACC,KAAK,CAACZ,OAAO,CAACS,6BAA6B,CAClD,CAAC;EACH;EACA,MAAMI,MAAM,GACVb,OAAO,CAACc,EAAE,IACV,CAAC9C,KAAK,CAAC+C,mBAAmB,CAAC,CAAC,IAC5B,CAAC/C,KAAK,CAACgD,oBAAoB,CAAC,CAAC;EAC/B,MAAMC,aAAa,GACjBjB,OAAO,CAACkB,MAAM,IACd,CAAClD,KAAK,CAACmD,YAAY,CAAC,CAAC,IACrB,CAACnD,KAAK,CAACoD,eAAe,CAAC,CAAC,IACxBP,MAAM;EACR,MAAMQ,gBAAgB,GAAGR,MAAM,IAAII,aAAa;EAChD,IACGjB,OAAO,CAACsB,QAAQ,KAAK,MAAMnD,SAAS,CAACkD,gBAAgB,CAAC,CAAC,IACxD,CAACrB,OAAO,CAACsB,QAAQ,EACjB;IACA/C,cAAc,CACX,wCAAuCP,KAAK,CAACuD,OAAO,CAAC,CAAE,KAC1D,CAAC;IACD;IACA,IACEvB,OAAO,CAACsB,QAAQ,IAChBtD,KAAK,CAACwD,iBAAiB,CAAC,CAAC,KAAK/C,yBAAyB,IACvDuB,OAAO,CAACc,EAAE,KACT,MAAMlC,iCAAiC,CAAC,CAAC,CAAC,EAC3C;MACA;MACA,IAAIoB,OAAO,CAACN,IAAI,IAAIM,OAAO,CAACL,SAAS,EAAE;QACrCpB,cAAc,CAAE,0CAAyC,CAAC;QAC1D,IACE,MAAMH,yBAAyB,CAC7B4B,OAAO,CAACN,IAAI,EACZM,OAAO,CAACL,SAAS,EACjBK,OAAO,CAACsB,QACV,CAAC,EACD;UACAhD,YAAY,CACT,+CAA8C0B,OAAO,CAACN,IAAK,cAC9D,CAAC;QACH;MACF;MACA;MAAA,KACK,IAAI,CAAC1B,KAAK,CAAC+C,mBAAmB,CAAC,CAAC,EAAE;QACrC,IAAI;UACFxC,cAAc,CAAE,6BAA4B,CAAC;UAC7C,MAAMuC,EAAE,GAAG,MAAM/B,oBAAoB,CAAC,CAAC;UACvCT,YAAY,CACT,qCAAoCwC,EAAE,CAACW,IAAK,YAAWX,EAAE,CAACY,GAAI,cACjE,CAAC;QACH,CAAC,CAAC,OAAOC,KAAK,EAAE;UAAA,IAAAC,eAAA,EAAAC,gBAAA;UACdvD,YAAY,EAAAsD,eAAA,GAACD,KAAK,CAACG,QAAQ,cAAAF,eAAA,uBAAdA,eAAA,CAAgBG,IAAI,EAAE,OAAO,CAAC;UAC3CzD,YAAY,CACT,mCAAgC,CAAAuD,gBAAA,GAAEF,KAAK,CAACG,QAAQ,cAAAD,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBE,IAAI,cAAAF,gBAAA,uBAApBA,gBAAA,CAAsBG,OAAQ,EAAC,EAClE,OACF,CAAC;UACDC,OAAO,CAACC,QAAQ,GAAG,CAAC;QACtB;MACF;IACF;IACA;IAAA,KACK,IACH,CAAClC,OAAO,CAACsB,QAAQ,IACjBtB,OAAO,CAACN,IAAI,IACZM,OAAO,CAACL,SAAS,IACjBK,OAAO,CAACc,EAAE,EACV;MACA1C,yBAAyB,CACvB4B,OAAO,CAACN,IAAI,EACZM,OAAO,CAACL,SAAS,EACjBK,OAAO,CAACsB,QACV,CAAC;IACH;IACA;IACA/C,cAAc,CAACyB,OAAO,CAAC;IACvBzB,cAAc,CAACP,KAAK,CAAC;IACrB,IACEgC,OAAO,CAACsB,QAAQ,IAChBtD,KAAK,CAACwD,iBAAiB,CAAC,CAAC,KAAK/C,yBAAyB,IACvDwC,aAAa,EACb;MACA;MACA,IAAIjB,OAAO,CAACI,SAAS,IAAIJ,OAAO,CAACM,YAAY,EAAE;QAC7C/B,cAAc,CAAE,iDAAgD,CAAC;QACjE,IACE,MAAMH,yBAAyB,CAC7B4B,OAAO,CAACI,SAAS,EACjBJ,OAAO,CAACM,YAAY,EACpBN,OAAO,CAACsB,QACV,CAAC,EACD;UACAhD,YAAY,CACT,qBAAoB0B,OAAO,CAACI,SAAU,cACzC,CAAC;QACH;MACF;MACA;MAAA,KACK,IAAI,CAACpC,KAAK,CAACmD,YAAY,CAAC,CAAC,EAAE;QAC9B,IAAI;UACF,MAAMgB,KAAK,GAAG,MAAM9D,cAAc,CAAC,CAAC;UACpCL,KAAK,CAACmC,YAAY,CAACgC,KAAK,CAACC,UAAoB,CAAC;UAC9CpE,KAAK,CAACqC,eAAe,CAAC8B,KAAK,CAACE,cAAwB,CAAC;UACrD/D,YAAY,CACT,uBAAsB6D,KAAK,CAACC,UAAW,cAC1C,CAAC;QACH,CAAC,CAAC,OAAOT,KAAK,EAAE;UAAA,IAAAW,gBAAA,EAAAC,gBAAA;UACdjE,YAAY,EAAAgE,gBAAA,GAACX,KAAK,CAACG,QAAQ,cAAAQ,gBAAA,uBAAdA,gBAAA,CAAgBP,IAAI,EAAE,OAAO,CAAC;UAC3CzD,YAAY,CACT,0CAAuC,CAAAiE,gBAAA,GAAEZ,KAAK,CAACG,QAAQ,cAAAS,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBR,IAAI,cAAAQ,gBAAA,uBAApBA,gBAAA,CAAsBP,OAAQ,EAAC,EACzE,OACF,CAAC;UACDC,OAAO,CAACC,QAAQ,GAAG,CAAC;QACtB;MACF;IACF;IACA;IACA;IACA,IAAI,MAAMlD,qBAAqB,CAACc,IAAI,CAAC,EAAE;MACrCxB,YAAY,CAAE,4BAA2BN,KAAK,CAACuD,OAAO,CAAC,CAAE,EAAC,CAAC;IAC7D,CAAC,MAAM;MACLU,OAAO,CAACC,QAAQ,GAAG,CAAC;IACtB;EACF,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHhD,OAAO,CAAC0B,KAAK,CAAC,CAAC"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { state } from '@rockcarver/frodo-lib';
|
|
2
2
|
import { Option } from 'commander';
|
|
3
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
4
|
import { exportEmailTemplatesToFile, exportEmailTemplatesToFiles, exportEmailTemplateToFile } from '../../ops/EmailTemplateOps';
|
|
4
5
|
import { printMessage, verboseMessage } from '../../utils/Console.js';
|
|
5
6
|
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
-
const {
|
|
7
|
-
getTokens
|
|
8
|
-
} = frodo.login;
|
|
9
7
|
const program = new FrodoCommand('frodo email template export');
|
|
10
8
|
program.description('Export email templates.').addOption(new Option('-i, --template-id <template-id>', 'Email template id/name. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the export file. Ignored with -A. Defaults to <template-id>.template.email.json.')).addOption(new Option('-a, --all', 'Export all email templates to a single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Export all email templates as separate files <template-id>.template.email.json. Ignored with -i, and -a.')).addOption(new Option('-N, --no-metadata', 'Does not include metadata in the export file.')).action(
|
|
11
9
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-export.js","names":["
|
|
1
|
+
{"version":3,"file":"email-template-export.js","names":["state","Option","getTokens","exportEmailTemplatesToFile","exportEmailTemplatesToFiles","exportEmailTemplateToFile","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","templateId","getRealm","file","metadata","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/email/email-template-export.ts"],"sourcesContent":["import { state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n exportEmailTemplatesToFile,\n exportEmailTemplatesToFiles,\n exportEmailTemplateToFile,\n} from '../../ops/EmailTemplateOps';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo email template export');\n\nprogram\n .description('Export email templates.')\n .addOption(\n new Option(\n '-i, --template-id <template-id>',\n 'Email template id/name. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the export file. Ignored with -A. Defaults to <template-id>.template.email.json.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all email templates to a single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all email templates as separate files <template-id>.template.email.json. Ignored with -i, and -a.'\n )\n )\n .addOption(\n new Option(\n '-N, --no-metadata',\n 'Does not include metadata in the export file.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // export by id/name\n if (options.templateId && (await getTokens())) {\n verboseMessage(\n `Exporting email template \"${\n options.templateId\n }\" from realm \"${state.getRealm()}\"...`\n );\n await exportEmailTemplateToFile(\n options.templateId,\n options.file,\n options.metadata\n );\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all email templates to a single file...');\n await exportEmailTemplatesToFile(options.file, options.metadata);\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all email templates to separate files...');\n await exportEmailTemplatesToFiles(options.metadata);\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 process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SACEC,0BAA0B,EAC1BC,2BAA2B,EAC3BC,yBAAyB,QACpB,4BAA4B;AACnC,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,6BAA6B,CAAC;AAE/DC,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIV,MAAM,CACR,iCAAiC,EACjC,8DACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,0FACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,WAAW,EACX,+DACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,oBAAoB,EACpB,0GACF,CACF,CAAC,CACAU,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,+CACF,CACF,CAAC,CACAW,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,UAAU,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC7CK,cAAc,CACX,6BACCU,OAAO,CAACG,UACT,iBAAgBpB,KAAK,CAACqB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACD,MAAMhB,yBAAyB,CAC7BY,OAAO,CAACG,UAAU,EAClBH,OAAO,CAACK,IAAI,EACZL,OAAO,CAACM,QACV,CAAC;EACH;EACA;EAAA,KACK,IAAIN,OAAO,CAACO,GAAG,KAAK,MAAMtB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CK,cAAc,CAAC,mDAAmD,CAAC;IACnE,MAAMJ,0BAA0B,CAACc,OAAO,CAACK,IAAI,EAAEL,OAAO,CAACM,QAAQ,CAAC;EAClE;EACA;EAAA,KACK,IAAIN,OAAO,CAACQ,WAAW,KAAK,MAAMvB,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDK,cAAc,CAAC,oDAAoD,CAAC;IACpE,MAAMH,2BAA2B,CAACa,OAAO,CAACM,QAAQ,CAAC;EACrD;EACA;EAAA,KACK;IACHjB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDG,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHnB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
1
|
import { Option } from 'commander';
|
|
2
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
3
|
import { importEmailTemplateFromFile, importEmailTemplatesFromFile, importEmailTemplatesFromFiles, importFirstEmailTemplateFromFile } from '../../ops/EmailTemplateOps';
|
|
4
4
|
import { printMessage, verboseMessage } from '../../utils/Console.js';
|
|
5
5
|
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
-
const {
|
|
7
|
-
getTokens
|
|
8
|
-
} = frodo.login;
|
|
9
6
|
const program = new FrodoCommand('frodo email template import');
|
|
10
7
|
program.description('Import email templates.').addOption(new Option('-i, --template-id <template-id>', 'Email template id/name. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the import file.')).addOption(new Option('-a, --all', 'Import all email templates from single file. Ignored with -i.')).addOption(new Option('-A, --all-separate', 'Import all email templates from separate files (*.template.email.json) in the current directory. Ignored with -i or -a.')).addOption(new Option('--raw', "Import raw email template files. Raw templates do not contain the id/name, therefore when using -A or -f without -i, the email template id/name is parsed from the file name; Make sure your template files are named 'emailTemplate-<id/name>.json' or use -f with -i. Ignored with -a.")).action(
|
|
11
8
|
// implement program logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-import.js","names":["
|
|
1
|
+
{"version":3,"file":"email-template-import.js","names":["Option","getTokens","importEmailTemplateFromFile","importEmailTemplatesFromFile","importEmailTemplatesFromFiles","importFirstEmailTemplateFromFile","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","templateId","raw","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/email/email-template-import.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport {\n importEmailTemplateFromFile,\n importEmailTemplatesFromFile,\n importEmailTemplatesFromFiles,\n importFirstEmailTemplateFromFile,\n} from '../../ops/EmailTemplateOps';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo email template import');\n\nprogram\n .description('Import email templates.')\n .addOption(\n new Option(\n '-i, --template-id <template-id>',\n 'Email template id/name. If specified, -a and -A are ignored.'\n )\n )\n .addOption(new Option('-f, --file <file>', 'Name of the import file.'))\n .addOption(\n new Option(\n '-a, --all',\n 'Import all email templates from single file. Ignored with -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all email templates from separate files (*.template.email.json) in the current directory. Ignored with -i or -a.'\n )\n )\n .addOption(\n new Option(\n '--raw',\n \"Import raw email template files. Raw templates do not contain the id/name, therefore when using -A or -f without -i, the email template id/name is parsed from the file name; Make sure your template files are named 'emailTemplate-<id/name>.json' or use -f with -i. Ignored with -a.\"\n )\n )\n .action(\n // implement program logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import by id\n if (options.file && options.templateId && (await getTokens())) {\n verboseMessage(`Importing email template \"${options.templateId}\"...`);\n await importEmailTemplateFromFile(\n options.templateId,\n options.file,\n options.raw\n );\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage(\n `Importing all email templates from a single file (${options.file})...`\n );\n await importEmailTemplatesFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n verboseMessage(\n 'Importing all email templates from separate files (*.template.email.json) in current directory...'\n );\n await importEmailTemplatesFromFiles(options.raw);\n }\n // import first template from file\n else if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing first email template from file \"${options.file}\"...`\n );\n await importFirstEmailTemplateFromFile(options.file, options.raw);\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 process.exitCode = 1;\n }\n }\n // end program logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SACEC,2BAA2B,EAC3BC,4BAA4B,EAC5BC,6BAA6B,EAC7BC,gCAAgC,QAC3B,4BAA4B;AACnC,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,6BAA6B,CAAC;AAE/DC,OAAO,CACJC,WAAW,CAAC,yBAAyB,CAAC,CACtCC,SAAS,CACR,IAAIX,MAAM,CACR,iCAAiC,EACjC,8DACF,CACF,CAAC,CACAW,SAAS,CAAC,IAAIX,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CACtEW,SAAS,CACR,IAAIX,MAAM,CACR,WAAW,EACX,+DACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,oBAAoB,EACpB,yHACF,CACF,CAAC,CACAW,SAAS,CACR,IAAIX,MAAM,CACR,OAAO,EACP,0RACF,CACF,CAAC,CACAY,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,IAAI,IAAIH,OAAO,CAACI,UAAU,KAAK,MAAMpB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC7DM,cAAc,CAAE,6BAA4BU,OAAO,CAACI,UAAW,MAAK,CAAC;IACrE,MAAMnB,2BAA2B,CAC/Be,OAAO,CAACI,UAAU,EAClBJ,OAAO,CAACG,IAAI,EACZH,OAAO,CAACK,GACV,CAAC;EACH;EACA;EAAA,KACK,IAAIL,OAAO,CAACM,GAAG,IAAIN,OAAO,CAACG,IAAI,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3DM,cAAc,CACX,qDAAoDU,OAAO,CAACG,IAAK,MACpE,CAAC;IACD,MAAMjB,4BAA4B,CAACc,OAAO,CAACG,IAAI,CAAC;EAClD;EACA;EAAA,KACK,IAAIH,OAAO,CAACO,WAAW,IAAI,CAACP,OAAO,CAACG,IAAI,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IACpEM,cAAc,CACZ,mGACF,CAAC;IACD,MAAMH,6BAA6B,CAACa,OAAO,CAACK,GAAG,CAAC;EAClD;EACA;EAAA,KACK,IAAIL,OAAO,CAACG,IAAI,KAAK,MAAMnB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CM,cAAc,CACX,6CAA4CU,OAAO,CAACG,IAAK,MAC5D,CAAC;IACD,MAAMf,gCAAgC,CAACY,OAAO,CAACG,IAAI,EAAEH,OAAO,CAACK,GAAG,CAAC;EACnE;EACA;EAAA,KACK;IACHhB,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDG,OAAO,CAACgB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHlB,OAAO,CAACmB,KAAK,CAAC,CAAC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
1
|
import { Option } from 'commander';
|
|
2
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
3
|
import { listEmailTemplates } from '../../ops/EmailTemplateOps';
|
|
4
4
|
import { verboseMessage } from '../../utils/Console.js';
|
|
5
5
|
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
-
const {
|
|
7
|
-
getTokens
|
|
8
|
-
} = frodo.login;
|
|
9
6
|
const program = new FrodoCommand('frodo email template list');
|
|
10
7
|
program.description('List email templates.').addOption(new Option('-l, --long', 'Long with all fields.').default(false, 'false')).action(
|
|
11
8
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-template-list.js","names":["
|
|
1
|
+
{"version":3,"file":"email-template-list.js","names":["Option","getTokens","listEmailTemplates","verboseMessage","FrodoCommand","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","long","process","exitCode","parse"],"sources":["../../../src/cli/email/email-template-list.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { listEmailTemplates } from '../../ops/EmailTemplateOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo email template list');\n\nprogram\n .description('List email templates.')\n .addOption(\n new Option('-l, --long', 'Long with all fields.').default(false, 'false')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage(`Listing email templates ...`);\n await listEmailTemplates(options.long);\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,kBAAkB,QAAQ,4BAA4B;AAC/D,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,2BAA2B,CAAC;AAE7DC,OAAO,CACJC,WAAW,CAAC,uBAAuB,CAAC,CACpCC,SAAS,CACR,IAAIP,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAACQ,OAAO,CAAC,KAAK,EAAE,OAAO,CAC1E,CAAC,CACAC,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMd,SAAS,CAAC,CAAC,EAAE;IACrBE,cAAc,CAAE,6BAA4B,CAAC;IAC7C,MAAMD,kBAAkB,CAACY,OAAO,CAACG,IAAI,CAAC;EACxC,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHd,OAAO,CAACe,KAAK,CAAC,CAAC"}
|
package/esm/cli/esv/esv-apply.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
2
|
import { Option } from 'commander';
|
|
3
3
|
import yesno from 'yesno';
|
|
4
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
4
5
|
import { createTable, printMessage } from '../../utils/Console.js';
|
|
5
6
|
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
-
const {
|
|
7
|
-
getTokens
|
|
8
|
-
} = frodo.login;
|
|
9
7
|
const {
|
|
10
8
|
checkForUpdates,
|
|
11
9
|
applyUpdates
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esv-apply.js","names":["frodo","Option","yesno","createTable","printMessage","FrodoCommand","
|
|
1
|
+
{"version":3,"file":"esv-apply.js","names":["frodo","Option","yesno","getTokens","createTable","printMessage","FrodoCommand","checkForUpdates","applyUpdates","cloud","startup","resolveUserName","idm","managed","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","updates","updatesTable","secret","secrets","push","Date","toLocaleString","variable","variables","length","toString","checkOnly","_updates$secrets","_updates$variables","force","ok","yes","question","wait","timeout","process","exitCode","parse"],"sources":["../../../src/cli/esv/esv-apply.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\nimport yesno from 'yesno';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { createTable, printMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { checkForUpdates, applyUpdates } = frodo.cloud.startup;\nconst { resolveUserName } = frodo.idm.managed;\n\nconst program = new FrodoCommand('frodo esv apply');\n\nprogram\n .description(\n 'Apply pending changes to secrets and variables. Applying pending changes requires a restart of the AM and IDM pods and can take up to 10 minutes to complete.'\n )\n .addOption(\n new Option(\n '--check-only',\n \"Check if updated need to be apply but don't apply them.\"\n ).default(false, 'false')\n )\n .addOption(\n new Option('--force', 'Force restart of services if no updates are found.')\n )\n .addOption(\n new Option('--no-wait', \"Don't wait for the updates to finish applying.\")\n )\n .addOption(\n new Option(\n '--timeout <seconds>',\n 'Specify a timeout in seconds how long the tool should wait for the apply command to finish. Only effective without --no-wait.'\n ).default(600, '600 secs (10 mins)')\n )\n .addOption(new Option('-y, --yes', 'Answer y/yes to all prompts.'))\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n const updates = await checkForUpdates();\n const updatesTable = createTable([\n 'Type',\n 'Name',\n 'Modified',\n 'Modifier',\n ]);\n for (const secret of updates.secrets) {\n if (!secret['loaded']) {\n updatesTable.push([\n 'secret',\n secret['_id'],\n new Date(secret['lastChangeDate']).toLocaleString(),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', secret['lastChangedBy']),\n ]);\n }\n }\n for (const variable of updates.variables) {\n if (!variable['loaded']) {\n updatesTable.push([\n 'variable',\n variable['_id'],\n new Date(variable['lastChangeDate']).toLocaleString(),\n // eslint-disable-next-line no-await-in-loop\n await resolveUserName('teammember', variable['lastChangedBy']),\n ]);\n }\n }\n if (updatesTable.length > 0) {\n printMessage(updatesTable.toString(), 'data');\n }\n if (!options.checkOnly) {\n if (\n updates.secrets?.length ||\n updates.variables?.length ||\n options.force\n ) {\n const ok =\n options.yes ||\n (await yesno({\n question: `\\nChanges may take up to 10 minutes to propagate, during which time you will not be able to make further updates.\\n\\nApply updates? (y|n):`,\n }));\n if (ok) {\n if (!(await applyUpdates(options.wait, options.timeout * 1000))) {\n process.exitCode = 1;\n }\n }\n }\n }\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"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"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
1
|
import { Option } from 'commander';
|
|
2
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
3
|
import { createSecret, createSecretFromFile } from '../../ops/SecretsOps';
|
|
4
4
|
import { verboseMessage } from '../../utils/Console.js';
|
|
5
5
|
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
-
const {
|
|
7
|
-
getTokens
|
|
8
|
-
} = frodo.login;
|
|
9
6
|
const program = new FrodoCommand('frodo esv secret create');
|
|
10
7
|
program.description('Create secrets.').requiredOption('-i, --secret-id <secret-id>', 'Secret id.').option('--value <value>', 'Secret value. Overrides "--file"').addOption(new Option('-f, --file [file]', 'Name of the file to read pem or base64hmac encoded secret from. Ignored if --value is specified')).option('--description [description]', 'Secret description.').addOption(new Option('--encoding [encoding]', 'Secret encoding').choices(['generic', 'pem', 'base64hmac']).default('generic', 'generic')).addOption(new Option('--no-use-in-placeholders', 'Secret cannot be used in placeholders.')).action(
|
|
11
8
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esv-secret-create.js","names":["
|
|
1
|
+
{"version":3,"file":"esv-secret-create.js","names":["Option","getTokens","createSecret","createSecretFromFile","verboseMessage","FrodoCommand","program","description","requiredOption","option","addOption","choices","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","outcome","value","secretId","encoding","useInPlaceholders","file","process","exitCode","parse"],"sources":["../../../src/cli/esv/esv-secret-create.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { createSecret, createSecretFromFile } from '../../ops/SecretsOps';\nimport { verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo esv secret create');\n\nprogram\n .description('Create secrets.')\n .requiredOption('-i, --secret-id <secret-id>', 'Secret id.')\n .option('--value <value>', 'Secret value. Overrides \"--file\"')\n .addOption(\n new Option(\n '-f, --file [file]',\n 'Name of the file to read pem or base64hmac encoded secret from. Ignored if --value is specified'\n )\n )\n .option('--description [description]', 'Secret description.')\n .addOption(\n new Option('--encoding [encoding]', 'Secret encoding')\n .choices(['generic', 'pem', 'base64hmac'])\n .default('generic', 'generic')\n )\n .addOption(\n new Option(\n '--no-use-in-placeholders',\n 'Secret cannot be used in placeholders.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n if (await getTokens()) {\n verboseMessage('Creating secret...');\n let outcome = null;\n if (options.value) {\n outcome = await createSecret(\n options.secretId,\n options.value,\n options.description,\n options.encoding,\n options.useInPlaceholders\n );\n } else {\n outcome = await createSecretFromFile(\n options.secretId,\n options.file,\n options.description,\n options.encoding,\n options.useInPlaceholders\n );\n }\n if (!outcome) process.exitCode = 1;\n } else {\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,EAAEC,oBAAoB,QAAQ,sBAAsB;AACzE,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,yBAAyB,CAAC;AAE3DC,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,cAAc,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAC3DC,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAC7DC,SAAS,CACR,IAAIV,MAAM,CACR,mBAAmB,EACnB,iGACF,CACF,CAAC,CACAS,MAAM,CAAC,6BAA6B,EAAE,qBAAqB,CAAC,CAC5DC,SAAS,CACR,IAAIV,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CACnDW,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CACzCC,OAAO,CAAC,SAAS,EAAE,SAAS,CACjC,CAAC,CACAF,SAAS,CACR,IAAIV,MAAM,CACR,0BAA0B,EAC1B,wCACF,CACF,CAAC,CACAa,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD,IAAI,MAAMlB,SAAS,CAAC,CAAC,EAAE;IACrBG,cAAc,CAAC,oBAAoB,CAAC;IACpC,IAAIiB,OAAO,GAAG,IAAI;IAClB,IAAIH,OAAO,CAACI,KAAK,EAAE;MACjBD,OAAO,GAAG,MAAMnB,YAAY,CAC1BgB,OAAO,CAACK,QAAQ,EAChBL,OAAO,CAACI,KAAK,EACbJ,OAAO,CAACX,WAAW,EACnBW,OAAO,CAACM,QAAQ,EAChBN,OAAO,CAACO,iBACV,CAAC;IACH,CAAC,MAAM;MACLJ,OAAO,GAAG,MAAMlB,oBAAoB,CAClCe,OAAO,CAACK,QAAQ,EAChBL,OAAO,CAACQ,IAAI,EACZR,OAAO,CAACX,WAAW,EACnBW,OAAO,CAACM,QAAQ,EAChBN,OAAO,CAACO,iBACV,CAAC;IACH;IACA,IAAI,CAACJ,OAAO,EAAEM,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC,CAAC,MAAM;IACLD,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHtB,OAAO,CAACuB,KAAK,CAAC,CAAC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
1
|
import { Option } from 'commander';
|
|
2
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
3
|
import { deleteSecret, deleteSecrets } from '../../ops/SecretsOps';
|
|
4
4
|
import { printMessage, verboseMessage } from '../../utils/Console.js';
|
|
5
5
|
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
-
const {
|
|
7
|
-
getTokens
|
|
8
|
-
} = frodo.login;
|
|
9
6
|
const program = new FrodoCommand('frodo esv secret delete');
|
|
10
7
|
program.description('Delete secrets.').addOption(new Option('-i, --secret-id <secret-id>', 'Secret id. If specified, -a is ignored.')).addOption(new Option('-a, --all', 'Delete all secrets in a realm. Ignored with -i.')).action(
|
|
11
8
|
// implement command logic inside action handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esv-secret-delete.js","names":["
|
|
1
|
+
{"version":3,"file":"esv-secret-delete.js","names":["Option","getTokens","deleteSecret","deleteSecrets","printMessage","verboseMessage","FrodoCommand","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","secretId","outcome","process","exitCode","all","parse"],"sources":["../../../src/cli/esv/esv-secret-delete.ts"],"sourcesContent":["import { Option } from 'commander';\n\nimport { getTokens } from '../../ops/AuthenticateOps';\nimport { deleteSecret, deleteSecrets } from '../../ops/SecretsOps';\nimport { printMessage, verboseMessage } from '../../utils/Console.js';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst program = new FrodoCommand('frodo esv secret delete');\n\nprogram\n .description('Delete secrets.')\n .addOption(\n new Option(\n '-i, --secret-id <secret-id>',\n 'Secret id. If specified, -a is ignored.'\n )\n )\n .addOption(\n new Option('-a, --all', 'Delete all secrets in a realm. Ignored with -i.')\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // delete by id\n if (options.secretId && (await getTokens())) {\n verboseMessage('Deleting secret...');\n const outcome = await deleteSecret(options.secretId);\n if (!outcome) process.exitCode = 1;\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Deleting all secrets...');\n const outcome = await deleteSecrets();\n if (!outcome) process.exitCode = 1;\n }\n // unrecognized combination of options or no options\n else {\n printMessage('Unrecognized combination of options or no options...');\n process.exitCode = 1;\n }\n }\n // end command logic inside action handler\n );\n\nprogram.parse();\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,WAAW;AAElC,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,YAAY,EAAEC,aAAa,QAAQ,sBAAsB;AAClE,SAASC,YAAY,EAAEC,cAAc,QAAQ,wBAAwB;AACrE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAMC,OAAO,GAAG,IAAID,YAAY,CAAC,yBAAyB,CAAC;AAE3DC,OAAO,CACJC,WAAW,CAAC,iBAAiB,CAAC,CAC9BC,SAAS,CACR,IAAIT,MAAM,CACR,6BAA6B,EAC7B,yCACF,CACF,CAAC,CACAS,SAAS,CACR,IAAIT,MAAM,CAAC,WAAW,EAAE,iDAAiD,CAC3E,CAAC,CACAU,MAAM;AACL;AACA,OAAOC,IAAI,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,KAAK;EACvDA,OAAO,CAACC,wBAAwB,CAC9BN,IAAI,EACJC,KAAK,EACLC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,OACF,CAAC;EACD;EACA,IAAID,OAAO,CAACG,QAAQ,KAAK,MAAMjB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CI,cAAc,CAAC,oBAAoB,CAAC;IACpC,MAAMc,OAAO,GAAG,MAAMjB,YAAY,CAACa,OAAO,CAACG,QAAQ,CAAC;IACpD,IAAI,CAACC,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK,IAAIN,OAAO,CAACO,GAAG,KAAK,MAAMrB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CI,cAAc,CAAC,yBAAyB,CAAC;IACzC,MAAMc,OAAO,GAAG,MAAMhB,aAAa,CAAC,CAAC;IACrC,IAAI,CAACgB,OAAO,EAAEC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACpC;EACA;EAAA,KACK;IACHjB,YAAY,CAAC,sDAAsD,CAAC;IACpEgB,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;AAEHd,OAAO,CAACgB,KAAK,CAAC,CAAC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
1
|
import { Option } from 'commander';
|
|
2
|
+
import { getTokens } from '../../ops/AuthenticateOps';
|
|
3
3
|
import { describeSecret } from '../../ops/SecretsOps';
|
|
4
4
|
import { verboseMessage } from '../../utils/Console.js';
|
|
5
5
|
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
-
const {
|
|
7
|
-
getTokens
|
|
8
|
-
} = frodo.login;
|
|
9
6
|
const program = new FrodoCommand('frodo esv secret describe');
|
|
10
7
|
program.description('Describe secrets.').addOption(new Option('-i, --secret-id <secret-id>', 'Secret id.').makeOptionMandatory()).action(
|
|
11
8
|
// implement command logic inside action handler
|