@rockcarver/frodo-cli 2.0.0-5 → 2.0.0-50
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 +361 -6
- package/esm/app.js +20 -3
- package/esm/app.js.map +1 -1
- package/esm/cli/FrodoCommand.js +33 -7
- package/esm/cli/FrodoCommand.js.map +1 -1
- package/esm/cli/_template/something-delete.js +7 -5
- package/esm/cli/_template/something-delete.js.map +1 -1
- package/esm/cli/_template/something-describe.js +7 -5
- package/esm/cli/_template/something-describe.js.map +1 -1
- package/esm/cli/_template/something-else-delete.js +7 -5
- package/esm/cli/_template/something-else-delete.js.map +1 -1
- package/esm/cli/_template/something-else-describe.js +7 -5
- package/esm/cli/_template/something-else-describe.js.map +1 -1
- package/esm/cli/_template/something-else-export.js +8 -6
- package/esm/cli/_template/something-else-export.js.map +1 -1
- package/esm/cli/_template/something-else-import.js +7 -5
- package/esm/cli/_template/something-else-import.js.map +1 -1
- package/esm/cli/_template/something-else-list.js +7 -5
- 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 +8 -6
- package/esm/cli/_template/something-export.js.map +1 -1
- package/esm/cli/_template/something-import.js +7 -5
- package/esm/cli/_template/something-import.js.map +1 -1
- package/esm/cli/_template/something-list.js +7 -5
- package/esm/cli/_template/something-list.js.map +1 -1
- package/esm/cli/_template/something-other-delete.js +7 -5
- package/esm/cli/_template/something-other-delete.js.map +1 -1
- package/esm/cli/_template/something-other-describe.js +7 -5
- package/esm/cli/_template/something-other-describe.js.map +1 -1
- package/esm/cli/_template/something-other-export.js +8 -6
- package/esm/cli/_template/something-other-export.js.map +1 -1
- package/esm/cli/_template/something-other-import.js +7 -5
- package/esm/cli/_template/something-other-import.js.map +1 -1
- package/esm/cli/_template/something-other-list.js +7 -5
- 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 -5
- 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 -8
- 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 +41 -0
- package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +1 -0
- package/esm/cli/admin/admin-federation-export.js +44 -0
- package/esm/cli/admin/admin-federation-export.js.map +1 -0
- package/esm/cli/admin/admin-federation-import.js +48 -0
- package/esm/cli/admin/admin-federation-import.js.map +1 -0
- package/esm/cli/admin/admin-federation-list.js +28 -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-generate-rfc7523-authz-grant-artefacts.js +43 -0
- package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +1 -0
- package/esm/cli/admin/admin-get-access-token.js +12 -7
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +13 -8
- 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 -6
- 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 +11 -6
- 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 +11 -6
- 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 +12 -7
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +12 -6
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js +11 -6
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +12 -7
- 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 -6
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin-train-auto-access-model.js +32 -0
- package/esm/cli/admin/admin-train-auto-access-model.js.map +1 -0
- package/esm/cli/admin/admin.js +8 -2
- package/esm/cli/admin/admin.js.map +1 -1
- package/esm/cli/agent/agent-delete.js +13 -7
- package/esm/cli/agent/agent-delete.js.map +1 -1
- package/esm/cli/agent/agent-describe.js +7 -5
- package/esm/cli/agent/agent-describe.js.map +1 -1
- package/esm/cli/agent/agent-export.js +12 -10
- package/esm/cli/agent/agent-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-delete.js +13 -7
- package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
- package/esm/cli/agent/agent-gateway-describe.js +7 -5
- package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
- package/esm/cli/agent/agent-gateway-export.js +12 -10
- package/esm/cli/agent/agent-gateway-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-import.js +8 -6
- package/esm/cli/agent/agent-gateway-import.js.map +1 -1
- package/esm/cli/agent/agent-gateway-list.js +7 -5
- 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 -6
- package/esm/cli/agent/agent-import.js.map +1 -1
- package/esm/cli/agent/agent-java-delete.js +13 -7
- package/esm/cli/agent/agent-java-delete.js.map +1 -1
- package/esm/cli/agent/agent-java-describe.js +7 -5
- package/esm/cli/agent/agent-java-describe.js.map +1 -1
- package/esm/cli/agent/agent-java-export.js +12 -10
- package/esm/cli/agent/agent-java-export.js.map +1 -1
- package/esm/cli/agent/agent-java-import.js +8 -6
- package/esm/cli/agent/agent-java-import.js.map +1 -1
- package/esm/cli/agent/agent-java-list.js +7 -5
- 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 -5
- package/esm/cli/agent/agent-list.js.map +1 -1
- package/esm/cli/agent/agent-web-delete.js +13 -7
- package/esm/cli/agent/agent-web-delete.js.map +1 -1
- package/esm/cli/agent/agent-web-describe.js +7 -5
- package/esm/cli/agent/agent-web-describe.js.map +1 -1
- package/esm/cli/agent/agent-web-export.js +12 -10
- package/esm/cli/agent/agent-web-export.js.map +1 -1
- package/esm/cli/agent/agent-web-import.js +8 -6
- package/esm/cli/agent/agent-web-import.js.map +1 -1
- package/esm/cli/agent/agent-web-list.js +7 -5
- package/esm/cli/agent/agent-web-list.js.map +1 -1
- package/esm/cli/agent/agent-web.js +3 -3
- 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 -9
- package/esm/cli/app/app-delete.js.map +1 -1
- package/esm/cli/app/app-describe.js +9 -6
- package/esm/cli/app/app-describe.js.map +1 -1
- package/esm/cli/app/app-export.js +17 -14
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js +21 -18
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js +12 -9
- 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/authn/authn-describe.js +29 -0
- package/esm/cli/authn/authn-describe.js.map +1 -0
- package/esm/cli/authn/authn-export.js +25 -0
- package/esm/cli/authn/authn-export.js.map +1 -0
- package/esm/cli/authn/authn-import.js +25 -0
- package/esm/cli/authn/authn-import.js.map +1 -0
- package/esm/cli/authn/authn.js +12 -0
- package/esm/cli/authn/authn.js.map +1 -0
- package/esm/cli/authz/authz-policy-delete.js +11 -9
- package/esm/cli/authz/authz-policy-delete.js.map +1 -1
- package/esm/cli/authz/authz-policy-describe.js +8 -6
- package/esm/cli/authz/authz-policy-describe.js.map +1 -1
- package/esm/cli/authz/authz-policy-export.js +18 -16
- package/esm/cli/authz/authz-policy-export.js.map +1 -1
- package/esm/cli/authz/authz-policy-import.js +11 -9
- package/esm/cli/authz/authz-policy-import.js.map +1 -1
- package/esm/cli/authz/authz-policy-list.js +11 -9
- 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 +11 -9
- package/esm/cli/authz/authz-set-delete.js.map +1 -1
- package/esm/cli/authz/authz-set-describe.js +8 -6
- package/esm/cli/authz/authz-set-describe.js.map +1 -1
- package/esm/cli/authz/authz-set-export.js +14 -12
- package/esm/cli/authz/authz-set-export.js.map +1 -1
- package/esm/cli/authz/authz-set-import.js +11 -9
- package/esm/cli/authz/authz-set-import.js.map +1 -1
- package/esm/cli/authz/authz-set-list.js +8 -6
- 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 +13 -11
- package/esm/cli/authz/authz-type-delete.js.map +1 -1
- package/esm/cli/authz/authz-type-describe.js +9 -7
- package/esm/cli/authz/authz-type-describe.js.map +1 -1
- package/esm/cli/authz/authz-type-export.js +16 -14
- package/esm/cli/authz/authz-type-export.js.map +1 -1
- package/esm/cli/authz/authz-type-import.js +14 -12
- package/esm/cli/authz/authz-type-import.js.map +1 -1
- package/esm/cli/authz/authz-type-list.js +9 -7
- 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/config/config-delete.js +21 -0
- package/esm/cli/config/config-delete.js.map +1 -0
- package/esm/cli/config/config-describe.js +21 -0
- package/esm/cli/config/config-describe.js.map +1 -0
- package/esm/cli/config/config-export.js +47 -0
- package/esm/cli/config/config-export.js.map +1 -0
- package/esm/cli/config/config-import.js +56 -0
- package/esm/cli/config/config-import.js.map +1 -0
- package/esm/cli/config/config-list.js +21 -0
- package/esm/cli/config/config-list.js.map +1 -0
- package/esm/cli/config/config.js +19 -0
- package/esm/cli/config/config.js.map +1 -0
- package/esm/cli/conn/conn-delete.js +2 -3
- package/esm/cli/conn/conn-delete.js.map +1 -1
- package/esm/cli/conn/conn-describe.js +2 -3
- package/esm/cli/conn/conn-describe.js.map +1 -1
- package/esm/cli/conn/conn-list.js +2 -3
- package/esm/cli/conn/conn-list.js.map +1 -1
- package/esm/cli/conn/conn-save.js +27 -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 +14 -12
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +15 -13
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +9 -7
- 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 -9
- package/esm/cli/esv/esv-apply.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js +16 -8
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js +13 -10
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js +10 -7
- package/esm/cli/esv/esv-secret-describe.js.map +1 -1
- package/esm/cli/esv/esv-secret-export.js +22 -7
- package/esm/cli/esv/esv-secret-export.js.map +1 -1
- package/esm/cli/esv/esv-secret-import.js +7 -5
- package/esm/cli/esv/esv-secret-import.js.map +1 -1
- package/esm/cli/esv/esv-secret-list.js +11 -8
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js +10 -7
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js +10 -8
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js +16 -8
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +10 -8
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js +13 -10
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js +10 -7
- 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 +2 -3
- package/esm/cli/esv/esv-secret.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js +11 -7
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js +13 -9
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js +11 -8
- package/esm/cli/esv/esv-variable-describe.js.map +1 -1
- package/esm/cli/esv/esv-variable-export.js +23 -7
- package/esm/cli/esv/esv-variable-export.js.map +1 -1
- package/esm/cli/esv/esv-variable-import.js +7 -5
- package/esm/cli/esv/esv-variable-import.js.map +1 -1
- package/esm/cli/esv/esv-variable-list.js +11 -8
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js +12 -8
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/esv/esv-variable.js +2 -3
- 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 +10 -8
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js +24 -16
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-import.js +22 -14
- package/esm/cli/idm/idm-import.js.map +1 -1
- package/esm/cli/idm/idm-list.js +9 -7
- 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 +12 -10
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js +24 -14
- package/esm/cli/idp/idp-import.js.map +1 -1
- package/esm/cli/idp/idp-list.js +8 -6
- 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 +13 -7
- package/esm/cli/info/info.js.map +1 -1
- package/esm/cli/journey/journey-delete.js +14 -8
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js +22 -12
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js +11 -12
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js +11 -12
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js +30 -16
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js +15 -13
- package/esm/cli/journey/journey-import.js.map +1 -1
- package/esm/cli/journey/journey-list.js +7 -5
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js +23 -13
- 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/log/log-fetch.js +67 -35
- package/esm/cli/log/log-fetch.js.map +1 -1
- package/esm/cli/log/log-key-delete.js +9 -7
- package/esm/cli/log/log-key-delete.js.map +1 -1
- package/esm/cli/log/log-key-describe.js +7 -5
- package/esm/cli/log/log-key-describe.js.map +1 -1
- package/esm/cli/log/log-key-list.js +7 -5
- package/esm/cli/log/log-key-list.js.map +1 -1
- package/esm/cli/log/log-key.js +1 -1
- package/esm/cli/log/log-key.js.map +1 -1
- package/esm/cli/log/log-list.js +64 -33
- package/esm/cli/log/log-list.js.map +1 -1
- package/esm/cli/log/log-tail.js +65 -34
- package/esm/cli/log/log-tail.js.map +1 -1
- package/esm/cli/log/log.js +2 -2
- package/esm/cli/log/log.js.map +1 -1
- package/esm/cli/oauth/oauth-client-delete.js +21 -0
- package/esm/cli/oauth/oauth-client-delete.js.map +1 -0
- package/esm/cli/oauth/oauth-client-describe.js +21 -0
- package/esm/cli/oauth/oauth-client-describe.js.map +1 -0
- package/esm/cli/oauth/oauth-client-export.js +51 -0
- package/esm/cli/oauth/oauth-client-export.js.map +1 -0
- package/esm/cli/oauth/oauth-client-import.js +56 -0
- package/esm/cli/oauth/oauth-client-import.js.map +1 -0
- package/esm/cli/oauth/oauth-client-list.js +24 -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 -6
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js +8 -6
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js +8 -6
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +11 -6
- 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 +14 -12
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js +15 -13
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js +9 -7
- 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 -8
- package/esm/cli/saml/saml-delete.js.map +1 -1
- package/esm/cli/saml/saml-describe.js +9 -7
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js +20 -12
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js +24 -14
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js +9 -7
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js +10 -8
- 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 +21 -8
- package/esm/cli/script/script-delete.js.map +1 -1
- package/esm/cli/script/script-describe.js +7 -5
- package/esm/cli/script/script-describe.js.map +1 -1
- package/esm/cli/script/script-export.js +13 -15
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js +18 -10
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js +10 -8
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/script/script.js +3 -5
- 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 +13 -11
- package/esm/cli/service/service-export.js.map +1 -1
- package/esm/cli/service/service-import.js +32 -14
- 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 +13 -11
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +16 -14
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +16 -14
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.js +8 -6
- 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 +1 -1
- package/esm/help/SampleData.js.map +1 -1
- 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 +231 -0
- package/esm/ops/AdminFederationOps.js.map +1 -0
- package/esm/ops/AdminOps.js +151 -0
- package/esm/ops/AdminOps.js.map +1 -0
- package/esm/ops/AgentOps.js +213 -150
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/ApplicationOps.js +324 -0
- package/esm/ops/ApplicationOps.js.map +1 -0
- package/esm/ops/AuthenticationSettingsOps.js +90 -0
- package/esm/ops/AuthenticationSettingsOps.js.map +1 -0
- package/esm/ops/CirclesOfTrustOps.js +98 -78
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/ConfigOps.js +168 -0
- package/esm/ops/ConfigOps.js.map +1 -0
- package/esm/ops/ConnectionProfileOps.js +13 -6
- package/esm/ops/ConnectionProfileOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +122 -127
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdmOps.js +101 -182
- package/esm/ops/IdmOps.js.map +1 -1
- package/esm/ops/IdpOps.js +108 -75
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +182 -116
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/LogOps.js +22 -12
- package/esm/ops/LogOps.js.map +1 -1
- package/esm/ops/NodeOps.js +14 -3
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/OAuth2ClientOps.js +71 -49
- 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 +127 -86
- package/esm/ops/PolicyOps.js.map +1 -1
- package/esm/ops/PolicySetOps.js +108 -76
- package/esm/ops/PolicySetOps.js.map +1 -1
- package/esm/ops/RealmOps.js +15 -10
- package/esm/ops/RealmOps.js.map +1 -1
- package/esm/ops/ResourceTypeOps.js +105 -87
- package/esm/ops/ResourceTypeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js +138 -91
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test_.js.map +1 -1
- package/esm/ops/ScriptOps.js +222 -90
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/SecretsOps.js +333 -79
- package/esm/ops/SecretsOps.js.map +1 -1
- package/esm/ops/ServiceOps.js +97 -54
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +164 -158
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/VariablesOps.js +252 -65
- 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 +164 -4
- package/esm/utils/Config.js.map +1 -1
- package/esm/utils/Console.js +78 -35
- package/esm/utils/Console.js.map +1 -1
- package/esm/utils/Version.js +20 -17
- package/esm/utils/Version.js.map +1 -1
- package/global-jest-setup.js +5 -0
- package/package.json +55 -37
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
- package/esm/cli/theme/theme-list.e2e.test_.js.map +0 -1
- package/esm/utils/ExportImportUtils.js +0 -90
- package/esm/utils/ExportImportUtils.js.map +0 -1
package/esm/ops/JourneyOps.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { frodo, state } from '@rockcarver/frodo-lib';
|
|
2
2
|
import fs from 'fs';
|
|
3
|
-
import {
|
|
3
|
+
import { createProgressIndicator, createTable, debugMessage, printMessage, stopProgressIndicator, updateProgressIndicator } from '../utils/Console';
|
|
4
4
|
import * as CirclesOfTrust from './CirclesOfTrustOps';
|
|
5
5
|
import * as EmailTemplate from './EmailTemplateOps';
|
|
6
6
|
import * as Idp from './IdpOps';
|
|
@@ -8,8 +8,29 @@ import * as Node from './NodeOps';
|
|
|
8
8
|
import * as Saml2 from './Saml2Ops';
|
|
9
9
|
import * as Script from './ScriptOps';
|
|
10
10
|
import * as Theme from './ThemeOps';
|
|
11
|
-
import wordwrap from './utils/Wordwrap';
|
|
12
11
|
import { cloneDeep } from './utils/OpsUtils';
|
|
12
|
+
import wordwrap from './utils/Wordwrap';
|
|
13
|
+
const {
|
|
14
|
+
getTypedFilename,
|
|
15
|
+
saveJsonToFile,
|
|
16
|
+
getRealmString,
|
|
17
|
+
getFilePath,
|
|
18
|
+
getWorkingDirectory
|
|
19
|
+
} = frodo.utils;
|
|
20
|
+
const {
|
|
21
|
+
readJourneys,
|
|
22
|
+
exportJourney,
|
|
23
|
+
exportJourneys,
|
|
24
|
+
resolveDependencies,
|
|
25
|
+
importJourneys,
|
|
26
|
+
importJourney,
|
|
27
|
+
getTreeDescendents,
|
|
28
|
+
getNodeRef,
|
|
29
|
+
onlineTreeExportResolver,
|
|
30
|
+
getJourneyClassification: _getJourneyClassification,
|
|
31
|
+
disableJourney: _disableJourney,
|
|
32
|
+
enableJourney: _enableJourney
|
|
33
|
+
} = frodo.authn.journey;
|
|
13
34
|
|
|
14
35
|
/**
|
|
15
36
|
* List all the journeys/trees
|
|
@@ -20,7 +41,7 @@ import { cloneDeep } from './utils/OpsUtils';
|
|
|
20
41
|
export async function listJourneys(long = false, analyze = false) {
|
|
21
42
|
let journeys = [];
|
|
22
43
|
try {
|
|
23
|
-
journeys = await
|
|
44
|
+
journeys = await readJourneys();
|
|
24
45
|
if (!long && !analyze) {
|
|
25
46
|
for (const journeyStub of journeys) {
|
|
26
47
|
printMessage(`${journeyStub['_id']}`, 'data');
|
|
@@ -34,17 +55,18 @@ export async function listJourneys(long = false, analyze = false) {
|
|
|
34
55
|
}
|
|
35
56
|
printMessage(table.toString(), 'data');
|
|
36
57
|
} else {
|
|
37
|
-
|
|
58
|
+
const spinnerId = createProgressIndicator('indeterminate', 0, `Retrieving details of all journeys...`);
|
|
38
59
|
const exportPromises = [];
|
|
39
60
|
try {
|
|
40
61
|
for (const journeyStub of journeys) {
|
|
41
|
-
exportPromises.push(
|
|
62
|
+
exportPromises.push(exportJourney(journeyStub['_id'], {
|
|
42
63
|
useStringArrays: false,
|
|
43
|
-
deps: false
|
|
64
|
+
deps: false,
|
|
65
|
+
coords: true
|
|
44
66
|
}));
|
|
45
67
|
}
|
|
46
68
|
const journeyExports = await Promise.all(exportPromises);
|
|
47
|
-
|
|
69
|
+
stopProgressIndicator(spinnerId, 'Retrieved details of all journeys.', 'success');
|
|
48
70
|
const table = createTable(['Name', 'Status', 'Classification', 'Tags']);
|
|
49
71
|
for (const journeyExport of journeyExports) {
|
|
50
72
|
var _journeyExport$tree$u;
|
|
@@ -52,7 +74,7 @@ export async function listJourneys(long = false, analyze = false) {
|
|
|
52
74
|
}
|
|
53
75
|
printMessage(table.toString(), 'data');
|
|
54
76
|
} catch (error) {
|
|
55
|
-
|
|
77
|
+
stopProgressIndicator(spinnerId, 'Error retrieving details of all journeys.', 'fail');
|
|
56
78
|
printMessage(error.response.data, 'error');
|
|
57
79
|
}
|
|
58
80
|
}
|
|
@@ -68,86 +90,76 @@ export async function listJourneys(long = false, analyze = false) {
|
|
|
68
90
|
* Export journey by id/name to file
|
|
69
91
|
* @param {string} journeyId journey id/name
|
|
70
92
|
* @param {string} file optional export file name
|
|
93
|
+
* @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
|
|
71
94
|
* @param {TreeExportOptions} options export options
|
|
72
95
|
*/
|
|
73
|
-
export async function exportJourneyToFile(journeyId, file, options
|
|
96
|
+
export async function exportJourneyToFile(journeyId, file, includeMeta = true, options = {
|
|
97
|
+
deps: false,
|
|
98
|
+
useStringArrays: false,
|
|
99
|
+
coords: true
|
|
100
|
+
}) {
|
|
74
101
|
debugMessage(`exportJourneyToFile: start`);
|
|
75
|
-
const verbose = state.
|
|
102
|
+
const verbose = state.getVerbose();
|
|
76
103
|
if (!file) {
|
|
77
|
-
file =
|
|
78
|
-
}
|
|
79
|
-
if (state.getDirectory()) {
|
|
80
|
-
const dir = state.getDirectory().replace(/\/$/, '');
|
|
81
|
-
debugMessage(`exportJourneyToFile: directory='${dir}'`);
|
|
82
|
-
file = `${dir}/${file}`;
|
|
83
|
-
// create directory if it doesn't exist
|
|
84
|
-
if (!fs.existsSync(dir)) {
|
|
85
|
-
debugMessage(`exportJourneyToFile: creating directory '${dir}'`);
|
|
86
|
-
fs.mkdirSync(dir, {
|
|
87
|
-
recursive: true
|
|
88
|
-
});
|
|
89
|
-
}
|
|
104
|
+
file = getTypedFilename(journeyId, 'journey');
|
|
90
105
|
}
|
|
91
|
-
|
|
106
|
+
const filePath = getFilePath(file, true);
|
|
107
|
+
let spinnerId;
|
|
108
|
+
if (!verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
|
|
92
109
|
try {
|
|
93
|
-
const fileData = await
|
|
94
|
-
if (verbose)
|
|
95
|
-
|
|
96
|
-
|
|
110
|
+
const fileData = await exportJourney(journeyId, options);
|
|
111
|
+
if (verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
|
|
112
|
+
saveJsonToFile(fileData, filePath, includeMeta);
|
|
113
|
+
stopProgressIndicator(spinnerId, `Exported ${journeyId['brightCyan']} to ${filePath['brightCyan']}.`, 'success');
|
|
97
114
|
} catch (error) {
|
|
98
|
-
if (verbose)
|
|
99
|
-
|
|
115
|
+
if (verbose) spinnerId = createProgressIndicator('indeterminate', 0, `${journeyId}`);
|
|
116
|
+
stopProgressIndicator(spinnerId, `Error exporting journey ${journeyId}: ${error}`, 'fail');
|
|
100
117
|
}
|
|
101
118
|
}
|
|
102
119
|
|
|
103
120
|
/**
|
|
104
121
|
* Export all journeys to file
|
|
105
122
|
* @param {string} file optional export file name
|
|
123
|
+
* @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
|
|
106
124
|
* @param {TreeExportOptions} options export options
|
|
107
125
|
*/
|
|
108
|
-
export async function exportJourneysToFile(file, options = {
|
|
126
|
+
export async function exportJourneysToFile(file, includeMeta = true, options = {
|
|
109
127
|
deps: false,
|
|
110
|
-
useStringArrays: false
|
|
128
|
+
useStringArrays: false,
|
|
129
|
+
coords: true
|
|
111
130
|
}) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
fileName = frodo.utils.impex.getTypedFilename(`all${frodo.utils.impex.getRealmString()}Journeys`, 'journeys');
|
|
115
|
-
}
|
|
116
|
-
const trees = await frodo.authn.journey.getJourneys();
|
|
117
|
-
const fileData = frodo.authn.journey.createMultiTreeExportTemplate();
|
|
118
|
-
createProgressBar(trees.length, 'Exporting journeys...');
|
|
119
|
-
for (const tree of trees) {
|
|
120
|
-
updateProgressBar(`${tree._id}`);
|
|
121
|
-
try {
|
|
122
|
-
const exportData = await frodo.authn.journey.exportJourney(tree._id, options);
|
|
123
|
-
delete exportData.meta;
|
|
124
|
-
fileData.trees[tree._id] = exportData;
|
|
125
|
-
} catch (error) {
|
|
126
|
-
printMessage(`Error exporting journey ${tree._id}: ${error}`, 'error');
|
|
127
|
-
}
|
|
131
|
+
if (!file) {
|
|
132
|
+
file = getTypedFilename(`all${getRealmString()}Journeys`, 'journey');
|
|
128
133
|
}
|
|
129
|
-
|
|
130
|
-
|
|
134
|
+
const filePath = getFilePath(file, true);
|
|
135
|
+
const fileData = await exportJourneys(options);
|
|
136
|
+
saveJsonToFile(fileData, filePath, includeMeta);
|
|
131
137
|
}
|
|
132
138
|
|
|
133
139
|
/**
|
|
134
140
|
* Export all journeys to separate files
|
|
141
|
+
* @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
|
|
135
142
|
* @param {TreeExportOptions} options export options
|
|
136
143
|
*/
|
|
137
|
-
export async function exportJourneysToFiles(options
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
144
|
+
export async function exportJourneysToFiles(includeMeta = true, options = {
|
|
145
|
+
deps: false,
|
|
146
|
+
useStringArrays: false,
|
|
147
|
+
coords: true
|
|
148
|
+
}) {
|
|
149
|
+
const journeysExport = await exportJourneys(options);
|
|
150
|
+
const trees = Object.entries(journeysExport.trees);
|
|
151
|
+
for (const [treeId, treeValue] of trees) {
|
|
152
|
+
const indicatorId = createProgressIndicator('determinate', 1, `Saving ${treeId}...`);
|
|
153
|
+
const file = getFilePath(getTypedFilename(`${treeId}`, 'journey'), true);
|
|
154
|
+
treeValue['meta'] = journeysExport.meta;
|
|
143
155
|
try {
|
|
144
|
-
|
|
145
|
-
|
|
156
|
+
updateProgressIndicator(indicatorId, `Saving ${treeId} to ${file}`);
|
|
157
|
+
saveJsonToFile(treeValue, file, includeMeta);
|
|
158
|
+
stopProgressIndicator(indicatorId, `${treeId} saved to ${file}`);
|
|
146
159
|
} catch (error) {
|
|
147
|
-
|
|
160
|
+
stopProgressIndicator(indicatorId, `Error saving ${treeId} to ${file}`);
|
|
148
161
|
}
|
|
149
162
|
}
|
|
150
|
-
stopProgressBar('Done');
|
|
151
163
|
}
|
|
152
164
|
|
|
153
165
|
/**
|
|
@@ -157,9 +169,9 @@ export async function exportJourneysToFiles(options) {
|
|
|
157
169
|
* @param {TreeImportOptions} options import options
|
|
158
170
|
*/
|
|
159
171
|
export async function importJourneyFromFile(journeyId, file, options) {
|
|
160
|
-
const verbose = state.
|
|
161
|
-
|
|
162
|
-
|
|
172
|
+
const verbose = state.getVerbose();
|
|
173
|
+
try {
|
|
174
|
+
const data = fs.readFileSync(getFilePath(file), 'utf8');
|
|
163
175
|
let journeyData = JSON.parse(data);
|
|
164
176
|
// check if this is a file with multiple trees and get journey by id
|
|
165
177
|
if (journeyData.trees && journeyData.trees[journeyId]) {
|
|
@@ -171,35 +183,39 @@ export async function importJourneyFromFile(journeyId, file, options) {
|
|
|
171
183
|
// if a journeyId was specified, only import the matching journey
|
|
172
184
|
if (journeyData && journeyId === journeyData.tree._id) {
|
|
173
185
|
// attempt dependency resolution for single tree import
|
|
174
|
-
const installedJourneys = (await
|
|
186
|
+
const installedJourneys = (await readJourneys()).map(x => x._id);
|
|
175
187
|
const unresolvedJourneys = {};
|
|
176
188
|
const resolvedJourneys = [];
|
|
177
|
-
|
|
178
|
-
await
|
|
189
|
+
const indicatorId1 = createProgressIndicator('indeterminate', 0, 'Resolving dependencies');
|
|
190
|
+
await resolveDependencies(installedJourneys, {
|
|
179
191
|
[journeyId]: journeyData
|
|
180
192
|
}, unresolvedJourneys, resolvedJourneys);
|
|
181
193
|
if (Object.keys(unresolvedJourneys).length === 0) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
194
|
+
stopProgressIndicator(indicatorId1, `Resolved all dependencies.`, 'success');
|
|
195
|
+
let indicatorId2;
|
|
196
|
+
if (!verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
|
|
197
|
+
try {
|
|
198
|
+
await importJourney(journeyData, options);
|
|
199
|
+
if (verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
|
|
200
|
+
stopProgressIndicator(indicatorId2, `Imported ${journeyId}.`, 'success');
|
|
201
|
+
} catch (importError) {
|
|
202
|
+
if (verbose) indicatorId2 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
|
|
203
|
+
stopProgressIndicator(indicatorId2, `${importError}`, 'fail');
|
|
204
|
+
}
|
|
191
205
|
} else {
|
|
192
|
-
|
|
206
|
+
stopProgressIndicator(indicatorId1, `Unresolved dependencies:`, 'fail');
|
|
193
207
|
for (const journey of Object.keys(unresolvedJourneys)) {
|
|
194
208
|
printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
|
|
195
209
|
}
|
|
196
210
|
}
|
|
197
211
|
// end dependency resolution for single tree import
|
|
198
212
|
} else {
|
|
199
|
-
|
|
200
|
-
|
|
213
|
+
const indicatorId3 = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
|
|
214
|
+
stopProgressIndicator(indicatorId3, `${journeyId} not found!`, 'fail');
|
|
201
215
|
}
|
|
202
|
-
})
|
|
216
|
+
} catch (error) {
|
|
217
|
+
printMessage(`Error importing journey ${journeyId}: ${error}`, 'error');
|
|
218
|
+
}
|
|
203
219
|
}
|
|
204
220
|
|
|
205
221
|
/**
|
|
@@ -208,9 +224,9 @@ export async function importJourneyFromFile(journeyId, file, options) {
|
|
|
208
224
|
* @param {TreeImportOptions} options import options
|
|
209
225
|
*/
|
|
210
226
|
export async function importFirstJourneyFromFile(file, options) {
|
|
211
|
-
const verbose = state.
|
|
212
|
-
|
|
213
|
-
|
|
227
|
+
const verbose = state.getVerbose();
|
|
228
|
+
try {
|
|
229
|
+
const data = fs.readFileSync(getFilePath(file), 'utf8');
|
|
214
230
|
let journeyData = cloneDeep(JSON.parse(data));
|
|
215
231
|
let journeyId = null;
|
|
216
232
|
// single tree
|
|
@@ -231,35 +247,39 @@ export async function importFirstJourneyFromFile(file, options) {
|
|
|
231
247
|
// if a journeyId was specified, only import the matching journey
|
|
232
248
|
if (journeyData && journeyId) {
|
|
233
249
|
// attempt dependency resolution for single tree import
|
|
234
|
-
const installedJourneys = (await
|
|
250
|
+
const installedJourneys = (await readJourneys()).map(x => x._id);
|
|
235
251
|
const unresolvedJourneys = {};
|
|
236
252
|
const resolvedJourneys = [];
|
|
237
|
-
|
|
238
|
-
await
|
|
253
|
+
const depSpinnerId = createProgressIndicator('indeterminate', 0, 'Resolving dependencies');
|
|
254
|
+
await resolveDependencies(installedJourneys, {
|
|
239
255
|
[journeyId]: journeyData
|
|
240
256
|
}, unresolvedJourneys, resolvedJourneys);
|
|
241
257
|
if (Object.keys(unresolvedJourneys).length === 0) {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
258
|
+
stopProgressIndicator(depSpinnerId, `Resolved all dependencies.`, 'success');
|
|
259
|
+
let importSpinnerId;
|
|
260
|
+
if (!verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
|
|
261
|
+
try {
|
|
262
|
+
await importJourney(journeyData, options);
|
|
263
|
+
if (verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
|
|
264
|
+
stopProgressIndicator(importSpinnerId, `Imported ${journeyId}.`, 'success');
|
|
265
|
+
} catch (importError) {
|
|
266
|
+
if (verbose) importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing ${journeyId}...`);
|
|
267
|
+
stopProgressIndicator(importSpinnerId, `${importError}`, 'fail');
|
|
268
|
+
}
|
|
251
269
|
} else {
|
|
252
|
-
|
|
270
|
+
stopProgressIndicator(depSpinnerId, `Unresolved dependencies:`, 'fail');
|
|
253
271
|
for (const journey of Object.keys(unresolvedJourneys)) {
|
|
254
272
|
printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
|
|
255
273
|
}
|
|
256
274
|
}
|
|
257
275
|
} else {
|
|
258
|
-
|
|
259
|
-
|
|
276
|
+
const importSpinnerId = createProgressIndicator('indeterminate', 0, `Importing...`);
|
|
277
|
+
stopProgressIndicator(importSpinnerId, `No journeys found!`, 'fail');
|
|
260
278
|
}
|
|
261
279
|
// end dependency resolution for single tree import
|
|
262
|
-
})
|
|
280
|
+
} catch (error) {
|
|
281
|
+
printMessage(`Error importing first journey: ${error}`, 'error');
|
|
282
|
+
}
|
|
263
283
|
}
|
|
264
284
|
|
|
265
285
|
/**
|
|
@@ -268,11 +288,27 @@ export async function importFirstJourneyFromFile(file, options) {
|
|
|
268
288
|
* @param {TreeImportOptions} options import options
|
|
269
289
|
*/
|
|
270
290
|
export async function importJourneysFromFile(file, options) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
291
|
+
try {
|
|
292
|
+
const data = fs.readFileSync(getFilePath(file), 'utf8');
|
|
293
|
+
try {
|
|
294
|
+
const fileData = JSON.parse(data);
|
|
295
|
+
await importJourneys(fileData, options);
|
|
296
|
+
} catch (error) {
|
|
297
|
+
if (error.name === 'UnresolvedDependenciesError') {
|
|
298
|
+
for (const journey of Object.keys(error.unresolvedJourneys)) {
|
|
299
|
+
printMessage({
|
|
300
|
+
message: ` - ${journey} requires ${error.unresolvedJourneys[journey]}`,
|
|
301
|
+
type: 'info',
|
|
302
|
+
state
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
} else {
|
|
306
|
+
printMessage(`${error.message}`, 'error');
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
} catch (error) {
|
|
310
|
+
printMessage(`Error importing journeys: ${error}`, 'error');
|
|
311
|
+
}
|
|
276
312
|
}
|
|
277
313
|
|
|
278
314
|
/**
|
|
@@ -280,8 +316,8 @@ export async function importJourneysFromFile(file, options) {
|
|
|
280
316
|
* @param {TreeImportOptions} options import options
|
|
281
317
|
*/
|
|
282
318
|
export async function importJourneysFromFiles(options) {
|
|
283
|
-
const names = fs.readdirSync(
|
|
284
|
-
const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.journey.json'));
|
|
319
|
+
const names = fs.readdirSync(getWorkingDirectory());
|
|
320
|
+
const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.journey.json')).map(name => getFilePath(name));
|
|
285
321
|
const allJourneysData = {
|
|
286
322
|
trees: {}
|
|
287
323
|
};
|
|
@@ -289,7 +325,12 @@ export async function importJourneysFromFiles(options) {
|
|
|
289
325
|
const journeyData = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
290
326
|
allJourneysData.trees[journeyData.tree._id] = journeyData;
|
|
291
327
|
}
|
|
292
|
-
|
|
328
|
+
try {
|
|
329
|
+
await importJourneys(allJourneysData, options);
|
|
330
|
+
} catch (error) {
|
|
331
|
+
var _error$response2;
|
|
332
|
+
printMessage(`${((_error$response2 = error.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || error.message}`, 'error');
|
|
333
|
+
}
|
|
293
334
|
}
|
|
294
335
|
|
|
295
336
|
/**
|
|
@@ -298,7 +339,7 @@ export async function importJourneysFromFiles(options) {
|
|
|
298
339
|
* @returns {string[]} Colored string array of classifications
|
|
299
340
|
*/
|
|
300
341
|
export function getJourneyClassification(journey) {
|
|
301
|
-
return
|
|
342
|
+
return _getJourneyClassification(journey).map(it => {
|
|
302
343
|
switch (it) {
|
|
303
344
|
case 'standard':
|
|
304
345
|
return it['brightGreen'];
|
|
@@ -318,7 +359,7 @@ export function getJourneyClassification(journey) {
|
|
|
318
359
|
* @returns {string[]} Colored string array of classifications
|
|
319
360
|
*/
|
|
320
361
|
export function getJourneyClassificationMd(journey) {
|
|
321
|
-
return
|
|
362
|
+
return _getJourneyClassification(journey).map(it => {
|
|
322
363
|
switch (it) {
|
|
323
364
|
case 'standard':
|
|
324
365
|
return `:green_circle: \`${it}\``;
|
|
@@ -410,7 +451,7 @@ function describeTreeDescendentsMd(descendents, depth = 0) {
|
|
|
410
451
|
* @param {SingleTreeExportInterface} journeyData journey export object
|
|
411
452
|
* @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function
|
|
412
453
|
*/
|
|
413
|
-
export async function describeJourney(journeyData, resolveTreeExport =
|
|
454
|
+
export async function describeJourney(journeyData, resolveTreeExport = onlineTreeExportResolver) {
|
|
414
455
|
var _journeyData$meta, _journeyData$tree$uiC, _journeyData$themes;
|
|
415
456
|
const allNodes = {
|
|
416
457
|
...journeyData.nodes,
|
|
@@ -454,8 +495,13 @@ export async function describeJourney(journeyData, resolveTreeExport = frodo.aut
|
|
|
454
495
|
}
|
|
455
496
|
|
|
456
497
|
// Dependency Tree
|
|
457
|
-
|
|
458
|
-
|
|
498
|
+
try {
|
|
499
|
+
const descendents = await getTreeDescendents(journeyData, resolveTreeExport);
|
|
500
|
+
describeTreeDescendents(descendents);
|
|
501
|
+
} catch (error) {
|
|
502
|
+
printMessage(`Error resolving inner tree dependencies:`, 'error');
|
|
503
|
+
printMessage(error.stack, 'error');
|
|
504
|
+
}
|
|
459
505
|
|
|
460
506
|
// Node Types
|
|
461
507
|
if (Object.entries(nodeTypeMap).length) {
|
|
@@ -469,7 +515,7 @@ export async function describeJourney(journeyData, resolveTreeExport = frodo.aut
|
|
|
469
515
|
if (Object.entries(allNodes).length) {
|
|
470
516
|
printMessage(`\nNodes (${Object.entries(allNodes).length}):`, 'data');
|
|
471
517
|
for (const nodeObj of Object.values(allNodes)) {
|
|
472
|
-
printMessage(`- ${Node.getOneLineDescription(nodeObj,
|
|
518
|
+
printMessage(`- ${Node.getOneLineDescription(nodeObj, getNodeRef(nodeObj, journeyData))}`, 'data');
|
|
473
519
|
}
|
|
474
520
|
}
|
|
475
521
|
|
|
@@ -537,7 +583,7 @@ export async function describeJourney(journeyData, resolveTreeExport = frodo.aut
|
|
|
537
583
|
* @param {SingleTreeExportInterface} journeyData journey export object
|
|
538
584
|
* @param {TreeExportResolverInterface} resolveTreeExport tree export resolver callback function
|
|
539
585
|
*/
|
|
540
|
-
export async function describeJourneyMd(journeyData, resolveTreeExport =
|
|
586
|
+
export async function describeJourneyMd(journeyData, resolveTreeExport = onlineTreeExportResolver) {
|
|
541
587
|
var _journeyData$meta2, _journeyData$tree$uiC2, _journeyData$themes2;
|
|
542
588
|
const allNodes = {
|
|
543
589
|
...journeyData.nodes,
|
|
@@ -574,7 +620,7 @@ export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.a
|
|
|
574
620
|
printMessage(`\n[]()\n`, 'data');
|
|
575
621
|
|
|
576
622
|
// Dependency Tree
|
|
577
|
-
const descendents = await
|
|
623
|
+
const descendents = await getTreeDescendents(journeyData, resolveTreeExport);
|
|
578
624
|
printMessage(describeTreeDescendentsMd(descendents), 'data');
|
|
579
625
|
|
|
580
626
|
// Node Types
|
|
@@ -592,7 +638,7 @@ export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.a
|
|
|
592
638
|
printMessage(`## Nodes (${Object.entries(allNodes).length})`, 'data');
|
|
593
639
|
printMessage(Node.getTableHeaderMd(), 'data');
|
|
594
640
|
for (const nodeObj of Object.values(allNodes)) {
|
|
595
|
-
printMessage(`${Node.getTableRowMd(nodeObj,
|
|
641
|
+
printMessage(`${Node.getTableRowMd(nodeObj, getNodeRef(nodeObj, journeyData))}`, 'data');
|
|
596
642
|
}
|
|
597
643
|
}
|
|
598
644
|
|
|
@@ -650,4 +696,24 @@ export async function describeJourneyMd(journeyData, resolveTreeExport = frodo.a
|
|
|
650
696
|
}
|
|
651
697
|
}
|
|
652
698
|
}
|
|
653
|
-
|
|
699
|
+
export async function enableJourney(journeyId) {
|
|
700
|
+
const indicatorId = createProgressIndicator('indeterminate', 0, `Enabling journey ${journeyId}...`);
|
|
701
|
+
if (_enableJourney(journeyId)) {
|
|
702
|
+
stopProgressIndicator(indicatorId, `Enabled journey ${journeyId}.`, 'success');
|
|
703
|
+
return true;
|
|
704
|
+
} else {
|
|
705
|
+
stopProgressIndicator(indicatorId, `Error enabling journey ${journeyId}`, 'fail');
|
|
706
|
+
return false;
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
export async function disableJourney(journeyId) {
|
|
710
|
+
const indicatorId = createProgressIndicator('indeterminate', 0, `Disabling journey ${journeyId}...`);
|
|
711
|
+
if (_disableJourney(journeyId)) {
|
|
712
|
+
stopProgressIndicator(indicatorId, `Disabled journey ${journeyId}.`, 'success');
|
|
713
|
+
return true;
|
|
714
|
+
} else {
|
|
715
|
+
stopProgressIndicator(indicatorId, `Error disabling journey ${journeyId}`, 'fail');
|
|
716
|
+
return false;
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
//# sourceMappingURL=JourneyOps.js.map
|