@rockcarver/frodo-cli 2.0.0-2 → 2.0.0-21
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 +186 -3
- package/esm/app.js +14 -5
- package/esm/app.js.map +1 -1
- package/esm/cli/FrodoCommand.js +18 -4
- package/esm/cli/FrodoCommand.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 +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 +1 -1
- package/esm/cli/_template/something-other.js.map +1 -1
- package/esm/cli/_template/something.js +2 -2
- package/esm/cli/_template/something.js.map +1 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +10 -4
- 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 +14 -7
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-federation-export.js +45 -0
- package/esm/cli/admin/admin-federation-export.js.map +1 -0
- package/esm/cli/admin/admin-federation-import.js +49 -0
- package/esm/cli/admin/admin-federation-import.js.map +1 -0
- package/esm/cli/admin/admin-federation-list.js +29 -0
- package/esm/cli/admin/admin-federation-list.js.map +1 -0
- package/esm/cli/admin/admin-federation.js +13 -0
- package/esm/cli/admin/admin-federation.js.map +1 -0
- package/esm/cli/admin/admin-get-access-token.js +12 -6
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +12 -6
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js +11 -5
- 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 +10 -4
- 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 +10 -4
- 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 +11 -5
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -5
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js +11 -5
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -6
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-show-generic-extension-attributes.js +11 -5
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin.js +3 -2
- package/esm/cli/admin/admin.js.map +1 -1
- package/esm/cli/agent/agent-delete.js +13 -6
- 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 +8 -5
- package/esm/cli/agent/agent-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-delete.js +13 -6
- 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 +8 -5
- package/esm/cli/agent/agent-gateway-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-import.js +8 -5
- package/esm/cli/agent/agent-gateway-import.js.map +1 -1
- package/esm/cli/agent/agent-gateway-list.js +7 -4
- package/esm/cli/agent/agent-gateway-list.js.map +1 -1
- package/esm/cli/agent/agent-gateway.js +1 -1
- package/esm/cli/agent/agent-gateway.js.map +1 -1
- package/esm/cli/agent/agent-import.js +8 -5
- package/esm/cli/agent/agent-import.js.map +1 -1
- package/esm/cli/agent/agent-java-delete.js +13 -6
- 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 +8 -5
- package/esm/cli/agent/agent-java-export.js.map +1 -1
- package/esm/cli/agent/agent-java-import.js +8 -5
- package/esm/cli/agent/agent-java-import.js.map +1 -1
- package/esm/cli/agent/agent-java-list.js +7 -4
- package/esm/cli/agent/agent-java-list.js.map +1 -1
- package/esm/cli/agent/agent-java.js +1 -1
- package/esm/cli/agent/agent-java.js.map +1 -1
- package/esm/cli/agent/agent-list.js +7 -4
- package/esm/cli/agent/agent-list.js.map +1 -1
- package/esm/cli/agent/agent-web-delete.js +13 -6
- 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 +8 -5
- package/esm/cli/agent/agent-web-export.js.map +1 -1
- package/esm/cli/agent/agent-web-import.js +8 -5
- package/esm/cli/agent/agent-web-import.js.map +1 -1
- package/esm/cli/agent/agent-web-list.js +7 -4
- package/esm/cli/agent/agent-web-list.js.map +1 -1
- package/esm/cli/agent/agent-web.js +1 -1
- package/esm/cli/agent/agent-web.js.map +1 -1
- package/esm/cli/agent/agent.js +2 -2
- package/esm/cli/agent/agent.js.map +1 -1
- package/esm/cli/app/app-delete.js +27 -8
- package/esm/cli/app/app-delete.js.map +1 -1
- package/esm/cli/app/app-describe.js +9 -5
- package/esm/cli/app/app-describe.js.map +1 -1
- package/esm/cli/app/app-export.js +17 -13
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js +21 -17
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js +12 -8
- package/esm/cli/app/app-list.js.map +1 -1
- package/esm/cli/app/app.js +8 -12
- package/esm/cli/app/app.js.map +1 -1
- package/esm/cli/authz/authz-policy-delete.js +10 -7
- package/esm/cli/authz/authz-policy-delete.js.map +1 -1
- package/esm/cli/authz/authz-policy-describe.js +8 -5
- package/esm/cli/authz/authz-policy-describe.js.map +1 -1
- package/esm/cli/authz/authz-policy-export.js +12 -9
- package/esm/cli/authz/authz-policy-export.js.map +1 -1
- package/esm/cli/authz/authz-policy-import.js +10 -7
- package/esm/cli/authz/authz-policy-import.js.map +1 -1
- package/esm/cli/authz/authz-policy-list.js +9 -6
- package/esm/cli/authz/authz-policy-list.js.map +1 -1
- package/esm/cli/authz/authz-policy.js +1 -1
- package/esm/cli/authz/authz-policy.js.map +1 -1
- package/esm/cli/authz/authz-set-delete.js +9 -6
- package/esm/cli/authz/authz-set-delete.js.map +1 -1
- package/esm/cli/authz/authz-set-describe.js +8 -5
- package/esm/cli/authz/authz-set-describe.js.map +1 -1
- package/esm/cli/authz/authz-set-export.js +10 -7
- package/esm/cli/authz/authz-set-export.js.map +1 -1
- package/esm/cli/authz/authz-set-import.js +10 -7
- package/esm/cli/authz/authz-set-import.js.map +1 -1
- package/esm/cli/authz/authz-set-list.js +7 -4
- package/esm/cli/authz/authz-set-list.js.map +1 -1
- package/esm/cli/authz/authz-set.js +1 -1
- package/esm/cli/authz/authz-set.js.map +1 -1
- package/esm/cli/authz/authz-type-delete.js +10 -7
- package/esm/cli/authz/authz-type-delete.js.map +1 -1
- package/esm/cli/authz/authz-type-describe.js +9 -6
- package/esm/cli/authz/authz-type-describe.js.map +1 -1
- package/esm/cli/authz/authz-type-export.js +11 -8
- package/esm/cli/authz/authz-type-export.js.map +1 -1
- package/esm/cli/authz/authz-type-import.js +12 -9
- package/esm/cli/authz/authz-type-import.js.map +1 -1
- package/esm/cli/authz/authz-type-list.js +8 -5
- package/esm/cli/authz/authz-type-list.js.map +1 -1
- package/esm/cli/authz/authz-type.js +1 -1
- package/esm/cli/authz/authz-type.js.map +1 -1
- package/esm/cli/authz/authz.js +2 -2
- package/esm/cli/authz/authz.js.map +1 -1
- package/esm/cli/conn/conn-delete.js +2 -2
- package/esm/cli/conn/conn-delete.js.map +1 -1
- package/esm/cli/conn/conn-describe.js +2 -2
- package/esm/cli/conn/conn-describe.js.map +1 -1
- package/esm/cli/conn/conn-list.js +2 -2
- package/esm/cli/conn/conn-list.js.map +1 -1
- package/esm/cli/conn/conn-save.js +31 -15
- package/esm/cli/conn/conn-save.js.map +1 -1
- package/esm/cli/conn/conn.js +2 -2
- package/esm/cli/conn/conn.js.map +1 -1
- package/esm/cli/email/email-template-export.js +10 -7
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +11 -8
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +8 -5
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/email/email-template.js +1 -1
- package/esm/cli/email/email-template.js.map +1 -1
- package/esm/cli/email/email.js +2 -2
- package/esm/cli/email/email.js.map +1 -1
- package/esm/cli/esv/esv-apply.js +18 -8
- package/esm/cli/esv/esv-apply.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js +8 -5
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js +9 -6
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js +8 -5
- 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 +8 -5
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js +8 -5
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js +8 -5
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js +9 -6
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +8 -5
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js +9 -6
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js +8 -5
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-version.js +1 -1
- package/esm/cli/esv/esv-secret-version.js.map +1 -1
- package/esm/cli/esv/esv-secret.js +1 -1
- package/esm/cli/esv/esv-secret.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js +10 -6
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js +9 -6
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js +8 -5
- 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 +8 -5
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js +8 -5
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/esv/esv-variable.js +1 -1
- package/esm/cli/esv/esv-variable.js.map +1 -1
- package/esm/cli/esv/esv.js +2 -2
- package/esm/cli/esv/esv.js.map +1 -1
- package/esm/cli/idm/idm-count.js +9 -6
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js +10 -7
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-import.js +11 -8
- 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 -2
- package/esm/cli/idm/idm.js.map +1 -1
- package/esm/cli/idp/idp-export.js +11 -8
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js +15 -12
- 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 +2 -2
- package/esm/cli/idp/idp.js.map +1 -1
- package/esm/cli/info/info.js +16 -10
- package/esm/cli/info/info.js.map +1 -1
- package/esm/cli/journey/journey-delete.js +8 -5
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js +18 -10
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js +12 -6
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js +12 -6
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js +10 -7
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js +11 -8
- package/esm/cli/journey/journey-import.js.map +1 -1
- package/esm/cli/journey/journey-list.js +6 -3
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js +23 -12
- package/esm/cli/journey/journey-prune.js.map +1 -1
- package/esm/cli/journey/journey.js +2 -2
- package/esm/cli/journey/journey.js.map +1 -1
- package/esm/cli/{logging/logs-fetch.js → log/log-fetch.js} +68 -36
- package/esm/cli/log/log-fetch.js.map +1 -0
- package/esm/cli/log/log-key-delete.js +35 -0
- package/esm/cli/log/log-key-delete.js.map +1 -0
- package/esm/cli/log/log-key-describe.js +22 -0
- package/esm/cli/log/log-key-describe.js.map +1 -0
- package/esm/cli/log/log-key-list.js +26 -0
- package/esm/cli/log/log-key-list.js.map +1 -0
- package/esm/cli/log/log-key.js +8 -0
- package/esm/cli/log/log-key.js.map +1 -0
- package/esm/cli/log/log-list.js +80 -0
- package/esm/cli/log/log-list.js.map +1 -0
- package/esm/cli/log/log-tail.js +77 -0
- package/esm/cli/log/log-tail.js.map +1 -0
- package/esm/cli/{logging/logs.js → log/log.js} +6 -3
- package/esm/cli/log/log.js.map +1 -0
- package/esm/cli/oauth/oauth-client-delete.js +22 -0
- package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
- package/esm/cli/oauth/oauth-client-describe.js +22 -0
- package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
- package/esm/cli/oauth/oauth-client-export.js +52 -0
- package/esm/cli/oauth/oauth-client-export.js.map +1 -0
- package/esm/cli/oauth/oauth-client-import.js +57 -0
- package/esm/cli/oauth/oauth-client-import.js.map +1 -0
- package/esm/cli/oauth/oauth-client-list.js +25 -0
- package/esm/cli/oauth/oauth-client-list.js.map +1 -0
- package/esm/cli/oauth/oauth-client.js +14 -0
- package/esm/cli/oauth/oauth-client.js.map +1 -0
- package/esm/cli/oauth/oauth.js +13 -0
- package/esm/cli/oauth/oauth.js.map +1 -0
- package/esm/cli/realm/realm-add-custom-domain.js +8 -5
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js +8 -5
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js +8 -5
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +11 -5
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm.js +2 -2
- package/esm/cli/realm/realm.js.map +1 -1
- package/esm/cli/saml/saml-cot-export.js +10 -7
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js +11 -8
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js +8 -5
- package/esm/cli/saml/saml-cot-list.js.map +1 -1
- package/esm/cli/saml/saml-cot.js +1 -1
- package/esm/cli/saml/saml-cot.js.map +1 -1
- package/esm/cli/saml/saml-delete.js +14 -7
- package/esm/cli/saml/saml-delete.js.map +1 -1
- package/esm/cli/saml/saml-describe.js +8 -5
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js +10 -7
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js +11 -8
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js +8 -5
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js +9 -6
- package/esm/cli/saml/saml-metadata-export.js.map +1 -1
- package/esm/cli/saml/saml-metadata.js +1 -1
- package/esm/cli/saml/saml-metadata.js.map +1 -1
- package/esm/cli/saml/saml.js +2 -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 +8 -5
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js +9 -6
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js +8 -5
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/script/script.js +2 -2
- package/esm/cli/script/script.js.map +1 -1
- package/esm/cli/service/service-delete.js +8 -5
- package/esm/cli/service/service-delete.js.map +1 -1
- package/esm/cli/service/service-export.js +9 -6
- package/esm/cli/service/service-export.js.map +1 -1
- package/esm/cli/service/service-import.js +10 -7
- package/esm/cli/service/service-import.js.map +1 -1
- package/esm/cli/service/service-list.js +7 -4
- package/esm/cli/service/service-list.js.map +1 -1
- package/esm/cli/service/service.js +2 -2
- package/esm/cli/service/service.js.map +1 -1
- package/esm/cli/shell/shell.js +57 -0
- package/esm/cli/shell/shell.js.map +1 -0
- package/esm/cli/theme/theme-delete.js +10 -7
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +11 -8
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +12 -9
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.js +7 -4
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/cli/theme/theme.js +2 -2
- package/esm/cli/theme/theme.js.map +1 -1
- package/esm/help/SampleData.js +7 -0
- package/esm/help/SampleData.js.map +1 -0
- package/esm/launch.js +1 -1
- package/esm/launch.js.map +1 -1
- package/esm/loader.js +2 -2
- package/esm/loader.js.map +1 -1
- package/esm/ops/AdminFederationOps.js +216 -0
- package/esm/ops/AdminFederationOps.js.map +1 -0
- package/esm/ops/AgentOps.js +88 -54
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/ApplicationOps.js +309 -0
- package/esm/ops/ApplicationOps.js.map +1 -0
- package/esm/ops/CirclesOfTrustOps.js +25 -13
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/ConnectionProfileOps.js +13 -6
- package/esm/ops/ConnectionProfileOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +53 -47
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdmOps.js +58 -64
- package/esm/ops/IdmOps.js.map +1 -1
- package/esm/ops/IdpOps.js +48 -25
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +108 -43
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/LogOps.js +92 -30
- package/esm/ops/LogOps.js.map +1 -1
- package/esm/ops/NodeOps.js +6 -3
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.js +29 -16
- package/esm/ops/OAuth2ClientOps.js.map +1 -1
- package/esm/ops/OrganizationOps.js +14 -22
- package/esm/ops/OrganizationOps.js.map +1 -1
- package/esm/ops/PolicyOps.js +60 -28
- package/esm/ops/PolicyOps.js.map +1 -1
- package/esm/ops/PolicySetOps.js +39 -22
- package/esm/ops/PolicySetOps.js.map +1 -1
- package/esm/ops/RealmOps.js +15 -8
- package/esm/ops/RealmOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.js +43 -27
- package/esm/ops/ResourceTypeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js +56 -42
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test_.js.map +1 -1
- package/esm/ops/ScriptOps.js +72 -18
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/SecretsOps.js +33 -18
- package/esm/ops/SecretsOps.js.map +1 -1
- package/esm/ops/ServiceOps.js +49 -28
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +42 -22
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/VariablesOps.js +37 -28
- package/esm/ops/VariablesOps.js.map +1 -1
- package/esm/ops/utils/OpsUtils.js +1 -1
- package/esm/ops/utils/OpsUtils.js.map +1 -1
- package/esm/ops/utils/Wordwrap.js +1 -1
- package/esm/ops/utils/Wordwrap.js.map +1 -1
- package/esm/storage/StaticStorage.js +1 -1
- package/esm/storage/StaticStorage.js.map +1 -1
- package/esm/utils/Config.js +7 -4
- package/esm/utils/Config.js.map +1 -1
- package/esm/utils/Console.js +9 -5
- package/esm/utils/Console.js.map +1 -1
- package/esm/utils/ExportImportUtils.js +32 -66
- package/esm/utils/ExportImportUtils.js.map +1 -1
- package/esm/utils/Version.js +19 -16
- package/esm/utils/Version.js.map +1 -1
- package/package.json +45 -35
- package/esm/cli/logging/logs-fetch.js.map +0 -1
- package/esm/cli/logging/logs-list.js +0 -49
- package/esm/cli/logging/logs-list.js.map +0 -1
- package/esm/cli/logging/logs-tail.js +0 -46
- package/esm/cli/logging/logs-tail.js.map +0 -1
- package/esm/cli/logging/logs.js.map +0 -1
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
- package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
-
import { Option } from 'commander';
|
|
3
1
|
import { frodo, state } from '@rockcarver/frodo-lib';
|
|
4
|
-
import {
|
|
2
|
+
import { Option } from 'commander';
|
|
5
3
|
import { exportThemeById, exportThemeByName, exportThemesToFile, exportThemesToFiles } from '../../ops/ThemeOps';
|
|
4
|
+
import { printMessage, verboseMessage } from '../../utils/Console';
|
|
5
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
+
const {
|
|
7
|
+
getTokens
|
|
8
|
+
} = frodo.login;
|
|
6
9
|
const program = new FrodoCommand('frodo theme export');
|
|
7
10
|
program.description('Export themes.').addOption(new Option('-n, --theme-name <name>', 'Name of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-i, --theme-id <uuid>', 'Uuid of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file [file]', 'Name of the file to write the exported theme(s) to. Ignored with -A.')).addOption(new Option('-a, --all', 'Export all the themes in a realm to a single file. Ignored with -n and -i.')).addOption(new Option('-A, --all-separate', 'Export all the themes in a realm as separate files <theme name>.theme.json. Ignored with -n, -i, and -a.')).action(
|
|
8
11
|
// implement command logic inside action handler
|
|
9
12
|
async (host, realm, user, password, options, command) => {
|
|
10
13
|
command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
|
|
11
14
|
// export by name
|
|
12
|
-
if (options.themeName && (await
|
|
15
|
+
if (options.themeName && (await getTokens())) {
|
|
13
16
|
verboseMessage(`Exporting theme "${options.themeName}" from realm "${state.getRealm()}"...`);
|
|
14
17
|
exportThemeByName(options.themeName, options.file);
|
|
15
18
|
}
|
|
16
19
|
// export by id
|
|
17
|
-
else if (options.themeId && (await
|
|
20
|
+
else if (options.themeId && (await getTokens())) {
|
|
18
21
|
verboseMessage(`Exporting theme "${options.themeId}" from realm "${state.getRealm()}"...`);
|
|
19
22
|
exportThemeById(options.themeId, options.file);
|
|
20
23
|
}
|
|
21
24
|
// --all -a
|
|
22
|
-
else if (options.all && (await
|
|
25
|
+
else if (options.all && (await getTokens())) {
|
|
23
26
|
verboseMessage('Exporting all themes to a single file...');
|
|
24
27
|
exportThemesToFile(options.file);
|
|
25
28
|
}
|
|
26
29
|
// --all-separate -A
|
|
27
|
-
else if (options.allSeparate && (await
|
|
30
|
+
else if (options.allSeparate && (await getTokens())) {
|
|
28
31
|
verboseMessage('Exporting all themes to separate files...');
|
|
29
32
|
exportThemesToFiles();
|
|
30
33
|
}
|
|
@@ -39,4 +42,4 @@ async (host, realm, user, password, options, command) => {
|
|
|
39
42
|
);
|
|
40
43
|
|
|
41
44
|
program.parse();
|
|
42
|
-
//# sourceMappingURL=theme-export.js.map
|
|
45
|
+
//# sourceMappingURL=theme-export.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-export.js","names":["
|
|
1
|
+
{"version":3,"file":"theme-export.js","names":["frodo","state","Option","exportThemeById","exportThemeByName","exportThemesToFile","exportThemesToFiles","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","themeName","getRealm","file","themeId","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/theme/theme-export.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n exportThemeById,\n exportThemeByName,\n exportThemesToFile,\n exportThemesToFiles,\n} from '../../ops/ThemeOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo theme export');\n\nprogram\n .description('Export themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. 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 theme(s) to. Ignored with -A.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Export all the themes in a realm to a single file. Ignored with -n and -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Export all the themes in a realm as separate files <theme name>.theme.json. Ignored with -n, -i, and -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // export by name\n if (options.themeName && (await getTokens())) {\n verboseMessage(\n `Exporting theme \"${\n options.themeName\n }\" from realm \"${state.getRealm()}\"...`\n );\n exportThemeByName(options.themeName, options.file);\n }\n // export by id\n else if (options.themeId && (await getTokens())) {\n verboseMessage(\n `Exporting theme \"${\n options.themeId\n }\" from realm \"${state.getRealm()}\"...`\n );\n exportThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all && (await getTokens())) {\n verboseMessage('Exporting all themes to a single file...');\n exportThemesToFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && (await getTokens())) {\n verboseMessage('Exporting all themes to separate files...');\n exportThemesToFiles();\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,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SACEC,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,mBAAmB,QACd,oBAAoB;AAC3B,SAASC,YAAY,EAAEC,cAAc,QAAQ,qBAAqB;AAClE,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGV,KAAK,CAACW,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,oBAAoB,CAAC;AAEtDG,OAAO,CACJC,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,SAAS,CACR,IAAIZ,MAAM,CACR,yBAAyB,EACzB,yDACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,uBAAuB,EACvB,yDACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,mBAAmB,EACnB,sEACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,WAAW,EACX,4EACF,CACF,CAAC,CACAY,SAAS,CACR,IAAIZ,MAAM,CACR,oBAAoB,EACpB,0GACF,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;EACA,IAAID,OAAO,CAACG,SAAS,KAAK,MAAMb,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5CF,cAAc,CACX,oBACCY,OAAO,CAACG,SACT,iBAAgBtB,KAAK,CAACuB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDpB,iBAAiB,CAACgB,OAAO,CAACG,SAAS,EAAEH,OAAO,CAACK,IAAI,CAAC;EACpD;EACA;EAAA,KACK,IAAIL,OAAO,CAACM,OAAO,KAAK,MAAMhB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC/CF,cAAc,CACX,oBACCY,OAAO,CAACM,OACT,iBAAgBzB,KAAK,CAACuB,QAAQ,CAAC,CAAE,MACpC,CAAC;IACDrB,eAAe,CAACiB,OAAO,CAACM,OAAO,EAAEN,OAAO,CAACK,IAAI,CAAC;EAChD;EACA;EAAA,KACK,IAAIL,OAAO,CAACO,GAAG,KAAK,MAAMjB,SAAS,CAAC,CAAC,CAAC,EAAE;IAC3CF,cAAc,CAAC,0CAA0C,CAAC;IAC1DH,kBAAkB,CAACe,OAAO,CAACK,IAAI,CAAC;EAClC;EACA;EAAA,KACK,IAAIL,OAAO,CAACQ,WAAW,KAAK,MAAMlB,SAAS,CAAC,CAAC,CAAC,EAAE;IACnDF,cAAc,CAAC,2CAA2C,CAAC;IAC3DF,mBAAmB,CAAC,CAAC;EACvB;EACA;EAAA,KACK;IACHC,YAAY,CACV,sDAAsD,EACtD,OACF,CAAC;IACDK,OAAO,CAACiB,IAAI,CAAC,CAAC;IACdC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHnB,OAAO,CAACoB,KAAK,CAAC,CAAC"}
|
|
@@ -1,35 +1,38 @@
|
|
|
1
|
-
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
-
import { Option } from 'commander';
|
|
3
1
|
import { frodo, state } from '@rockcarver/frodo-lib';
|
|
4
|
-
import {
|
|
2
|
+
import { Option } from 'commander';
|
|
5
3
|
import { importFirstThemeFromFile, importThemeById, importThemeByName, importThemesFromFile, importThemesFromFiles } from '../../ops/ThemeOps';
|
|
4
|
+
import { printMessage, verboseMessage } from '../../utils/Console';
|
|
5
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
+
const {
|
|
7
|
+
getTokens
|
|
8
|
+
} = frodo.login;
|
|
6
9
|
const program = new FrodoCommand('frodo theme import');
|
|
7
10
|
program.description('Import themes.').addOption(new Option('-n, --theme-name <name>', 'Name of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-i, --theme-id <uuid>', 'Uuid of the theme. If specified, -a and -A are ignored.')).addOption(new Option('-f, --file <file>', 'Name of the file to import the theme(s) from.')).addOption(new Option('-a, --all', 'Import all the themes from single file. Ignored with -n or -i.')).addOption(new Option('-A, --all-separate', 'Import all the themes from separate files (*.json) in the current directory. Ignored with -n or -i or -a.')).action(
|
|
8
11
|
// implement command logic inside action handler
|
|
9
12
|
async (host, realm, user, password, options, command) => {
|
|
10
13
|
command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
|
|
11
14
|
// import by name
|
|
12
|
-
if (options.file && options.themeName && (await
|
|
15
|
+
if (options.file && options.themeName && (await getTokens())) {
|
|
13
16
|
verboseMessage(`Importing theme with name "${options.themeName}" into realm "${state.getRealm()}"...`);
|
|
14
17
|
importThemeByName(options.themeName, options.file);
|
|
15
18
|
}
|
|
16
19
|
// import by id
|
|
17
|
-
else if (options.file && options.themeId && (await
|
|
20
|
+
else if (options.file && options.themeId && (await getTokens())) {
|
|
18
21
|
verboseMessage(`Importing theme with id "${options.themeId}" into realm "${state.getRealm()}"...`);
|
|
19
22
|
importThemeById(options.themeId, options.file);
|
|
20
23
|
}
|
|
21
24
|
// --all -a
|
|
22
|
-
else if (options.all && options.file && (await
|
|
25
|
+
else if (options.all && options.file && (await getTokens())) {
|
|
23
26
|
verboseMessage(`Importing all themes from a single file (${options.file})...`);
|
|
24
27
|
importThemesFromFile(options.file);
|
|
25
28
|
}
|
|
26
29
|
// --all-separate -A
|
|
27
|
-
else if (options.allSeparate && !options.file && (await
|
|
30
|
+
else if (options.allSeparate && !options.file && (await getTokens())) {
|
|
28
31
|
verboseMessage('Importing all themes from separate files in current directory...');
|
|
29
32
|
importThemesFromFiles();
|
|
30
33
|
}
|
|
31
34
|
// import single theme from file
|
|
32
|
-
else if (options.file && (await
|
|
35
|
+
else if (options.file && (await getTokens())) {
|
|
33
36
|
verboseMessage(`Importing first theme from file "${options.file}" into realm "${state.getRealm()}"...`);
|
|
34
37
|
importFirstThemeFromFile(options.file);
|
|
35
38
|
}
|
|
@@ -44,4 +47,4 @@ async (host, realm, user, password, options, command) => {
|
|
|
44
47
|
);
|
|
45
48
|
|
|
46
49
|
program.parse();
|
|
47
|
-
//# sourceMappingURL=theme-import.js.map
|
|
50
|
+
//# sourceMappingURL=theme-import.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-import.js","names":["
|
|
1
|
+
{"version":3,"file":"theme-import.js","names":["frodo","state","Option","importFirstThemeFromFile","importThemeById","importThemeByName","importThemesFromFile","importThemesFromFiles","printMessage","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","file","themeName","getRealm","themeId","all","allSeparate","help","process","exitCode","parse"],"sources":["../../../src/cli/theme/theme-import.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport {\n importFirstThemeFromFile,\n importThemeById,\n importThemeByName,\n importThemesFromFile,\n importThemesFromFiles,\n} from '../../ops/ThemeOps';\nimport { printMessage, verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo theme import');\n\nprogram\n .description('Import themes.')\n .addOption(\n new Option(\n '-n, --theme-name <name>',\n 'Name of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-i, --theme-id <uuid>',\n 'Uuid of the theme. If specified, -a and -A are ignored.'\n )\n )\n .addOption(\n new Option(\n '-f, --file <file>',\n 'Name of the file to import the theme(s) from.'\n )\n )\n .addOption(\n new Option(\n '-a, --all',\n 'Import all the themes from single file. Ignored with -n or -i.'\n )\n )\n .addOption(\n new Option(\n '-A, --all-separate',\n 'Import all the themes from separate files (*.json) in the current directory. Ignored with -n or -i or -a.'\n )\n )\n .action(\n // implement command logic inside action handler\n async (host, realm, user, password, options, command) => {\n command.handleDefaultArgsAndOpts(\n host,\n realm,\n user,\n password,\n options,\n command\n );\n // import by name\n if (options.file && options.themeName && (await getTokens())) {\n verboseMessage(\n `Importing theme with name \"${\n options.themeName\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeByName(options.themeName, options.file);\n }\n // import by id\n else if (options.file && options.themeId && (await getTokens())) {\n verboseMessage(\n `Importing theme with id \"${\n options.themeId\n }\" into realm \"${state.getRealm()}\"...`\n );\n importThemeById(options.themeId, options.file);\n }\n // --all -a\n else if (options.all && options.file && (await getTokens())) {\n verboseMessage(\n `Importing all themes from a single file (${options.file})...`\n );\n importThemesFromFile(options.file);\n }\n // --all-separate -A\n else if (options.allSeparate && !options.file && (await getTokens())) {\n verboseMessage(\n 'Importing all themes from separate files in current directory...'\n );\n importThemesFromFiles();\n }\n // import single theme from file\n else if (options.file && (await getTokens())) {\n verboseMessage(\n `Importing first theme from file \"${\n options.file\n }\" into realm \"${state.getRealm()}\"...`\n );\n importFirstThemeFromFile(options.file);\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":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { FrodoCommand } from '../FrodoCommand';
|
|
2
|
-
import { Option } from 'commander';
|
|
3
1
|
import { frodo, state } from '@rockcarver/frodo-lib';
|
|
2
|
+
import { Option } from 'commander';
|
|
4
3
|
import { listThemes } from '../../ops/ThemeOps';
|
|
5
4
|
import { verboseMessage } from '../../utils/Console';
|
|
5
|
+
import { FrodoCommand } from '../FrodoCommand';
|
|
6
|
+
const {
|
|
7
|
+
getTokens
|
|
8
|
+
} = frodo.login;
|
|
6
9
|
const program = new FrodoCommand('frodo theme list');
|
|
7
10
|
program.description('List themes.').addOption(new Option('-l, --long', 'Long with more fields.').default(false, 'false')).action(
|
|
8
11
|
// implement command logic inside action handler
|
|
9
12
|
async (host, realm, user, password, options, command) => {
|
|
10
13
|
command.handleDefaultArgsAndOpts(host, realm, user, password, options, command);
|
|
11
|
-
if (await
|
|
14
|
+
if (await getTokens()) {
|
|
12
15
|
verboseMessage(`Listing themes in realm "${state.getRealm()}"...`);
|
|
13
16
|
listThemes(options.long);
|
|
14
17
|
} else {
|
|
@@ -19,4 +22,4 @@ async (host, realm, user, password, options, command) => {
|
|
|
19
22
|
);
|
|
20
23
|
|
|
21
24
|
program.parse();
|
|
22
|
-
//# sourceMappingURL=theme-list.js.map
|
|
25
|
+
//# sourceMappingURL=theme-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-list.js","names":["
|
|
1
|
+
{"version":3,"file":"theme-list.js","names":["frodo","state","Option","listThemes","verboseMessage","FrodoCommand","getTokens","login","program","description","addOption","default","action","host","realm","user","password","options","command","handleDefaultArgsAndOpts","getRealm","long","process","exitCode","parse"],"sources":["../../../src/cli/theme/theme-list.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport { Option } from 'commander';\n\nimport { listThemes } from '../../ops/ThemeOps';\nimport { verboseMessage } from '../../utils/Console';\nimport { FrodoCommand } from '../FrodoCommand';\n\nconst { getTokens } = frodo.login;\n\nconst program = new FrodoCommand('frodo theme list');\n\nprogram\n .description('List themes.')\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 themes in realm \"${state.getRealm()}\"...`);\n listThemes(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,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AACpD,SAASC,MAAM,QAAQ,WAAW;AAElC,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,iBAAiB;AAE9C,MAAM;EAAEC;AAAU,CAAC,GAAGN,KAAK,CAACO,KAAK;AAEjC,MAAMC,OAAO,GAAG,IAAIH,YAAY,CAAC,kBAAkB,CAAC;AAEpDG,OAAO,CACJC,WAAW,CAAC,cAAc,CAAC,CAC3BC,SAAS,CACR,IAAIR,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAACS,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,MAAMZ,SAAS,CAAC,CAAC,EAAE;IACrBF,cAAc,CAAE,4BAA2BH,KAAK,CAACmB,QAAQ,CAAC,CAAE,MAAK,CAAC;IAClEjB,UAAU,CAACc,OAAO,CAACI,IAAI,CAAC;EAC1B,CAAC,MAAM;IACLC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AACA;AACF,CAAC;;AAEHf,OAAO,CAACgB,KAAK,CAAC,CAAC"}
|
package/esm/cli/theme/theme.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FrodoStubCommand } from '../FrodoCommand';
|
|
2
1
|
import path from 'path';
|
|
3
2
|
import { fileURLToPath } from 'url';
|
|
3
|
+
import { FrodoStubCommand } from '../FrodoCommand';
|
|
4
4
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
5
5
|
export default function setup() {
|
|
6
6
|
const program = new FrodoStubCommand('theme').description('Manage themes.').executableDir(__dirname);
|
|
@@ -10,4 +10,4 @@ export default function setup() {
|
|
|
10
10
|
program.command('delete', 'Delete themes.');
|
|
11
11
|
return program;
|
|
12
12
|
}
|
|
13
|
-
//# sourceMappingURL=theme.js.map
|
|
13
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","names":["
|
|
1
|
+
{"version":3,"file":"theme.js","names":["path","fileURLToPath","FrodoStubCommand","__dirname","dirname","import","meta","url","setup","program","description","executableDir","command"],"sources":["../../../src/cli/theme/theme.ts"],"sourcesContent":["import path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport { FrodoStubCommand } from '../FrodoCommand';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport default function setup() {\n const program = new FrodoStubCommand('theme')\n .description('Manage themes.')\n .executableDir(__dirname);\n\n program.command('list', 'List themes.');\n\n program.command('export', 'Export themes.');\n\n program.command('import', 'Import themes.');\n\n program.command('delete', 'Delete themes.');\n\n return program;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,gBAAgB,QAAQ,iBAAiB;AAElD,MAAMC,SAAS,GAAGH,IAAI,CAACI,OAAO,CAACH,aAAa,CAACI,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC;AAE9D,eAAe,SAASC,KAAKA,CAAA,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAIP,gBAAgB,CAAC,OAAO,CAAC,CAC1CQ,WAAW,CAAC,gBAAgB,CAAC,CAC7BC,aAAa,CAACR,SAAS,CAAC;EAE3BM,OAAO,CAACG,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;EAEvCH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3CH,OAAO,CAACG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;EAE3C,OAAOH,OAAO;AAChB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const amBaseUrl = 'https://openam-matrix.id.forgerock.io/am';
|
|
2
|
+
export const connId = 'matrix';
|
|
3
|
+
export const username = 'thomas.anderson@metacortex.com';
|
|
4
|
+
export const password = 'Blu3P!ll3d';
|
|
5
|
+
export const saId = 'b672336b-41ef-428d-ae4a-e0c082875377';
|
|
6
|
+
export const saJwkFile = './matrix-sa_privateKey.jwk';
|
|
7
|
+
//# sourceMappingURL=SampleData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SampleData.js","names":["amBaseUrl","connId","username","password","saId","saJwkFile"],"sources":["../../src/help/SampleData.ts"],"sourcesContent":["export const amBaseUrl = 'https://openam-matrix.id.forgerock.io/am';\nexport const connId = 'matrix';\nexport const username = 'thomas.anderson@metacortex.com';\nexport const password = 'Blu3P!ll3d';\nexport const saId = 'b672336b-41ef-428d-ae4a-e0c082875377';\nexport const saJwkFile = './matrix-sa_privateKey.jwk';\n"],"mappings":"AAAA,OAAO,MAAMA,SAAS,GAAG,0CAA0C;AACnE,OAAO,MAAMC,MAAM,GAAG,QAAQ;AAC9B,OAAO,MAAMC,QAAQ,GAAG,gCAAgC;AACxD,OAAO,MAAMC,QAAQ,GAAG,YAAY;AACpC,OAAO,MAAMC,IAAI,GAAG,sCAAsC;AAC1D,OAAO,MAAMC,SAAS,GAAG,4BAA4B"}
|
package/esm/launch.js
CHANGED
package/esm/launch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","names":["spawn","fileURLToPath","launchArgs","URL","import","meta","url","href","frodoArgs","process","argv","slice","frodo","execPath","stdio","shell","on","code","exitCode"],"sources":["launch.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { spawn } from 'node:child_process';\nimport { fileURLToPath } from 'node:url';\n\nconst launchArgs = [\n // '--inspect-brk=2000',\n '--no-warnings',\n '--enable-source-maps',\n '--experimental-loader',\n new URL('./loader.js', import.meta.url).href,\n fileURLToPath(new URL('./app.js', import.meta.url)),\n];\nconst frodoArgs = process.argv.slice(2);\n\nconst frodo = spawn(process.execPath, [...launchArgs, ...frodoArgs], {\n stdio: 'inherit',\n shell: false,\n});\n\nfrodo.on('exit', (code) => {\n process.exitCode = code;\n});\n"],"mappings":"AAAA;AACA,SAASA,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,aAAa,QAAQ,UAAU;AAExC,MAAMC,UAAU,GAAG;AACjB;AACA,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,IAAIC,GAAG,CAAC,aAAa,EAAEC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,IAAI,EAC5CN,aAAa,CAAC,IAAIE,GAAG,CAAC,UAAU,EAAEC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CACpD;AACD,MAAME,SAAS,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;AAEvC,MAAMC,KAAK,GAAGZ,KAAK,CAACS,OAAO,CAACI,QAAQ,EAAE,CAAC,GAAGX,UAAU,EAAE,GAAGM,SAAS,CAAC,EAAE;EACnEM,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE;AACT,CAAC,CAAC;AAEFH,KAAK,CAACI,EAAE,CAAC,MAAM,EAAGC,IAAI,IAAK;EACzBR,OAAO,CAACS,QAAQ,GAAGD,IAAI;AACzB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"launch.js","names":["spawn","fileURLToPath","launchArgs","URL","import","meta","url","href","frodoArgs","process","argv","slice","frodo","execPath","stdio","shell","on","code","exitCode"],"sources":["../src/launch.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { spawn } from 'node:child_process';\nimport { fileURLToPath } from 'node:url';\n\nconst launchArgs = [\n // '--inspect-brk=2000',\n '--no-warnings',\n '--enable-source-maps',\n '--experimental-loader',\n new URL('./loader.js', import.meta.url).href,\n fileURLToPath(new URL('./app.js', import.meta.url)),\n];\nconst frodoArgs = process.argv.slice(2);\n\nconst frodo = spawn(process.execPath, [...launchArgs, ...frodoArgs], {\n stdio: 'inherit',\n shell: false,\n});\n\nfrodo.on('exit', (code) => {\n process.exitCode = code;\n});\n"],"mappings":"AAAA;AACA,SAASA,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,aAAa,QAAQ,UAAU;AAExC,MAAMC,UAAU,GAAG;AACjB;AACA,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,IAAIC,GAAG,CAAC,aAAa,EAAEC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,IAAI,EAC5CN,aAAa,CAAC,IAAIE,GAAG,CAAC,UAAU,EAAEC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,CACpD;AACD,MAAME,SAAS,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;AAEvC,MAAMC,KAAK,GAAGZ,KAAK,CAACS,OAAO,CAACI,QAAQ,EAAE,CAAC,GAAGX,UAAU,EAAE,GAAGM,SAAS,CAAC,EAAE;EACnEM,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE;AACT,CAAC,CAAC;AAEFH,KAAK,CAACI,EAAE,CAAC,MAAM,EAAGC,IAAI,IAAK;EACzBR,OAAO,CAACS,QAAQ,GAAGD,IAAI;AACzB,CAAC,CAAC"}
|
package/esm/loader.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { builtinModules } from 'node:module';
|
|
2
2
|
import { dirname } from 'path';
|
|
3
3
|
import { cwd } from 'process';
|
|
4
|
+
import resolveCallback from 'resolve/async.js';
|
|
4
5
|
import { fileURLToPath, pathToFileURL } from 'url';
|
|
5
6
|
import { promisify } from 'util';
|
|
6
|
-
import resolveCallback from 'resolve/async.js';
|
|
7
7
|
const resolveAsync = promisify(resolveCallback);
|
|
8
8
|
const baseURL = pathToFileURL(cwd() + '/').href;
|
|
9
9
|
export async function resolve(specifier, context, next) {
|
|
@@ -37,4 +37,4 @@ export async function resolve(specifier, context, next) {
|
|
|
37
37
|
}
|
|
38
38
|
return next(url, context);
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=loader.js.map
|
|
40
|
+
//# sourceMappingURL=loader.js.map
|
package/esm/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","names":["builtinModules","dirname","cwd","fileURLToPath","pathToFileURL","promisify","
|
|
1
|
+
{"version":3,"file":"loader.js","names":["builtinModules","dirname","cwd","resolveCallback","fileURLToPath","pathToFileURL","promisify","resolveAsync","baseURL","href","resolve","specifier","context","next","parentURL","startsWith","includes","parentPath","url","resolution","basedir","extensions","error","code"],"sources":["../src/loader.ts"],"sourcesContent":["import { builtinModules } from 'node:module';\n\nimport { dirname } from 'path';\nimport { cwd } from 'process';\nimport resolveCallback from 'resolve/async.js';\nimport { fileURLToPath, pathToFileURL } from 'url';\nimport { promisify } from 'util';\n\nconst resolveAsync = promisify(resolveCallback);\n\nconst baseURL = pathToFileURL(cwd() + '/').href;\n\nexport async function resolve(specifier, context, next) {\n const { parentURL = baseURL } = context;\n\n if (specifier.startsWith('node:') || builtinModules.includes(specifier)) {\n return next(specifier, context);\n }\n\n // `resolveAsync` works with paths, not URLs\n if (specifier.startsWith('file://')) {\n specifier = fileURLToPath(specifier);\n }\n const parentPath = fileURLToPath(parentURL);\n\n let url;\n try {\n const resolution = await resolveAsync(specifier, {\n basedir: dirname(parentPath),\n // For whatever reason, --experimental-specifier-resolution=node doesn't search for .mjs extensions\n // but it does search for index.mjs files within directories\n extensions: ['.js', '.json', '.node', '.mjs'],\n });\n url = pathToFileURL(resolution).href;\n } catch (error) {\n if (error.code === 'MODULE_NOT_FOUND') {\n // Match Node's error code\n error.code = 'ERR_MODULE_NOT_FOUND';\n }\n throw error;\n }\n\n return next(url, context);\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,aAAa;AAE5C,SAASC,OAAO,QAAQ,MAAM;AAC9B,SAASC,GAAG,QAAQ,SAAS;AAC7B,OAAOC,eAAe,MAAM,kBAAkB;AAC9C,SAASC,aAAa,EAAEC,aAAa,QAAQ,KAAK;AAClD,SAASC,SAAS,QAAQ,MAAM;AAEhC,MAAMC,YAAY,GAAGD,SAAS,CAACH,eAAe,CAAC;AAE/C,MAAMK,OAAO,GAAGH,aAAa,CAACH,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAACO,IAAI;AAE/C,OAAO,eAAeC,OAAOA,CAACC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAAE;EACtD,MAAM;IAAEC,SAAS,GAAGN;EAAQ,CAAC,GAAGI,OAAO;EAEvC,IAAID,SAAS,CAACI,UAAU,CAAC,OAAO,CAAC,IAAIf,cAAc,CAACgB,QAAQ,CAACL,SAAS,CAAC,EAAE;IACvE,OAAOE,IAAI,CAACF,SAAS,EAAEC,OAAO,CAAC;EACjC;;EAEA;EACA,IAAID,SAAS,CAACI,UAAU,CAAC,SAAS,CAAC,EAAE;IACnCJ,SAAS,GAAGP,aAAa,CAACO,SAAS,CAAC;EACtC;EACA,MAAMM,UAAU,GAAGb,aAAa,CAACU,SAAS,CAAC;EAE3C,IAAII,GAAG;EACP,IAAI;IACF,MAAMC,UAAU,GAAG,MAAMZ,YAAY,CAACI,SAAS,EAAE;MAC/CS,OAAO,EAAEnB,OAAO,CAACgB,UAAU,CAAC;MAC5B;MACA;MACAI,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAC9C,CAAC,CAAC;IACFH,GAAG,GAAGb,aAAa,CAACc,UAAU,CAAC,CAACV,IAAI;EACtC,CAAC,CAAC,OAAOa,KAAK,EAAE;IACd,IAAIA,KAAK,CAACC,IAAI,KAAK,kBAAkB,EAAE;MACrC;MACAD,KAAK,CAACC,IAAI,GAAG,sBAAsB;IACrC;IACA,MAAMD,KAAK;EACb;EAEA,OAAOT,IAAI,CAACK,GAAG,EAAEN,OAAO,CAAC;AAC3B"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import { createProgressBar, debugMessage, failSpinner, printMessage, showSpinner, stopProgressBar, succeedSpinner, updateProgressBar } from '../utils/Console';
|
|
4
|
+
import { getTypedFilename, saveJsonToFile } from '../utils/ExportImportUtils';
|
|
5
|
+
const {
|
|
6
|
+
readAdminFederationProviders,
|
|
7
|
+
exportAdminFederationProvider,
|
|
8
|
+
exportAdminFederationProviders,
|
|
9
|
+
importAdminFederationProvider,
|
|
10
|
+
importAdminFederationProviders,
|
|
11
|
+
importFirstAdminFederationProvider
|
|
12
|
+
} = frodo.cloud.adminFed;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* List providers
|
|
16
|
+
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
17
|
+
*/
|
|
18
|
+
export async function listAdminFederationProviders() {
|
|
19
|
+
let outcome = false;
|
|
20
|
+
try {
|
|
21
|
+
const providers = await readAdminFederationProviders();
|
|
22
|
+
providers.sort((a, b) => a._id.localeCompare(b._id));
|
|
23
|
+
providers.forEach(socialIdentityProvider => {
|
|
24
|
+
printMessage(`${socialIdentityProvider._id}`, 'data');
|
|
25
|
+
});
|
|
26
|
+
outcome = true;
|
|
27
|
+
} catch (err) {
|
|
28
|
+
printMessage(`listAdminFederationProviders ERROR: ${err.message}`, 'error');
|
|
29
|
+
printMessage(err, 'error');
|
|
30
|
+
}
|
|
31
|
+
return outcome;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Export provider by id
|
|
36
|
+
* @param {string} providerId provider id/name
|
|
37
|
+
* @param {string} file optional export file name
|
|
38
|
+
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
39
|
+
*/
|
|
40
|
+
export async function exportAdminFederationProviderToFile(providerId, file = '') {
|
|
41
|
+
let outcome = false;
|
|
42
|
+
let fileName = file;
|
|
43
|
+
if (!fileName) {
|
|
44
|
+
fileName = getTypedFilename(providerId, 'admin.federation');
|
|
45
|
+
}
|
|
46
|
+
createProgressBar(1, `Exporting ${providerId}`);
|
|
47
|
+
try {
|
|
48
|
+
updateProgressBar(`Writing file ${fileName}`);
|
|
49
|
+
const fileData = await exportAdminFederationProvider(providerId);
|
|
50
|
+
saveJsonToFile(fileData, fileName);
|
|
51
|
+
stopProgressBar(`Exported ${providerId['brightCyan']} to ${fileName['brightCyan']}.`);
|
|
52
|
+
outcome = true;
|
|
53
|
+
} catch (err) {
|
|
54
|
+
stopProgressBar(`${err}`);
|
|
55
|
+
printMessage(`${err}`, 'error');
|
|
56
|
+
}
|
|
57
|
+
return outcome;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Export all providers
|
|
62
|
+
* @param {string} file optional export file name
|
|
63
|
+
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
64
|
+
*/
|
|
65
|
+
export async function exportAdminFederationProvidersToFile(file = '') {
|
|
66
|
+
let outcome = false;
|
|
67
|
+
showSpinner(`Exporting all providers...`);
|
|
68
|
+
try {
|
|
69
|
+
let fileName = file;
|
|
70
|
+
if (!fileName) {
|
|
71
|
+
fileName = getTypedFilename(`allProviders`, 'admin.federation');
|
|
72
|
+
}
|
|
73
|
+
const fileData = await exportAdminFederationProviders();
|
|
74
|
+
saveJsonToFile(fileData, fileName);
|
|
75
|
+
succeedSpinner(`Exported all providers to ${fileName}`);
|
|
76
|
+
outcome = true;
|
|
77
|
+
} catch (error) {
|
|
78
|
+
var _error$response;
|
|
79
|
+
failSpinner(`Error exporting all providers.`);
|
|
80
|
+
printMessage(((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) || error, 'error');
|
|
81
|
+
}
|
|
82
|
+
return outcome;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Export all providers to individual files
|
|
87
|
+
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
88
|
+
*/
|
|
89
|
+
export async function exportAdminFederationProvidersToFiles() {
|
|
90
|
+
let outcome = false;
|
|
91
|
+
try {
|
|
92
|
+
const allIdpsData = await readAdminFederationProviders();
|
|
93
|
+
createProgressBar(allIdpsData.length, 'Exporting providers');
|
|
94
|
+
for (const idpData of allIdpsData) {
|
|
95
|
+
updateProgressBar(`Writing provider ${idpData._id}`);
|
|
96
|
+
const fileName = getTypedFilename(idpData._id, 'admin.federation');
|
|
97
|
+
const fileData = await exportAdminFederationProvider(idpData._id);
|
|
98
|
+
saveJsonToFile(fileData, fileName);
|
|
99
|
+
}
|
|
100
|
+
stopProgressBar(`${allIdpsData.length} providers exported.`);
|
|
101
|
+
outcome = true;
|
|
102
|
+
} catch (error) {
|
|
103
|
+
var _error$response2;
|
|
104
|
+
failSpinner(`Error exporting all providers.`);
|
|
105
|
+
printMessage(((_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.data) || error, 'error');
|
|
106
|
+
}
|
|
107
|
+
return outcome;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Import provider by id/name
|
|
112
|
+
* @param {string} providerId provider id/name
|
|
113
|
+
* @param {string} file import file name
|
|
114
|
+
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
115
|
+
*/
|
|
116
|
+
export async function importAdminFederationProviderFromFile(providerId, file) {
|
|
117
|
+
let outcome = false;
|
|
118
|
+
showSpinner(`Importing provider ${providerId} from ${file}...`);
|
|
119
|
+
try {
|
|
120
|
+
const data = fs.readFileSync(file, 'utf8');
|
|
121
|
+
const fileData = JSON.parse(data);
|
|
122
|
+
await importAdminFederationProvider(providerId, fileData);
|
|
123
|
+
succeedSpinner(`Successfully imported provider ${providerId} from ${file}.`);
|
|
124
|
+
outcome = true;
|
|
125
|
+
} catch (error) {
|
|
126
|
+
var _error$response3;
|
|
127
|
+
failSpinner(`Error importing provider ${providerId} from ${file}.`);
|
|
128
|
+
printMessage(((_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.data) || error, 'error');
|
|
129
|
+
}
|
|
130
|
+
return outcome;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Import first provider from file
|
|
135
|
+
* @param {String} file import file name
|
|
136
|
+
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
137
|
+
*/
|
|
138
|
+
export async function importFirstAdminFederationProviderFromFile(file) {
|
|
139
|
+
let outcome = false;
|
|
140
|
+
debugMessage(`cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: begin`);
|
|
141
|
+
showSpinner(`Importing first provider from ${file}...`);
|
|
142
|
+
try {
|
|
143
|
+
const data = fs.readFileSync(file, 'utf8');
|
|
144
|
+
const fileData = JSON.parse(data);
|
|
145
|
+
await importFirstAdminFederationProvider(fileData);
|
|
146
|
+
succeedSpinner(`Successfully imported first provider from ${file}.`);
|
|
147
|
+
outcome = true;
|
|
148
|
+
} catch (error) {
|
|
149
|
+
var _error$response4;
|
|
150
|
+
failSpinner(`Error importing first provider from ${file}.`);
|
|
151
|
+
printMessage(((_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.data) || error, 'error');
|
|
152
|
+
}
|
|
153
|
+
debugMessage(`cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: end`);
|
|
154
|
+
return outcome;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Import all providers from file
|
|
159
|
+
* @param {string} file import file name
|
|
160
|
+
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
161
|
+
*/
|
|
162
|
+
export async function importAdminFederationProvidersFromFile(file) {
|
|
163
|
+
let outcome = false;
|
|
164
|
+
debugMessage(`cli.AdminFederationOps.importAdminFederationProvidersFromFile: begin`);
|
|
165
|
+
showSpinner(`Importing providers from ${file}...`);
|
|
166
|
+
try {
|
|
167
|
+
const data = fs.readFileSync(file, 'utf8');
|
|
168
|
+
const fileData = JSON.parse(data);
|
|
169
|
+
await importAdminFederationProviders(fileData);
|
|
170
|
+
succeedSpinner(`Imported providers from ${file}.`);
|
|
171
|
+
outcome = true;
|
|
172
|
+
} catch (error) {
|
|
173
|
+
var _error$response5;
|
|
174
|
+
failSpinner(`Error importing ${file}.`);
|
|
175
|
+
printMessage(((_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : _error$response5.data) || error, 'error');
|
|
176
|
+
}
|
|
177
|
+
debugMessage(`cli.AdminFederationOps.importAdminFederationProvidersFromFile: end`);
|
|
178
|
+
return outcome;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Import providers from *.idp.json files in current working directory
|
|
183
|
+
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
184
|
+
*/
|
|
185
|
+
export async function importAdminFederationProvidersFromFiles() {
|
|
186
|
+
const errors = [];
|
|
187
|
+
try {
|
|
188
|
+
debugMessage(`cli.AdminFederationOps.importAdminFederationProvidersFromFiles: begin`);
|
|
189
|
+
const names = fs.readdirSync('.');
|
|
190
|
+
const files = names.filter(name => name.toLowerCase().endsWith('.admin.federation.json'));
|
|
191
|
+
createProgressBar(files.length, 'Importing providers...');
|
|
192
|
+
let total = 0;
|
|
193
|
+
for (const file of files) {
|
|
194
|
+
try {
|
|
195
|
+
const data = fs.readFileSync(file, 'utf8');
|
|
196
|
+
const fileData = JSON.parse(data);
|
|
197
|
+
const count = Object.keys(fileData.idp).length;
|
|
198
|
+
total += count;
|
|
199
|
+
await importAdminFederationProviders(fileData);
|
|
200
|
+
updateProgressBar(`Imported ${count} provider(s) from ${file}`);
|
|
201
|
+
} catch (error) {
|
|
202
|
+
errors.push(error);
|
|
203
|
+
updateProgressBar(`Error importing provider(s) from ${file}`);
|
|
204
|
+
printMessage(error, 'error');
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
stopProgressBar(`Finished importing ${total} provider(s) from ${files.length} file(s).`);
|
|
208
|
+
} catch (error) {
|
|
209
|
+
errors.push(error);
|
|
210
|
+
stopProgressBar(`Error importing provider(s) from file(s).`);
|
|
211
|
+
printMessage(error, 'error');
|
|
212
|
+
}
|
|
213
|
+
debugMessage(`cli.AdminFederationOps.importAdminFederationProvidersFromFiles: end`);
|
|
214
|
+
return 0 === errors.length;
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=AdminFederationOps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminFederationOps.js","names":["frodo","fs","createProgressBar","debugMessage","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","getTypedFilename","saveJsonToFile","readAdminFederationProviders","exportAdminFederationProvider","exportAdminFederationProviders","importAdminFederationProvider","importAdminFederationProviders","importFirstAdminFederationProvider","cloud","adminFed","listAdminFederationProviders","outcome","providers","sort","a","b","_id","localeCompare","forEach","socialIdentityProvider","err","message","exportAdminFederationProviderToFile","providerId","file","fileName","fileData","exportAdminFederationProvidersToFile","error","_error$response","response","data","exportAdminFederationProvidersToFiles","allIdpsData","length","idpData","_error$response2","importAdminFederationProviderFromFile","readFileSync","JSON","parse","_error$response3","importFirstAdminFederationProviderFromFile","_error$response4","importAdminFederationProvidersFromFile","_error$response5","importAdminFederationProvidersFromFiles","errors","names","readdirSync","files","filter","name","toLowerCase","endsWith","total","count","Object","keys","idp","push"],"sources":["../../src/ops/AdminFederationOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\n\nimport {\n createProgressBar,\n debugMessage,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport { getTypedFilename, saveJsonToFile } from '../utils/ExportImportUtils';\n\nconst {\n readAdminFederationProviders,\n exportAdminFederationProvider,\n exportAdminFederationProviders,\n importAdminFederationProvider,\n importAdminFederationProviders,\n importFirstAdminFederationProvider,\n} = frodo.cloud.adminFed;\n\n/**\n * List providers\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listAdminFederationProviders(): Promise<boolean> {\n let outcome = false;\n try {\n const providers = await readAdminFederationProviders();\n providers.sort((a, b) => a._id.localeCompare(b._id));\n providers.forEach((socialIdentityProvider) => {\n printMessage(`${socialIdentityProvider._id}`, 'data');\n });\n outcome = true;\n } catch (err) {\n printMessage(`listAdminFederationProviders ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * Export provider by id\n * @param {string} providerId provider id/name\n * @param {string} file optional export file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportAdminFederationProviderToFile(\n providerId: string,\n file = ''\n): Promise<boolean> {\n let outcome = false;\n let fileName = file;\n if (!fileName) {\n fileName = getTypedFilename(providerId, 'admin.federation');\n }\n createProgressBar(1, `Exporting ${providerId}`);\n try {\n updateProgressBar(`Writing file ${fileName}`);\n const fileData = await exportAdminFederationProvider(providerId);\n saveJsonToFile(fileData, fileName);\n stopProgressBar(\n `Exported ${providerId['brightCyan']} to ${fileName['brightCyan']}.`\n );\n outcome = true;\n } catch (err) {\n stopProgressBar(`${err}`);\n printMessage(`${err}`, 'error');\n }\n return outcome;\n}\n\n/**\n * Export all providers\n * @param {string} file optional export file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportAdminFederationProvidersToFile(\n file = ''\n): Promise<boolean> {\n let outcome = false;\n showSpinner(`Exporting all providers...`);\n try {\n let fileName = file;\n if (!fileName) {\n fileName = getTypedFilename(`allProviders`, 'admin.federation');\n }\n const fileData = await exportAdminFederationProviders();\n saveJsonToFile(fileData, fileName);\n succeedSpinner(`Exported all providers to ${fileName}`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting all providers.`);\n printMessage(error.response?.data || error, 'error');\n }\n return outcome;\n}\n\n/**\n * Export all providers to individual files\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportAdminFederationProvidersToFiles(): Promise<boolean> {\n let outcome = false;\n try {\n const allIdpsData = await readAdminFederationProviders();\n createProgressBar(allIdpsData.length, 'Exporting providers');\n for (const idpData of allIdpsData) {\n updateProgressBar(`Writing provider ${idpData._id}`);\n const fileName = getTypedFilename(idpData._id, 'admin.federation');\n const fileData = await exportAdminFederationProvider(idpData._id);\n saveJsonToFile(fileData, fileName);\n }\n stopProgressBar(`${allIdpsData.length} providers exported.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting all providers.`);\n printMessage(error.response?.data || error, 'error');\n }\n return outcome;\n}\n\n/**\n * Import provider by id/name\n * @param {string} providerId provider id/name\n * @param {string} file import file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importAdminFederationProviderFromFile(\n providerId: string,\n file: string\n): Promise<boolean> {\n let outcome = false;\n showSpinner(`Importing provider ${providerId} from ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importAdminFederationProvider(providerId, fileData);\n succeedSpinner(\n `Successfully imported provider ${providerId} from ${file}.`\n );\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing provider ${providerId} from ${file}.`);\n printMessage(error.response?.data || error, 'error');\n }\n return outcome;\n}\n\n/**\n * Import first provider from file\n * @param {String} file import file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importFirstAdminFederationProviderFromFile(\n file: string\n): Promise<boolean> {\n let outcome = false;\n debugMessage(\n `cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: begin`\n );\n showSpinner(`Importing first provider from ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importFirstAdminFederationProvider(fileData);\n succeedSpinner(`Successfully imported first provider from ${file}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing first provider from ${file}.`);\n printMessage(error.response?.data || error, 'error');\n }\n debugMessage(\n `cli.AdminFederationOps.importFirstAdminFederationProviderFromFile: end`\n );\n return outcome;\n}\n\n/**\n * Import all providers from file\n * @param {string} file import file name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importAdminFederationProvidersFromFile(\n file: string\n): Promise<boolean> {\n let outcome = false;\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFile: begin`\n );\n showSpinner(`Importing providers from ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importAdminFederationProviders(fileData);\n succeedSpinner(`Imported providers from ${file}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error.response?.data || error, 'error');\n }\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFile: end`\n );\n return outcome;\n}\n\n/**\n * Import providers from *.idp.json files in current working directory\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importAdminFederationProvidersFromFiles(): Promise<boolean> {\n const errors = [];\n try {\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFiles: begin`\n );\n const names = fs.readdirSync('.');\n const files = names.filter((name) =>\n name.toLowerCase().endsWith('.admin.federation.json')\n );\n createProgressBar(files.length, 'Importing providers...');\n let total = 0;\n for (const file of files) {\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n const count = Object.keys(fileData.idp).length;\n total += count;\n await importAdminFederationProviders(fileData);\n updateProgressBar(`Imported ${count} provider(s) from ${file}`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error importing provider(s) from ${file}`);\n printMessage(error, 'error');\n }\n }\n stopProgressBar(\n `Finished importing ${total} provider(s) from ${files.length} file(s).`\n );\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error importing provider(s) from file(s).`);\n printMessage(error, 'error');\n }\n debugMessage(\n `cli.AdminFederationOps.importAdminFederationProvidersFromFiles: end`\n );\n return 0 === errors.length;\n}\n"],"mappings":"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"}
|