@rockcarver/frodo-cli 2.0.0-59 → 2.0.0-60
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/.vscode/launch.json +1 -0
- package/CHANGELOG.md +10 -1
- package/dist/app.cjs +187368 -0
- package/dist/app.cjs.map +1 -0
- package/dist/app.d.cts +2 -0
- package/dist/chunk-MPPKDFVI.cjs +56 -0
- package/dist/chunk-MPPKDFVI.cjs.map +1 -0
- package/dist/launch.cjs +27 -0
- package/dist/launch.cjs.map +1 -0
- package/dist/launch.d.cts +1 -0
- package/dist/loader.cjs +836 -0
- package/dist/loader.cjs.map +1 -0
- package/dist/loader.d.cts +3 -0
- package/package.json +37 -53
- package/tsup.config.ts +40 -0
- package/esm/app.js +0 -80
- package/esm/app.js.map +0 -1
- package/esm/cli/FrodoCommand.js +0 -181
- package/esm/cli/FrodoCommand.js.map +0 -1
- package/esm/cli/_template/something-delete.js +0 -20
- package/esm/cli/_template/something-delete.js.map +0 -1
- package/esm/cli/_template/something-describe.js +0 -20
- package/esm/cli/_template/something-describe.js.map +0 -1
- package/esm/cli/_template/something-else-delete.js +0 -20
- package/esm/cli/_template/something-else-delete.js.map +0 -1
- package/esm/cli/_template/something-else-describe.js +0 -20
- package/esm/cli/_template/something-else-describe.js.map +0 -1
- package/esm/cli/_template/something-else-export.js +0 -20
- package/esm/cli/_template/something-else-export.js.map +0 -1
- package/esm/cli/_template/something-else-import.js +0 -20
- package/esm/cli/_template/something-else-import.js.map +0 -1
- package/esm/cli/_template/something-else-list.js +0 -20
- package/esm/cli/_template/something-else-list.js.map +0 -1
- package/esm/cli/_template/something-else.js +0 -17
- package/esm/cli/_template/something-else.js.map +0 -1
- package/esm/cli/_template/something-export.js +0 -20
- package/esm/cli/_template/something-export.js.map +0 -1
- package/esm/cli/_template/something-import.js +0 -20
- package/esm/cli/_template/something-import.js.map +0 -1
- package/esm/cli/_template/something-list.js +0 -20
- package/esm/cli/_template/something-list.js.map +0 -1
- package/esm/cli/_template/something-other-delete.js +0 -20
- package/esm/cli/_template/something-other-delete.js.map +0 -1
- package/esm/cli/_template/something-other-describe.js +0 -20
- package/esm/cli/_template/something-other-describe.js.map +0 -1
- package/esm/cli/_template/something-other-export.js +0 -20
- package/esm/cli/_template/something-other-export.js.map +0 -1
- package/esm/cli/_template/something-other-import.js +0 -20
- package/esm/cli/_template/something-other-import.js.map +0 -1
- package/esm/cli/_template/something-other-list.js +0 -20
- package/esm/cli/_template/something-other-list.js.map +0 -1
- package/esm/cli/_template/something-other.js +0 -17
- package/esm/cli/_template/something-other.js.map +0 -1
- package/esm/cli/_template/something.js +0 -20
- package/esm/cli/_template/something.js.map +0 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +0 -23
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +0 -1
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +0 -80
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +0 -1
- package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js +0 -40
- package/esm/cli/admin/admin-execute-rfc7523-authz-grant-flow.js.map +0 -1
- package/esm/cli/admin/admin-federation-export.js +0 -43
- package/esm/cli/admin/admin-federation-export.js.map +0 -1
- package/esm/cli/admin/admin-federation-import.js +0 -47
- package/esm/cli/admin/admin-federation-import.js.map +0 -1
- package/esm/cli/admin/admin-federation-list.js +0 -27
- package/esm/cli/admin/admin-federation-list.js.map +0 -1
- package/esm/cli/admin/admin-federation.js +0 -21
- package/esm/cli/admin/admin-federation.js.map +0 -1
- package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js +0 -43
- package/esm/cli/admin/admin-generate-rfc7523-authz-grant-artefacts.js.map +0 -1
- package/esm/cli/admin/admin-get-access-token.js +0 -27
- package/esm/cli/admin/admin-get-access-token.js.map +0 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +0 -25
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +0 -1
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js +0 -25
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +0 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +0 -24
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +0 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +0 -24
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +0 -1
- package/esm/cli/admin/admin-list-static-user-mappings.js +0 -24
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +0 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +0 -24
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +0 -1
- package/esm/cli/admin/admin-repair-org-model.js +0 -25
- package/esm/cli/admin/admin-repair-org-model.js.map +0 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +0 -25
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +0 -1
- package/esm/cli/admin/admin-show-generic-extension-attributes.js +0 -25
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +0 -1
- package/esm/cli/admin/admin-train-auto-access-model.js +0 -32
- package/esm/cli/admin/admin-train-auto-access-model.js.map +0 -1
- package/esm/cli/admin/admin.js +0 -41
- package/esm/cli/admin/admin.js.map +0 -1
- package/esm/cli/agent/agent-delete.js +0 -38
- package/esm/cli/agent/agent-delete.js.map +0 -1
- package/esm/cli/agent/agent-describe.js +0 -20
- package/esm/cli/agent/agent-describe.js.map +0 -1
- package/esm/cli/agent/agent-export.js +0 -43
- package/esm/cli/agent/agent-export.js.map +0 -1
- package/esm/cli/agent/agent-gateway-delete.js +0 -38
- package/esm/cli/agent/agent-gateway-delete.js.map +0 -1
- package/esm/cli/agent/agent-gateway-describe.js +0 -20
- package/esm/cli/agent/agent-gateway-describe.js.map +0 -1
- package/esm/cli/agent/agent-gateway-export.js +0 -43
- package/esm/cli/agent/agent-gateway-export.js.map +0 -1
- package/esm/cli/agent/agent-gateway-import.js +0 -49
- package/esm/cli/agent/agent-gateway-import.js.map +0 -1
- package/esm/cli/agent/agent-gateway-list.js +0 -22
- package/esm/cli/agent/agent-gateway-list.js.map +0 -1
- package/esm/cli/agent/agent-gateway.js +0 -17
- package/esm/cli/agent/agent-gateway.js.map +0 -1
- package/esm/cli/agent/agent-import.js +0 -49
- package/esm/cli/agent/agent-import.js.map +0 -1
- package/esm/cli/agent/agent-java-delete.js +0 -38
- package/esm/cli/agent/agent-java-delete.js.map +0 -1
- package/esm/cli/agent/agent-java-describe.js +0 -20
- package/esm/cli/agent/agent-java-describe.js.map +0 -1
- package/esm/cli/agent/agent-java-export.js +0 -43
- package/esm/cli/agent/agent-java-export.js.map +0 -1
- package/esm/cli/agent/agent-java-import.js +0 -49
- package/esm/cli/agent/agent-java-import.js.map +0 -1
- package/esm/cli/agent/agent-java-list.js +0 -22
- package/esm/cli/agent/agent-java-list.js.map +0 -1
- package/esm/cli/agent/agent-java.js +0 -17
- package/esm/cli/agent/agent-java.js.map +0 -1
- package/esm/cli/agent/agent-list.js +0 -22
- package/esm/cli/agent/agent-list.js.map +0 -1
- package/esm/cli/agent/agent-web-delete.js +0 -38
- package/esm/cli/agent/agent-web-delete.js.map +0 -1
- package/esm/cli/agent/agent-web-describe.js +0 -20
- package/esm/cli/agent/agent-web-describe.js.map +0 -1
- package/esm/cli/agent/agent-web-export.js +0 -43
- package/esm/cli/agent/agent-web-export.js.map +0 -1
- package/esm/cli/agent/agent-web-import.js +0 -49
- package/esm/cli/agent/agent-web-import.js.map +0 -1
- package/esm/cli/agent/agent-web-list.js +0 -22
- package/esm/cli/agent/agent-web-list.js.map +0 -1
- package/esm/cli/agent/agent-web.js +0 -17
- package/esm/cli/agent/agent-web.js.map +0 -1
- package/esm/cli/agent/agent.js +0 -22
- package/esm/cli/agent/agent.js.map +0 -1
- package/esm/cli/app/app-delete.js +0 -36
- package/esm/cli/app/app-delete.js.map +0 -1
- package/esm/cli/app/app-describe.js +0 -21
- package/esm/cli/app/app-describe.js.map +0 -1
- package/esm/cli/app/app-export.js +0 -51
- package/esm/cli/app/app-export.js.map +0 -1
- package/esm/cli/app/app-import.js +0 -56
- package/esm/cli/app/app-import.js.map +0 -1
- package/esm/cli/app/app-list.js +0 -25
- package/esm/cli/app/app-list.js.map +0 -1
- package/esm/cli/app/app.js +0 -18
- package/esm/cli/app/app.js.map +0 -1
- package/esm/cli/authn/authn-describe.js +0 -28
- package/esm/cli/authn/authn-describe.js.map +0 -1
- package/esm/cli/authn/authn-export.js +0 -24
- package/esm/cli/authn/authn-export.js.map +0 -1
- package/esm/cli/authn/authn-import.js +0 -24
- package/esm/cli/authn/authn-import.js.map +0 -1
- package/esm/cli/authn/authn.js +0 -12
- package/esm/cli/authn/authn.js.map +0 -1
- package/esm/cli/authz/authz-policy-delete.js +0 -41
- package/esm/cli/authz/authz-policy-delete.js.map +0 -1
- package/esm/cli/authz/authz-policy-describe.js +0 -28
- package/esm/cli/authz/authz-policy-describe.js.map +0 -1
- package/esm/cli/authz/authz-policy-export.js +0 -73
- package/esm/cli/authz/authz-policy-export.js.map +0 -1
- package/esm/cli/authz/authz-policy-import.js +0 -63
- package/esm/cli/authz/authz-policy-import.js.map +0 -1
- package/esm/cli/authz/authz-policy-list.js +0 -35
- package/esm/cli/authz/authz-policy-list.js.map +0 -1
- package/esm/cli/authz/authz-policy.js +0 -17
- package/esm/cli/authz/authz-policy.js.map +0 -1
- package/esm/cli/authz/authz-set-delete.js +0 -35
- package/esm/cli/authz/authz-set-delete.js.map +0 -1
- package/esm/cli/authz/authz-set-describe.js +0 -28
- package/esm/cli/authz/authz-set-describe.js.map +0 -1
- package/esm/cli/authz/authz-set-export.js +0 -53
- package/esm/cli/authz/authz-set-export.js.map +0 -1
- package/esm/cli/authz/authz-set-import.js +0 -59
- package/esm/cli/authz/authz-set-import.js.map +0 -1
- package/esm/cli/authz/authz-set-list.js +0 -23
- package/esm/cli/authz/authz-set-list.js.map +0 -1
- package/esm/cli/authz/authz-set.js +0 -17
- package/esm/cli/authz/authz-set.js.map +0 -1
- package/esm/cli/authz/authz-type-delete.js +0 -41
- package/esm/cli/authz/authz-type-delete.js.map +0 -1
- package/esm/cli/authz/authz-type-describe.js +0 -32
- package/esm/cli/authz/authz-type-describe.js.map +0 -1
- package/esm/cli/authz/authz-type-export.js +0 -47
- package/esm/cli/authz/authz-type-export.js.map +0 -1
- package/esm/cli/authz/authz-type-import.js +0 -53
- package/esm/cli/authz/authz-type-import.js.map +0 -1
- package/esm/cli/authz/authz-type-list.js +0 -24
- package/esm/cli/authz/authz-type-list.js.map +0 -1
- package/esm/cli/authz/authz-type.js +0 -17
- package/esm/cli/authz/authz-type.js.map +0 -1
- package/esm/cli/authz/authz.js +0 -12
- package/esm/cli/authz/authz.js.map +0 -1
- package/esm/cli/config/config-delete.js +0 -20
- package/esm/cli/config/config-delete.js.map +0 -1
- package/esm/cli/config/config-describe.js +0 -20
- package/esm/cli/config/config-describe.js.map +0 -1
- package/esm/cli/config/config-export.js +0 -52
- package/esm/cli/config/config-export.js.map +0 -1
- package/esm/cli/config/config-import.js +0 -62
- package/esm/cli/config/config-import.js.map +0 -1
- package/esm/cli/config/config-list.js +0 -20
- package/esm/cli/config/config-list.js.map +0 -1
- package/esm/cli/config/config.js +0 -22
- package/esm/cli/config/config.js.map +0 -1
- package/esm/cli/conn/conn-delete.js +0 -21
- package/esm/cli/conn/conn-delete.js.map +0 -1
- package/esm/cli/conn/conn-describe.js +0 -16
- package/esm/cli/conn/conn-describe.js.map +0 -1
- package/esm/cli/conn/conn-list.js +0 -16
- package/esm/cli/conn/conn-list.js.map +0 -1
- package/esm/cli/conn/conn-save.js +0 -106
- package/esm/cli/conn/conn-save.js.map +0 -1
- package/esm/cli/conn/conn.js +0 -16
- package/esm/cli/conn/conn.js.map +0 -1
- package/esm/cli/email/email-template-export.js +0 -42
- package/esm/cli/email/email-template-export.js.map +0 -1
- package/esm/cli/email/email-template-import.js +0 -47
- package/esm/cli/email/email-template-import.js.map +0 -1
- package/esm/cli/email/email-template-list.js +0 -24
- package/esm/cli/email/email-template-list.js.map +0 -1
- package/esm/cli/email/email-template.js +0 -13
- package/esm/cli/email/email-template.js.map +0 -1
- package/esm/cli/email/email.js +0 -9
- package/esm/cli/email/email.js.map +0 -1
- package/esm/cli/esv/esv-apply.js +0 -61
- package/esm/cli/esv/esv-apply.js.map +0 -1
- package/esm/cli/esv/esv-secret-create.js +0 -29
- package/esm/cli/esv/esv-secret-create.js.map +0 -1
- package/esm/cli/esv/esv-secret-delete.js +0 -34
- package/esm/cli/esv/esv-secret-delete.js.map +0 -1
- package/esm/cli/esv/esv-secret-describe.js +0 -24
- package/esm/cli/esv/esv-secret-describe.js.map +0 -1
- package/esm/cli/esv/esv-secret-export.js +0 -34
- package/esm/cli/esv/esv-secret-export.js.map +0 -1
- package/esm/cli/esv/esv-secret-import.js +0 -20
- package/esm/cli/esv/esv-secret-import.js.map +0 -1
- package/esm/cli/esv/esv-secret-list.js +0 -24
- package/esm/cli/esv/esv-secret-list.js.map +0 -1
- package/esm/cli/esv/esv-secret-set.js +0 -24
- package/esm/cli/esv/esv-secret-set.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-activate.js +0 -28
- package/esm/cli/esv/esv-secret-version-activate.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-create.js +0 -29
- package/esm/cli/esv/esv-secret-version-create.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +0 -28
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-delete.js +0 -34
- package/esm/cli/esv/esv-secret-version-delete.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-list.js +0 -24
- package/esm/cli/esv/esv-secret-version-list.js.map +0 -1
- package/esm/cli/esv/esv-secret-version.js +0 -17
- package/esm/cli/esv/esv-secret-version.js.map +0 -1
- package/esm/cli/esv/esv-secret.js +0 -25
- package/esm/cli/esv/esv-secret.js.map +0 -1
- package/esm/cli/esv/esv-variable-create.js +0 -24
- package/esm/cli/esv/esv-variable-create.js.map +0 -1
- package/esm/cli/esv/esv-variable-delete.js +0 -35
- package/esm/cli/esv/esv-variable-delete.js.map +0 -1
- package/esm/cli/esv/esv-variable-describe.js +0 -24
- package/esm/cli/esv/esv-variable-describe.js.map +0 -1
- package/esm/cli/esv/esv-variable-export.js +0 -35
- package/esm/cli/esv/esv-variable-export.js.map +0 -1
- package/esm/cli/esv/esv-variable-import.js +0 -20
- package/esm/cli/esv/esv-variable-import.js.map +0 -1
- package/esm/cli/esv/esv-variable-list.js +0 -24
- package/esm/cli/esv/esv-variable-list.js.map +0 -1
- package/esm/cli/esv/esv-variable-set.js +0 -31
- package/esm/cli/esv/esv-variable-set.js.map +0 -1
- package/esm/cli/esv/esv-variable.js +0 -23
- package/esm/cli/esv/esv-variable.js.map +0 -1
- package/esm/cli/esv/esv.js +0 -12
- package/esm/cli/esv/esv.js.map +0 -1
- package/esm/cli/idm/idm-count.js +0 -24
- package/esm/cli/idm/idm-count.js.map +0 -1
- package/esm/cli/idm/idm-export.js +0 -50
- package/esm/cli/idm/idm-export.js.map +0 -1
- package/esm/cli/idm/idm-import.js +0 -54
- package/esm/cli/idm/idm-import.js.map +0 -1
- package/esm/cli/idm/idm-list.js +0 -28
- package/esm/cli/idm/idm-list.js.map +0 -1
- package/esm/cli/idm/idm.js +0 -14
- package/esm/cli/idm/idm.js.map +0 -1
- package/esm/cli/idp/idp-export.js +0 -44
- package/esm/cli/idp/idp-export.js.map +0 -1
- package/esm/cli/idp/idp-import.js +0 -56
- package/esm/cli/idp/idp-import.js.map +0 -1
- package/esm/cli/idp/idp-list.js +0 -28
- package/esm/cli/idp/idp-list.js.map +0 -1
- package/esm/cli/idp/idp.js +0 -12
- package/esm/cli/idp/idp.js.map +0 -1
- package/esm/cli/info/info.js +0 -52
- package/esm/cli/info/info.js.map +0 -1
- package/esm/cli/journey/journey-delete.js +0 -36
- package/esm/cli/journey/journey-delete.js.map +0 -1
- package/esm/cli/journey/journey-describe.js +0 -133
- package/esm/cli/journey/journey-describe.js.map +0 -1
- package/esm/cli/journey/journey-disable.js +0 -35
- package/esm/cli/journey/journey-disable.js.map +0 -1
- package/esm/cli/journey/journey-enable.js +0 -35
- package/esm/cli/journey/journey-enable.js.map +0 -1
- package/esm/cli/journey/journey-export.js +0 -63
- package/esm/cli/journey/journey-export.js.map +0 -1
- package/esm/cli/journey/journey-import.js +0 -59
- package/esm/cli/journey/journey-import.js.map +0 -1
- package/esm/cli/journey/journey-list.js +0 -25
- package/esm/cli/journey/journey-list.js.map +0 -1
- package/esm/cli/journey/journey-prune.js +0 -42
- package/esm/cli/journey/journey-prune.js.map +0 -1
- package/esm/cli/journey/journey.js +0 -22
- package/esm/cli/journey/journey.js.map +0 -1
- package/esm/cli/log/log-fetch.js +0 -127
- package/esm/cli/log/log-fetch.js.map +0 -1
- package/esm/cli/log/log-key-delete.js +0 -33
- package/esm/cli/log/log-key-delete.js.map +0 -1
- package/esm/cli/log/log-key-describe.js +0 -20
- package/esm/cli/log/log-key-describe.js.map +0 -1
- package/esm/cli/log/log-key-list.js +0 -24
- package/esm/cli/log/log-key-list.js.map +0 -1
- package/esm/cli/log/log-key.js +0 -13
- package/esm/cli/log/log-key.js.map +0 -1
- package/esm/cli/log/log-list.js +0 -89
- package/esm/cli/log/log-list.js.map +0 -1
- package/esm/cli/log/log-tail.js +0 -81
- package/esm/cli/log/log-tail.js.map +0 -1
- package/esm/cli/log/log.js +0 -18
- package/esm/cli/log/log.js.map +0 -1
- package/esm/cli/oauth/oauth-client-delete.js +0 -20
- package/esm/cli/oauth/oauth-client-delete.js.map +0 -1
- package/esm/cli/oauth/oauth-client-describe.js +0 -20
- package/esm/cli/oauth/oauth-client-describe.js.map +0 -1
- package/esm/cli/oauth/oauth-client-export.js +0 -50
- package/esm/cli/oauth/oauth-client-export.js.map +0 -1
- package/esm/cli/oauth/oauth-client-import.js +0 -55
- package/esm/cli/oauth/oauth-client-import.js.map +0 -1
- package/esm/cli/oauth/oauth-client-list.js +0 -24
- package/esm/cli/oauth/oauth-client-list.js.map +0 -1
- package/esm/cli/oauth/oauth-client.js +0 -22
- package/esm/cli/oauth/oauth-client.js.map +0 -1
- package/esm/cli/oauth/oauth.js +0 -11
- package/esm/cli/oauth/oauth.js.map +0 -1
- package/esm/cli/realm/realm-add-custom-domain.js +0 -24
- package/esm/cli/realm/realm-add-custom-domain.js.map +0 -1
- package/esm/cli/realm/realm-describe.js +0 -23
- package/esm/cli/realm/realm-describe.js.map +0 -1
- package/esm/cli/realm/realm-list.js +0 -23
- package/esm/cli/realm/realm-list.js.map +0 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +0 -26
- package/esm/cli/realm/realm-remove-custom-domain.js.map +0 -1
- package/esm/cli/realm/realm.js +0 -21
- package/esm/cli/realm/realm.js.map +0 -1
- package/esm/cli/saml/saml-cot-export.js +0 -42
- package/esm/cli/saml/saml-cot-export.js.map +0 -1
- package/esm/cli/saml/saml-cot-import.js +0 -48
- package/esm/cli/saml/saml-cot-import.js.map +0 -1
- package/esm/cli/saml/saml-cot-list.js +0 -25
- package/esm/cli/saml/saml-cot-list.js.map +0 -1
- package/esm/cli/saml/saml-cot.js +0 -13
- package/esm/cli/saml/saml-cot.js.map +0 -1
- package/esm/cli/saml/saml-delete.js +0 -37
- package/esm/cli/saml/saml-delete.js.map +0 -1
- package/esm/cli/saml/saml-describe.js +0 -25
- package/esm/cli/saml/saml-describe.js.map +0 -1
- package/esm/cli/saml/saml-export.js +0 -48
- package/esm/cli/saml/saml-export.js.map +0 -1
- package/esm/cli/saml/saml-import.js +0 -56
- package/esm/cli/saml/saml-import.js.map +0 -1
- package/esm/cli/saml/saml-list.js +0 -25
- package/esm/cli/saml/saml-list.js.map +0 -1
- package/esm/cli/saml/saml-metadata-export.js +0 -42
- package/esm/cli/saml/saml-metadata-export.js.map +0 -1
- package/esm/cli/saml/saml-metadata.js +0 -9
- package/esm/cli/saml/saml-metadata.js.map +0 -1
- package/esm/cli/saml/saml.js +0 -20
- package/esm/cli/saml/saml.js.map +0 -1
- package/esm/cli/script/script-delete.js +0 -37
- package/esm/cli/script/script-delete.js.map +0 -1
- package/esm/cli/script/script-describe.js +0 -20
- package/esm/cli/script/script-describe.js.map +0 -1
- package/esm/cli/script/script-export.js +0 -52
- package/esm/cli/script/script-export.js.map +0 -1
- package/esm/cli/script/script-import.js +0 -45
- package/esm/cli/script/script-import.js.map +0 -1
- package/esm/cli/script/script-list.js +0 -25
- package/esm/cli/script/script-list.js.map +0 -1
- package/esm/cli/script/script.js +0 -18
- package/esm/cli/script/script.js.map +0 -1
- package/esm/cli/service/service-delete.js +0 -23
- package/esm/cli/service/service-delete.js.map +0 -1
- package/esm/cli/service/service-export.js +0 -41
- package/esm/cli/service/service-export.js.map +0 -1
- package/esm/cli/service/service-import.js +0 -65
- package/esm/cli/service/service-import.js.map +0 -1
- package/esm/cli/service/service-list.js +0 -20
- package/esm/cli/service/service-list.js.map +0 -1
- package/esm/cli/service/service.js +0 -14
- package/esm/cli/service/service.js.map +0 -1
- package/esm/cli/shell/shell.js +0 -53
- package/esm/cli/shell/shell.js.map +0 -1
- package/esm/cli/theme/theme-delete.js +0 -42
- package/esm/cli/theme/theme-delete.js.map +0 -1
- package/esm/cli/theme/theme-export.js +0 -48
- package/esm/cli/theme/theme-export.js.map +0 -1
- package/esm/cli/theme/theme-import.js +0 -54
- package/esm/cli/theme/theme-import.js.map +0 -1
- package/esm/cli/theme/theme-list.js +0 -25
- package/esm/cli/theme/theme-list.js.map +0 -1
- package/esm/cli/theme/theme.js +0 -14
- package/esm/cli/theme/theme.js.map +0 -1
- package/esm/help/SampleData.js +0 -7
- package/esm/help/SampleData.js.map +0 -1
- package/esm/launch.js +0 -15
- package/esm/launch.js.map +0 -1
- package/esm/loader.js +0 -40
- package/esm/loader.js.map +0 -1
- package/esm/ops/AdminOps.js +0 -936
- package/esm/ops/AdminOps.js.map +0 -1
- package/esm/ops/AgentOps.js +0 -1061
- package/esm/ops/AgentOps.js.map +0 -1
- package/esm/ops/ApplicationOps.js +0 -336
- package/esm/ops/ApplicationOps.js.map +0 -1
- package/esm/ops/AuthenticateOps.js +0 -23
- package/esm/ops/AuthenticateOps.js.map +0 -1
- package/esm/ops/AuthenticationSettingsOps.js +0 -89
- package/esm/ops/AuthenticationSettingsOps.js.map +0 -1
- package/esm/ops/CirclesOfTrustOps.js +0 -265
- package/esm/ops/CirclesOfTrustOps.js.map +0 -1
- package/esm/ops/ConfigOps.js +0 -213
- package/esm/ops/ConfigOps.js.map +0 -1
- package/esm/ops/ConnectionProfileOps.js +0 -132
- package/esm/ops/ConnectionProfileOps.js.map +0 -1
- package/esm/ops/EmailTemplateOps.js +0 -365
- package/esm/ops/EmailTemplateOps.js.map +0 -1
- package/esm/ops/IdmOps.js +0 -303
- package/esm/ops/IdmOps.js.map +0 -1
- package/esm/ops/IdpOps.js +0 -267
- package/esm/ops/IdpOps.js.map +0 -1
- package/esm/ops/JourneyOps.js +0 -815
- package/esm/ops/JourneyOps.js.map +0 -1
- package/esm/ops/LogOps.js +0 -141
- package/esm/ops/LogOps.js.map +0 -1
- package/esm/ops/NodeOps.js +0 -97
- package/esm/ops/NodeOps.js.map +0 -1
- package/esm/ops/OAuth2ClientOps.js +0 -287
- package/esm/ops/OAuth2ClientOps.js.map +0 -1
- package/esm/ops/OrganizationOps.js +0 -20
- package/esm/ops/OrganizationOps.js.map +0 -1
- package/esm/ops/PolicyOps.js +0 -515
- package/esm/ops/PolicyOps.js.map +0 -1
- package/esm/ops/PolicySetOps.js +0 -388
- package/esm/ops/PolicySetOps.js.map +0 -1
- package/esm/ops/RealmOps.js +0 -116
- package/esm/ops/RealmOps.js.map +0 -1
- package/esm/ops/ResourceTypeOps.js +0 -439
- package/esm/ops/ResourceTypeOps.js.map +0 -1
- package/esm/ops/Saml2Ops.js +0 -364
- package/esm/ops/Saml2Ops.js.map +0 -1
- package/esm/ops/Saml2Ops.test_.js.map +0 -1
- package/esm/ops/ScriptOps.js +0 -520
- package/esm/ops/ScriptOps.js.map +0 -1
- package/esm/ops/ServiceOps.js +0 -275
- package/esm/ops/ServiceOps.js.map +0 -1
- package/esm/ops/ThemeOps.js +0 -382
- package/esm/ops/ThemeOps.js.map +0 -1
- package/esm/ops/cloud/AdminFederationOps.js +0 -225
- package/esm/ops/cloud/AdminFederationOps.js.map +0 -1
- package/esm/ops/cloud/SecretsOps.js +0 -471
- package/esm/ops/cloud/SecretsOps.js.map +0 -1
- package/esm/ops/cloud/VariablesOps.js +0 -316
- package/esm/ops/cloud/VariablesOps.js.map +0 -1
- package/esm/ops/templates/GenericExtensionAttributesTemplate.json +0 -412
- package/esm/ops/templates/OAuth2ClientTemplate.json +0 -270
- package/esm/ops/templates/OAuth2TrustedJwtIssuerTemplate.json +0 -38
- package/esm/ops/templates/OrgModelUserAttributesTemplate.json +0 -149
- package/esm/ops/templates/autoaccess/IPAddresses.json +0 -202
- package/esm/ops/templates/autoaccess/UserAgents.json +0 -35
- package/esm/ops/templates/autoaccess/Usernames.json +0 -203
- package/esm/ops/templates/cloud/managed.json +0 -4119
- package/esm/ops/utils/OpsUtils.js +0 -9
- package/esm/ops/utils/OpsUtils.js.map +0 -1
- package/esm/ops/utils/Wordwrap.js +0 -5
- package/esm/ops/utils/Wordwrap.js.map +0 -1
- package/esm/storage/StaticStorage.js +0 -12
- package/esm/storage/StaticStorage.js.map +0 -1
- package/esm/utils/Config.js +0 -200
- package/esm/utils/Config.js.map +0 -1
- package/esm/utils/Console.js +0 -614
- package/esm/utils/Console.js.map +0 -1
- package/esm/utils/Version.js +0 -138
- package/esm/utils/Version.js.map +0 -1
package/esm/ops/Saml2Ops.js
DELETED
|
@@ -1,364 +0,0 @@
|
|
|
1
|
-
import { frodo, FrodoError } from '@rockcarver/frodo-lib';
|
|
2
|
-
import fs from 'fs';
|
|
3
|
-
import { createObjectTable, createProgressIndicator, createTable, debugMessage, printError, printMessage, stopProgressIndicator, updateProgressIndicator } from '../utils/Console';
|
|
4
|
-
const {
|
|
5
|
-
decodeBase64,
|
|
6
|
-
saveTextToFile,
|
|
7
|
-
getFilePath,
|
|
8
|
-
getWorkingDirectory
|
|
9
|
-
} = frodo.utils;
|
|
10
|
-
const {
|
|
11
|
-
getTypedFilename,
|
|
12
|
-
saveJsonToFile,
|
|
13
|
-
getRealmString
|
|
14
|
-
} = frodo.utils;
|
|
15
|
-
const {
|
|
16
|
-
readSaml2ProviderStubs,
|
|
17
|
-
readSaml2Provider,
|
|
18
|
-
readSaml2ProviderStub,
|
|
19
|
-
getSaml2ProviderMetadataUrl,
|
|
20
|
-
getSaml2ProviderMetadata,
|
|
21
|
-
exportSaml2Provider,
|
|
22
|
-
exportSaml2Providers,
|
|
23
|
-
importSaml2Provider,
|
|
24
|
-
importSaml2Providers
|
|
25
|
-
} = frodo.saml2.entityProvider;
|
|
26
|
-
const roleMap = {
|
|
27
|
-
identityProvider: 'IDP',
|
|
28
|
-
serviceProvider: 'SP',
|
|
29
|
-
attributeQueryProvider: 'AttrQuery',
|
|
30
|
-
xacmlPolicyEnforcementPoint: 'XACML PEP'
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Get a one-line description of the saml2 provider object
|
|
35
|
-
* @param {Saml2ProviderSkeleton} saml2ProviderObj saml2 provider object to describe
|
|
36
|
-
* @returns {string} a one-line description
|
|
37
|
-
*/
|
|
38
|
-
export function getOneLineDescription(saml2ProviderObj) {
|
|
39
|
-
const roles = [];
|
|
40
|
-
for (const [key, value] of Object.entries(roleMap)) {
|
|
41
|
-
if (saml2ProviderObj[key]) {
|
|
42
|
-
roles.push(value);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const description = `[${saml2ProviderObj.entityId['brightCyan']}]${' (' + saml2ProviderObj.entityLocation}${roles.length ? ' ' + roles.join(', ') + ')' : ')'}`;
|
|
46
|
-
return description;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Get markdown table header
|
|
51
|
-
* @returns {string} markdown table header
|
|
52
|
-
*/
|
|
53
|
-
export function getTableHeaderMd() {
|
|
54
|
-
let markdown = '';
|
|
55
|
-
markdown += '| Entity Id | Location | Role(s) |\n';
|
|
56
|
-
markdown += '| --------- | -------- | ------- |';
|
|
57
|
-
return markdown;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Get a table-row of the saml2 provider in markdown
|
|
62
|
-
* @param {Saml2ProviderSkeleton} saml2ProviderObj saml2 provider object to describe
|
|
63
|
-
* @returns {string} a table-row of the saml2 provider in markdown
|
|
64
|
-
*/
|
|
65
|
-
export function getTableRowMd(saml2ProviderObj) {
|
|
66
|
-
const roles = [];
|
|
67
|
-
for (const [key, value] of Object.entries(roleMap)) {
|
|
68
|
-
if (saml2ProviderObj[key]) {
|
|
69
|
-
roles.push(value);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
const row = `| ${saml2ProviderObj.entityId} | ${saml2ProviderObj.entityLocation} | ${roles.length ? roles.join(', ') : ''} |`;
|
|
73
|
-
return row;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* List entity providers
|
|
78
|
-
* @param {boolean} long Long list format with details
|
|
79
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
80
|
-
*/
|
|
81
|
-
export async function listSaml2Providers(long = false) {
|
|
82
|
-
try {
|
|
83
|
-
const providerList = await readSaml2ProviderStubs();
|
|
84
|
-
providerList.sort((a, b) => a._id.localeCompare(b._id));
|
|
85
|
-
if (!long) {
|
|
86
|
-
for (const provider of providerList) {
|
|
87
|
-
printMessage(`${provider.entityId}`, 'data');
|
|
88
|
-
}
|
|
89
|
-
return true;
|
|
90
|
-
} else {
|
|
91
|
-
const table = createTable(['Entity Id'['brightCyan'], 'Location'['brightCyan'], 'Role(s)'['brightCyan']]);
|
|
92
|
-
for (const provider of providerList) {
|
|
93
|
-
table.push([provider.entityId, provider.location, provider.roles.map(role => roleMap[role]).join(', ')]);
|
|
94
|
-
}
|
|
95
|
-
printMessage(table.toString(), 'data');
|
|
96
|
-
return true;
|
|
97
|
-
}
|
|
98
|
-
} catch (error) {
|
|
99
|
-
printError(error);
|
|
100
|
-
}
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Describe an entity provider's configuration
|
|
106
|
-
* @param {String} entityId Provider entity id
|
|
107
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
108
|
-
*/
|
|
109
|
-
export async function describeSaml2Provider(entityId) {
|
|
110
|
-
try {
|
|
111
|
-
const stub = await readSaml2ProviderStub(entityId);
|
|
112
|
-
const {
|
|
113
|
-
location
|
|
114
|
-
} = stub;
|
|
115
|
-
const roles = stub.roles.map(role => roleMap[role]).join(', ');
|
|
116
|
-
const rawProviderData = await readSaml2Provider(entityId);
|
|
117
|
-
delete rawProviderData._id;
|
|
118
|
-
delete rawProviderData._rev;
|
|
119
|
-
rawProviderData.location = location;
|
|
120
|
-
rawProviderData.roles = roles;
|
|
121
|
-
rawProviderData.metadataUrl = getSaml2ProviderMetadataUrl(entityId);
|
|
122
|
-
const table = createObjectTable(rawProviderData);
|
|
123
|
-
printMessage(table.toString(), 'data');
|
|
124
|
-
return true;
|
|
125
|
-
} catch (error) {
|
|
126
|
-
printError(error);
|
|
127
|
-
}
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Export provider metadata to file
|
|
133
|
-
* @param {String} entityId Provider entity id
|
|
134
|
-
* @param {String} file Optional filename
|
|
135
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
136
|
-
*/
|
|
137
|
-
export async function exportSaml2MetadataToFile(entityId, file = null) {
|
|
138
|
-
let indicatorId;
|
|
139
|
-
try {
|
|
140
|
-
if (!file) {
|
|
141
|
-
file = getTypedFilename(entityId, 'metadata', 'xml');
|
|
142
|
-
}
|
|
143
|
-
const filePath = getFilePath(file, true);
|
|
144
|
-
indicatorId = createProgressIndicator('determinate', 1, `Exporting metadata for: ${entityId}`);
|
|
145
|
-
updateProgressIndicator(indicatorId, `Writing file ${filePath}`);
|
|
146
|
-
const metaData = await getSaml2ProviderMetadata(entityId);
|
|
147
|
-
saveTextToFile(metaData, filePath);
|
|
148
|
-
updateProgressIndicator(indicatorId, `Exported provider ${entityId}`);
|
|
149
|
-
stopProgressIndicator(indicatorId, `Exported ${entityId['brightCyan']} metadata to ${filePath['brightCyan']}.`);
|
|
150
|
-
return true;
|
|
151
|
-
} catch (error) {
|
|
152
|
-
stopProgressIndicator(indicatorId, `Error exporting saml2 metadata`, 'fail');
|
|
153
|
-
printError(error);
|
|
154
|
-
}
|
|
155
|
-
return false;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Export a single entity provider to file
|
|
160
|
-
* @param {String} entityId Provider entity id
|
|
161
|
-
* @param {String} file Optional filename
|
|
162
|
-
* @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
|
|
163
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
164
|
-
*/
|
|
165
|
-
export async function exportSaml2ProviderToFile(entityId, file = null, includeMeta = true, options = {
|
|
166
|
-
deps: true
|
|
167
|
-
}) {
|
|
168
|
-
debugMessage(`cli.Saml2Ops.exportSaml2ProviderToFile: start [entityId=${entityId}, file=${file}]`);
|
|
169
|
-
let indicatorId;
|
|
170
|
-
try {
|
|
171
|
-
if (!file) {
|
|
172
|
-
file = getTypedFilename(entityId, 'saml');
|
|
173
|
-
}
|
|
174
|
-
const filePath = getFilePath(file, true);
|
|
175
|
-
indicatorId = createProgressIndicator('determinate', 1, `Exporting provider ${entityId}`);
|
|
176
|
-
const fileData = await exportSaml2Provider(entityId, options);
|
|
177
|
-
saveJsonToFile(fileData, filePath, includeMeta);
|
|
178
|
-
updateProgressIndicator(indicatorId, `Exported provider ${entityId}`);
|
|
179
|
-
stopProgressIndicator(indicatorId,
|
|
180
|
-
// @ts-expect-error - brightCyan colors the string, even though it is not a property of string
|
|
181
|
-
`Exported ${entityId.brightCyan} to ${filePath.brightCyan}.`);
|
|
182
|
-
debugMessage(`cli.Saml2Ops.exportSaml2ProviderToFile: end [entityId=${entityId}, file=${filePath}]`);
|
|
183
|
-
return true;
|
|
184
|
-
} catch (error) {
|
|
185
|
-
stopProgressIndicator(indicatorId, `Error exporting saml2 provider`, 'fail');
|
|
186
|
-
printError(error);
|
|
187
|
-
}
|
|
188
|
-
return false;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* Export all entity providers to one file
|
|
193
|
-
* @param {String} file Optional filename
|
|
194
|
-
* @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
|
|
195
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
196
|
-
*/
|
|
197
|
-
export async function exportSaml2ProvidersToFile(file = null, includeMeta = true, options = {
|
|
198
|
-
deps: true
|
|
199
|
-
}) {
|
|
200
|
-
debugMessage(`cli.Saml2Ops.exportSaml2ProviderToFile: start [file=${file}]`);
|
|
201
|
-
try {
|
|
202
|
-
if (!file) {
|
|
203
|
-
file = getTypedFilename(`all${getRealmString()}Providers`, 'saml');
|
|
204
|
-
}
|
|
205
|
-
const exportData = await exportSaml2Providers(options);
|
|
206
|
-
saveJsonToFile(exportData, getFilePath(file, true), includeMeta);
|
|
207
|
-
debugMessage(`cli.Saml2Ops.exportSaml2ProviderToFile: end [file=${file}]`);
|
|
208
|
-
return true;
|
|
209
|
-
} catch (error) {
|
|
210
|
-
printError(error);
|
|
211
|
-
}
|
|
212
|
-
return false;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Export all entity providers to individual files
|
|
217
|
-
* @param {boolean} includeMeta true to include metadata, false otherwise. Default: true
|
|
218
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
219
|
-
*/
|
|
220
|
-
export async function exportSaml2ProvidersToFiles(includeMeta = true, options = {
|
|
221
|
-
deps: true
|
|
222
|
-
}) {
|
|
223
|
-
const errors = [];
|
|
224
|
-
let indicatorId;
|
|
225
|
-
try {
|
|
226
|
-
const stubs = await readSaml2ProviderStubs();
|
|
227
|
-
if (stubs.length > 0) {
|
|
228
|
-
indicatorId = createProgressIndicator('determinate', stubs.length, 'Exporting providers');
|
|
229
|
-
for (const stub of stubs) {
|
|
230
|
-
try {
|
|
231
|
-
const file = getFilePath(getTypedFilename(stub.entityId, 'saml'), true);
|
|
232
|
-
const fileData = await exportSaml2Provider(stub.entityId, options);
|
|
233
|
-
saveJsonToFile(fileData, file, includeMeta);
|
|
234
|
-
updateProgressIndicator(indicatorId, `Exported provider ${stub.entityId}`);
|
|
235
|
-
} catch (error) {
|
|
236
|
-
errors.push(error);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
if (errors.length > 0) {
|
|
240
|
-
throw new FrodoError(`Error exporting providers`, errors);
|
|
241
|
-
}
|
|
242
|
-
stopProgressIndicator(indicatorId, `${stubs.length} providers exported.`);
|
|
243
|
-
return true;
|
|
244
|
-
} else {
|
|
245
|
-
printMessage('No entity providers found.', 'info');
|
|
246
|
-
return true;
|
|
247
|
-
}
|
|
248
|
-
} catch (error) {
|
|
249
|
-
stopProgressIndicator(indicatorId, `Error exporting providers`, 'fail');
|
|
250
|
-
printError(error);
|
|
251
|
-
}
|
|
252
|
-
return false;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* Import a SAML entity provider by entity id from file
|
|
257
|
-
* @param {String} entityId Provider entity id
|
|
258
|
-
* @param {String} file Import file name
|
|
259
|
-
* @param {Saml2ProviderImportOptions} options import options
|
|
260
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
261
|
-
*/
|
|
262
|
-
export async function importSaml2ProviderFromFile(entityId, file, options = {
|
|
263
|
-
deps: true
|
|
264
|
-
}) {
|
|
265
|
-
let indicatorId;
|
|
266
|
-
try {
|
|
267
|
-
const data = fs.readFileSync(getFilePath(file), 'utf8');
|
|
268
|
-
const fileData = JSON.parse(data);
|
|
269
|
-
indicatorId = createProgressIndicator('indeterminate', 0, `Importing ${entityId}...`);
|
|
270
|
-
await importSaml2Provider(entityId, fileData, options);
|
|
271
|
-
stopProgressIndicator(indicatorId, `Imported ${entityId}.`, 'success');
|
|
272
|
-
return true;
|
|
273
|
-
} catch (error) {
|
|
274
|
-
stopProgressIndicator(indicatorId, `Error importing provider ${entityId}`, 'fail');
|
|
275
|
-
printError(error);
|
|
276
|
-
}
|
|
277
|
-
return false;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* Import a SAML entity provider by entity id from file
|
|
282
|
-
* @param {String} file Import file name
|
|
283
|
-
* @param {Saml2ProviderImportOptions} options import options
|
|
284
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
285
|
-
*/
|
|
286
|
-
export async function importFirstSaml2ProviderFromFile(file, options = {
|
|
287
|
-
deps: true
|
|
288
|
-
}) {
|
|
289
|
-
let indicatorId;
|
|
290
|
-
try {
|
|
291
|
-
const data = fs.readFileSync(getFilePath(file), 'utf8');
|
|
292
|
-
const fileData = JSON.parse(data);
|
|
293
|
-
// pick the first provider and run with it
|
|
294
|
-
const entityId64 = Object.keys(fileData.saml.remote)[0] || Object.keys(fileData.saml.hosted)[0];
|
|
295
|
-
const entityId = decodeBase64(entityId64);
|
|
296
|
-
indicatorId = createProgressIndicator('indeterminate', 0, `Importing ${entityId}...`);
|
|
297
|
-
await importSaml2Provider(entityId, fileData, options);
|
|
298
|
-
stopProgressIndicator(indicatorId, `Imported ${entityId}.`, 'success');
|
|
299
|
-
return true;
|
|
300
|
-
} catch (error) {
|
|
301
|
-
stopProgressIndicator(indicatorId, `Error importing provider`, 'fail');
|
|
302
|
-
printError(error);
|
|
303
|
-
}
|
|
304
|
-
return false;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
/**
|
|
308
|
-
* Import all SAML entity providers from file
|
|
309
|
-
* @param {String} file Import file name
|
|
310
|
-
* @param {Saml2ProviderImportOptions} options import options
|
|
311
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
312
|
-
*/
|
|
313
|
-
export async function importSaml2ProvidersFromFile(file, options = {
|
|
314
|
-
deps: true
|
|
315
|
-
}) {
|
|
316
|
-
try {
|
|
317
|
-
const data = fs.readFileSync(getFilePath(file), 'utf8');
|
|
318
|
-
const fileData = JSON.parse(data);
|
|
319
|
-
await importSaml2Providers(fileData, options);
|
|
320
|
-
return true;
|
|
321
|
-
} catch (error) {
|
|
322
|
-
printError(error);
|
|
323
|
-
}
|
|
324
|
-
return false;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
/**
|
|
328
|
-
* Import all SAML entity providers from all *.saml.json files in the current directory
|
|
329
|
-
* @param {Saml2ProviderImportOptions} options import options
|
|
330
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
331
|
-
*/
|
|
332
|
-
export async function importSaml2ProvidersFromFiles(options = {
|
|
333
|
-
deps: true
|
|
334
|
-
}) {
|
|
335
|
-
const errors = [];
|
|
336
|
-
let indicatorId;
|
|
337
|
-
try {
|
|
338
|
-
const names = fs.readdirSync(getWorkingDirectory());
|
|
339
|
-
const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.saml.json')).map(name => getFilePath(name));
|
|
340
|
-
indicatorId = createProgressIndicator('determinate', jsonFiles.length, 'Importing providers...');
|
|
341
|
-
let total = 0;
|
|
342
|
-
for (const file of jsonFiles) {
|
|
343
|
-
try {
|
|
344
|
-
const data = fs.readFileSync(file, 'utf8');
|
|
345
|
-
const fileData = JSON.parse(data);
|
|
346
|
-
const result = await importSaml2Providers(fileData, options);
|
|
347
|
-
total += result.length;
|
|
348
|
-
updateProgressIndicator(indicatorId, `Imported ${result.length} provider(s) from ${file}.`);
|
|
349
|
-
} catch (error) {
|
|
350
|
-
errors.push(error);
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
if (errors.length > 0) {
|
|
354
|
-
throw new FrodoError(`Error importing providers`, errors);
|
|
355
|
-
}
|
|
356
|
-
stopProgressIndicator(indicatorId, `Imported ${total} provider(s) from ${jsonFiles.length} file(s).`);
|
|
357
|
-
return true;
|
|
358
|
-
} catch (error) {
|
|
359
|
-
stopProgressIndicator(indicatorId, `Error importing providers`);
|
|
360
|
-
printError(error);
|
|
361
|
-
}
|
|
362
|
-
return false;
|
|
363
|
-
}
|
|
364
|
-
//# sourceMappingURL=Saml2Ops.js.map
|
package/esm/ops/Saml2Ops.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Saml2Ops.js","names":["frodo","FrodoError","fs","createObjectTable","createProgressIndicator","createTable","debugMessage","printError","printMessage","stopProgressIndicator","updateProgressIndicator","decodeBase64","saveTextToFile","getFilePath","getWorkingDirectory","utils","getTypedFilename","saveJsonToFile","getRealmString","readSaml2ProviderStubs","readSaml2Provider","readSaml2ProviderStub","getSaml2ProviderMetadataUrl","getSaml2ProviderMetadata","exportSaml2Provider","exportSaml2Providers","importSaml2Provider","importSaml2Providers","saml2","entityProvider","roleMap","identityProvider","serviceProvider","attributeQueryProvider","xacmlPolicyEnforcementPoint","getOneLineDescription","saml2ProviderObj","roles","key","value","Object","entries","push","description","entityId","entityLocation","length","join","getTableHeaderMd","markdown","getTableRowMd","row","listSaml2Providers","long","providerList","sort","a","b","_id","localeCompare","provider","table","location","map","role","toString","error","describeSaml2Provider","stub","rawProviderData","_rev","metadataUrl","exportSaml2MetadataToFile","file","indicatorId","filePath","metaData","exportSaml2ProviderToFile","includeMeta","options","deps","fileData","brightCyan","exportSaml2ProvidersToFile","exportData","exportSaml2ProvidersToFiles","errors","stubs","importSaml2ProviderFromFile","data","readFileSync","JSON","parse","importFirstSaml2ProviderFromFile","entityId64","keys","saml","remote","hosted","importSaml2ProvidersFromFile","importSaml2ProvidersFromFiles","names","readdirSync","jsonFiles","filter","name","toLowerCase","endsWith","total","result"],"sources":["../../src/ops/Saml2Ops.ts"],"sourcesContent":["import { frodo, FrodoError } from '@rockcarver/frodo-lib';\nimport { type Saml2ProviderSkeleton } from '@rockcarver/frodo-lib/types/api/Saml2Api';\nimport type {\n Saml2EntitiesExportOptions,\n Saml2EntitiesImportOptions,\n Saml2ExportInterface,\n} from '@rockcarver/frodo-lib/types/ops/Saml2Ops';\nimport fs from 'fs';\n\nimport {\n createObjectTable,\n createProgressIndicator,\n createTable,\n debugMessage,\n printError,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from '../utils/Console';\n\nconst { decodeBase64, saveTextToFile, getFilePath, getWorkingDirectory } =\n frodo.utils;\nconst { getTypedFilename, saveJsonToFile, getRealmString } = frodo.utils;\nconst {\n readSaml2ProviderStubs,\n readSaml2Provider,\n readSaml2ProviderStub,\n getSaml2ProviderMetadataUrl,\n getSaml2ProviderMetadata,\n exportSaml2Provider,\n exportSaml2Providers,\n importSaml2Provider,\n importSaml2Providers,\n} = frodo.saml2.entityProvider;\n\nconst roleMap = {\n identityProvider: 'IDP',\n serviceProvider: 'SP',\n attributeQueryProvider: 'AttrQuery',\n xacmlPolicyEnforcementPoint: 'XACML PEP',\n};\n\n/**\n * Get a one-line description of the saml2 provider object\n * @param {Saml2ProviderSkeleton} saml2ProviderObj saml2 provider object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(\n saml2ProviderObj: Saml2ProviderSkeleton\n): string {\n const roles: string[] = [];\n for (const [key, value] of Object.entries(roleMap)) {\n if (saml2ProviderObj[key]) {\n roles.push(value);\n }\n }\n const description = `[${saml2ProviderObj.entityId['brightCyan']}]${\n ' (' + saml2ProviderObj.entityLocation\n }${roles.length ? ' ' + roles.join(', ') + ')' : ')'}`;\n return description;\n}\n\n/**\n * Get markdown table header\n * @returns {string} markdown table header\n */\nexport function getTableHeaderMd(): string {\n let markdown = '';\n markdown += '| Entity Id | Location | Role(s) |\\n';\n markdown += '| --------- | -------- | ------- |';\n return markdown;\n}\n\n/**\n * Get a table-row of the saml2 provider in markdown\n * @param {Saml2ProviderSkeleton} saml2ProviderObj saml2 provider object to describe\n * @returns {string} a table-row of the saml2 provider in markdown\n */\nexport function getTableRowMd(saml2ProviderObj: Saml2ProviderSkeleton): string {\n const roles: string[] = [];\n for (const [key, value] of Object.entries(roleMap)) {\n if (saml2ProviderObj[key]) {\n roles.push(value);\n }\n }\n const row = `| ${saml2ProviderObj.entityId} | ${\n saml2ProviderObj.entityLocation\n } | ${roles.length ? roles.join(', ') : ''} |`;\n return row;\n}\n\n/**\n * List entity providers\n * @param {boolean} long Long list format with details\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listSaml2Providers(\n long: boolean = false\n): Promise<boolean> {\n try {\n const providerList = await readSaml2ProviderStubs();\n providerList.sort((a, b) => a._id.localeCompare(b._id));\n if (!long) {\n for (const provider of providerList) {\n printMessage(`${provider.entityId}`, 'data');\n }\n return true;\n } else {\n const table = createTable([\n 'Entity Id'['brightCyan'],\n 'Location'['brightCyan'],\n 'Role(s)'['brightCyan'],\n ]);\n for (const provider of providerList) {\n table.push([\n provider.entityId,\n provider.location,\n provider.roles.map((role) => roleMap[role]).join(', '),\n ]);\n }\n printMessage(table.toString(), 'data');\n return true;\n }\n } catch (error) {\n printError(error);\n }\n return false;\n}\n\n/**\n * Describe an entity provider's configuration\n * @param {String} entityId Provider entity id\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function describeSaml2Provider(\n entityId: string\n): Promise<boolean> {\n try {\n const stub = await readSaml2ProviderStub(entityId);\n const { location } = stub;\n const roles = stub.roles.map((role: string) => roleMap[role]).join(', ');\n const rawProviderData = await readSaml2Provider(entityId);\n delete rawProviderData._id;\n delete rawProviderData._rev;\n rawProviderData.location = location;\n rawProviderData.roles = roles;\n rawProviderData.metadataUrl = getSaml2ProviderMetadataUrl(entityId);\n const table = createObjectTable(rawProviderData);\n printMessage(table.toString(), 'data');\n return true;\n } catch (error) {\n printError(error);\n }\n return false;\n}\n\n/**\n * Export provider metadata to file\n * @param {String} entityId Provider entity id\n * @param {String} file Optional filename\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportSaml2MetadataToFile(\n entityId: string,\n file: string = null\n): Promise<boolean> {\n let indicatorId: string;\n try {\n if (!file) {\n file = getTypedFilename(entityId, 'metadata', 'xml');\n }\n const filePath = getFilePath(file, true);\n indicatorId = createProgressIndicator(\n 'determinate',\n 1,\n `Exporting metadata for: ${entityId}`\n );\n updateProgressIndicator(indicatorId, `Writing file ${filePath}`);\n const metaData = await getSaml2ProviderMetadata(entityId);\n saveTextToFile(metaData, filePath);\n updateProgressIndicator(indicatorId, `Exported provider ${entityId}`);\n stopProgressIndicator(\n indicatorId,\n `Exported ${entityId['brightCyan']} metadata to ${filePath['brightCyan']}.`\n );\n return true;\n } catch (error) {\n stopProgressIndicator(\n indicatorId,\n `Error exporting saml2 metadata`,\n 'fail'\n );\n printError(error);\n }\n return false;\n}\n\n/**\n * Export a single entity provider to file\n * @param {String} entityId Provider entity id\n * @param {String} file Optional filename\n * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportSaml2ProviderToFile(\n entityId: string,\n file: string = null,\n includeMeta: boolean = true,\n options: Saml2EntitiesExportOptions = { deps: true }\n): Promise<boolean> {\n debugMessage(\n `cli.Saml2Ops.exportSaml2ProviderToFile: start [entityId=${entityId}, file=${file}]`\n );\n let indicatorId: string;\n try {\n if (!file) {\n file = getTypedFilename(entityId, 'saml');\n }\n const filePath = getFilePath(file, true);\n indicatorId = createProgressIndicator(\n 'determinate',\n 1,\n `Exporting provider ${entityId}`\n );\n const fileData = await exportSaml2Provider(entityId, options);\n saveJsonToFile(fileData, filePath, includeMeta);\n updateProgressIndicator(indicatorId, `Exported provider ${entityId}`);\n stopProgressIndicator(\n indicatorId,\n // @ts-expect-error - brightCyan colors the string, even though it is not a property of string\n `Exported ${entityId.brightCyan} to ${filePath.brightCyan}.`\n );\n debugMessage(\n `cli.Saml2Ops.exportSaml2ProviderToFile: end [entityId=${entityId}, file=${filePath}]`\n );\n return true;\n } catch (error) {\n stopProgressIndicator(\n indicatorId,\n `Error exporting saml2 provider`,\n 'fail'\n );\n printError(error);\n }\n return false;\n}\n\n/**\n * Export all entity providers to one file\n * @param {String} file Optional filename\n * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportSaml2ProvidersToFile(\n file: string = null,\n includeMeta: boolean = true,\n options: Saml2EntitiesExportOptions = { deps: true }\n): Promise<boolean> {\n debugMessage(`cli.Saml2Ops.exportSaml2ProviderToFile: start [file=${file}]`);\n try {\n if (!file) {\n file = getTypedFilename(`all${getRealmString()}Providers`, 'saml');\n }\n const exportData = await exportSaml2Providers(options);\n saveJsonToFile(exportData, getFilePath(file, true), includeMeta);\n debugMessage(`cli.Saml2Ops.exportSaml2ProviderToFile: end [file=${file}]`);\n return true;\n } catch (error) {\n printError(error);\n }\n return false;\n}\n\n/**\n * Export all entity providers to individual files\n * @param {boolean} includeMeta true to include metadata, false otherwise. Default: true\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportSaml2ProvidersToFiles(\n includeMeta: boolean = true,\n options: Saml2EntitiesExportOptions = { deps: true }\n): Promise<boolean> {\n const errors: Error[] = [];\n let indicatorId: string;\n try {\n const stubs = await readSaml2ProviderStubs();\n if (stubs.length > 0) {\n indicatorId = createProgressIndicator(\n 'determinate',\n stubs.length,\n 'Exporting providers'\n );\n for (const stub of stubs) {\n try {\n const file = getFilePath(\n getTypedFilename(stub.entityId, 'saml'),\n true\n );\n const fileData = await exportSaml2Provider(stub.entityId, options);\n saveJsonToFile(fileData, file, includeMeta);\n updateProgressIndicator(\n indicatorId,\n `Exported provider ${stub.entityId}`\n );\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length > 0) {\n throw new FrodoError(`Error exporting providers`, errors);\n }\n stopProgressIndicator(indicatorId, `${stubs.length} providers exported.`);\n return true;\n } else {\n printMessage('No entity providers found.', 'info');\n return true;\n }\n } catch (error) {\n stopProgressIndicator(indicatorId, `Error exporting providers`, 'fail');\n printError(error);\n }\n return false;\n}\n\n/**\n * Import a SAML entity provider by entity id from file\n * @param {String} entityId Provider entity id\n * @param {String} file Import file name\n * @param {Saml2ProviderImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importSaml2ProviderFromFile(\n entityId: string,\n file: string,\n options: Saml2EntitiesImportOptions = { deps: true }\n): Promise<boolean> {\n let indicatorId: string;\n try {\n const data = fs.readFileSync(getFilePath(file), 'utf8');\n const fileData = JSON.parse(data);\n indicatorId = createProgressIndicator(\n 'indeterminate',\n 0,\n `Importing ${entityId}...`\n );\n await importSaml2Provider(entityId, fileData, options);\n stopProgressIndicator(indicatorId, `Imported ${entityId}.`, 'success');\n return true;\n } catch (error) {\n stopProgressIndicator(\n indicatorId,\n `Error importing provider ${entityId}`,\n 'fail'\n );\n printError(error);\n }\n return false;\n}\n\n/**\n * Import a SAML entity provider by entity id from file\n * @param {String} file Import file name\n * @param {Saml2ProviderImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importFirstSaml2ProviderFromFile(\n file: string,\n options: Saml2EntitiesImportOptions = { deps: true }\n): Promise<boolean> {\n let indicatorId: string;\n try {\n const data = fs.readFileSync(getFilePath(file), 'utf8');\n const fileData = JSON.parse(data) as Saml2ExportInterface;\n // pick the first provider and run with it\n const entityId64 =\n Object.keys(fileData.saml.remote)[0] ||\n Object.keys(fileData.saml.hosted)[0];\n const entityId = decodeBase64(entityId64);\n indicatorId = createProgressIndicator(\n 'indeterminate',\n 0,\n `Importing ${entityId}...`\n );\n await importSaml2Provider(entityId, fileData, options);\n stopProgressIndicator(indicatorId, `Imported ${entityId}.`, 'success');\n return true;\n } catch (error) {\n stopProgressIndicator(indicatorId, `Error importing provider`, 'fail');\n printError(error);\n }\n return false;\n}\n\n/**\n * Import all SAML entity providers from file\n * @param {String} file Import file name\n * @param {Saml2ProviderImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importSaml2ProvidersFromFile(\n file: string,\n options: Saml2EntitiesImportOptions = { deps: true }\n): Promise<boolean> {\n try {\n const data = fs.readFileSync(getFilePath(file), 'utf8');\n const fileData = JSON.parse(data);\n await importSaml2Providers(fileData, options);\n return true;\n } catch (error) {\n printError(error);\n }\n return false;\n}\n\n/**\n * Import all SAML entity providers from all *.saml.json files in the current directory\n * @param {Saml2ProviderImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importSaml2ProvidersFromFiles(\n options: Saml2EntitiesImportOptions = { deps: true }\n): Promise<boolean> {\n const errors: Error[] = [];\n let indicatorId: string;\n try {\n const names = fs.readdirSync(getWorkingDirectory());\n const jsonFiles = names\n .filter((name) => name.toLowerCase().endsWith('.saml.json'))\n .map((name) => getFilePath(name));\n indicatorId = createProgressIndicator(\n 'determinate',\n jsonFiles.length,\n 'Importing providers...'\n );\n let total = 0;\n for (const file of jsonFiles) {\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n const result = await importSaml2Providers(fileData, options);\n total += result.length;\n updateProgressIndicator(\n indicatorId,\n `Imported ${result.length} provider(s) from ${file}.`\n );\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length > 0) {\n throw new FrodoError(`Error importing providers`, errors);\n }\n stopProgressIndicator(\n indicatorId,\n `Imported ${total} provider(s) from ${jsonFiles.length} file(s).`\n );\n return true;\n } catch (error) {\n stopProgressIndicator(indicatorId, `Error importing providers`);\n printError(error);\n }\n return false;\n}\n"],"mappings":"AAAA,SAASA,KAAK,EAAEC,UAAU,QAAQ,uBAAuB;AAOzD,OAAOC,EAAE,MAAM,IAAI;AAEnB,SACEC,iBAAiB,EACjBC,uBAAuB,EACvBC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,YAAY,EACZC,qBAAqB,EACrBC,uBAAuB,QAClB,kBAAkB;AAEzB,MAAM;EAAEC,YAAY;EAAEC,cAAc;EAAEC,WAAW;EAAEC;AAAoB,CAAC,GACtEd,KAAK,CAACe,KAAK;AACb,MAAM;EAAEC,gBAAgB;EAAEC,cAAc;EAAEC;AAAe,CAAC,GAAGlB,KAAK,CAACe,KAAK;AACxE,MAAM;EACJI,sBAAsB;EACtBC,iBAAiB;EACjBC,qBAAqB;EACrBC,2BAA2B;EAC3BC,wBAAwB;EACxBC,mBAAmB;EACnBC,oBAAoB;EACpBC,mBAAmB;EACnBC;AACF,CAAC,GAAG3B,KAAK,CAAC4B,KAAK,CAACC,cAAc;AAE9B,MAAMC,OAAO,GAAG;EACdC,gBAAgB,EAAE,KAAK;EACvBC,eAAe,EAAE,IAAI;EACrBC,sBAAsB,EAAE,WAAW;EACnCC,2BAA2B,EAAE;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CACnCC,gBAAuC,EAC/B;EACR,MAAMC,KAAe,GAAG,EAAE;EAC1B,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,OAAO,CAAC,EAAE;IAClD,IAAIM,gBAAgB,CAACE,GAAG,CAAC,EAAE;MACzBD,KAAK,CAACK,IAAI,CAACH,KAAK,CAAC;IACnB;EACF;EACA,MAAMI,WAAW,GAAI,IAAGP,gBAAgB,CAACQ,QAAQ,CAAC,YAAY,CAAE,IAC9D,IAAI,GAAGR,gBAAgB,CAACS,cACzB,GAAER,KAAK,CAACS,MAAM,GAAG,GAAG,GAAGT,KAAK,CAACU,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAI,EAAC;EACtD,OAAOJ,WAAW;AACpB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASK,gBAAgBA,CAAA,EAAW;EACzC,IAAIC,QAAQ,GAAG,EAAE;EACjBA,QAAQ,IAAI,sCAAsC;EAClDA,QAAQ,IAAI,oCAAoC;EAChD,OAAOA,QAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACd,gBAAuC,EAAU;EAC7E,MAAMC,KAAe,GAAG,EAAE;EAC1B,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACX,OAAO,CAAC,EAAE;IAClD,IAAIM,gBAAgB,CAACE,GAAG,CAAC,EAAE;MACzBD,KAAK,CAACK,IAAI,CAACH,KAAK,CAAC;IACnB;EACF;EACA,MAAMY,GAAG,GAAI,KAAIf,gBAAgB,CAACQ,QAAS,MACzCR,gBAAgB,CAACS,cAClB,MAAKR,KAAK,CAACS,MAAM,GAAGT,KAAK,CAACU,IAAI,CAAC,IAAI,CAAC,GAAG,EAAG,IAAG;EAC9C,OAAOI,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,kBAAkBA,CACtCC,IAAa,GAAG,KAAK,EACH;EAClB,IAAI;IACF,MAAMC,YAAY,GAAG,MAAMnC,sBAAsB,CAAC,CAAC;IACnDmC,YAAY,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,GAAG,CAACC,aAAa,CAACF,CAAC,CAACC,GAAG,CAAC,CAAC;IACvD,IAAI,CAACL,IAAI,EAAE;MACT,KAAK,MAAMO,QAAQ,IAAIN,YAAY,EAAE;QACnC9C,YAAY,CAAE,GAAEoD,QAAQ,CAAChB,QAAS,EAAC,EAAE,MAAM,CAAC;MAC9C;MACA,OAAO,IAAI;IACb,CAAC,MAAM;MACL,MAAMiB,KAAK,GAAGxD,WAAW,CAAC,CACxB,WAAW,CAAC,YAAY,CAAC,EACzB,UAAU,CAAC,YAAY,CAAC,EACxB,SAAS,CAAC,YAAY,CAAC,CACxB,CAAC;MACF,KAAK,MAAMuD,QAAQ,IAAIN,YAAY,EAAE;QACnCO,KAAK,CAACnB,IAAI,CAAC,CACTkB,QAAQ,CAAChB,QAAQ,EACjBgB,QAAQ,CAACE,QAAQ,EACjBF,QAAQ,CAACvB,KAAK,CAAC0B,GAAG,CAAEC,IAAI,IAAKlC,OAAO,CAACkC,IAAI,CAAC,CAAC,CAACjB,IAAI,CAAC,IAAI,CAAC,CACvD,CAAC;MACJ;MACAvC,YAAY,CAACqD,KAAK,CAACI,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;MACtC,OAAO,IAAI;IACb;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd3D,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,qBAAqBA,CACzCvB,QAAgB,EACE;EAClB,IAAI;IACF,MAAMwB,IAAI,GAAG,MAAM/C,qBAAqB,CAACuB,QAAQ,CAAC;IAClD,MAAM;MAAEkB;IAAS,CAAC,GAAGM,IAAI;IACzB,MAAM/B,KAAK,GAAG+B,IAAI,CAAC/B,KAAK,CAAC0B,GAAG,CAAEC,IAAY,IAAKlC,OAAO,CAACkC,IAAI,CAAC,CAAC,CAACjB,IAAI,CAAC,IAAI,CAAC;IACxE,MAAMsB,eAAe,GAAG,MAAMjD,iBAAiB,CAACwB,QAAQ,CAAC;IACzD,OAAOyB,eAAe,CAACX,GAAG;IAC1B,OAAOW,eAAe,CAACC,IAAI;IAC3BD,eAAe,CAACP,QAAQ,GAAGA,QAAQ;IACnCO,eAAe,CAAChC,KAAK,GAAGA,KAAK;IAC7BgC,eAAe,CAACE,WAAW,GAAGjD,2BAA2B,CAACsB,QAAQ,CAAC;IACnE,MAAMiB,KAAK,GAAG1D,iBAAiB,CAACkE,eAAe,CAAC;IAChD7D,YAAY,CAACqD,KAAK,CAACI,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACtC,OAAO,IAAI;EACb,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd3D,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeM,yBAAyBA,CAC7C5B,QAAgB,EAChB6B,IAAY,GAAG,IAAI,EACD;EAClB,IAAIC,WAAmB;EACvB,IAAI;IACF,IAAI,CAACD,IAAI,EAAE;MACTA,IAAI,GAAGzD,gBAAgB,CAAC4B,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;IACtD;IACA,MAAM+B,QAAQ,GAAG9D,WAAW,CAAC4D,IAAI,EAAE,IAAI,CAAC;IACxCC,WAAW,GAAGtE,uBAAuB,CACnC,aAAa,EACb,CAAC,EACA,2BAA0BwC,QAAS,EACtC,CAAC;IACDlC,uBAAuB,CAACgE,WAAW,EAAG,gBAAeC,QAAS,EAAC,CAAC;IAChE,MAAMC,QAAQ,GAAG,MAAMrD,wBAAwB,CAACqB,QAAQ,CAAC;IACzDhC,cAAc,CAACgE,QAAQ,EAAED,QAAQ,CAAC;IAClCjE,uBAAuB,CAACgE,WAAW,EAAG,qBAAoB9B,QAAS,EAAC,CAAC;IACrEnC,qBAAqB,CACnBiE,WAAW,EACV,YAAW9B,QAAQ,CAAC,YAAY,CAAE,gBAAe+B,QAAQ,CAAC,YAAY,CAAE,GAC3E,CAAC;IACD,OAAO,IAAI;EACb,CAAC,CAAC,OAAOT,KAAK,EAAE;IACdzD,qBAAqB,CACnBiE,WAAW,EACV,gCAA+B,EAChC,MACF,CAAC;IACDnE,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeW,yBAAyBA,CAC7CjC,QAAgB,EAChB6B,IAAY,GAAG,IAAI,EACnBK,WAAoB,GAAG,IAAI,EAC3BC,OAAmC,GAAG;EAAEC,IAAI,EAAE;AAAK,CAAC,EAClC;EAClB1E,YAAY,CACT,2DAA0DsC,QAAS,UAAS6B,IAAK,GACpF,CAAC;EACD,IAAIC,WAAmB;EACvB,IAAI;IACF,IAAI,CAACD,IAAI,EAAE;MACTA,IAAI,GAAGzD,gBAAgB,CAAC4B,QAAQ,EAAE,MAAM,CAAC;IAC3C;IACA,MAAM+B,QAAQ,GAAG9D,WAAW,CAAC4D,IAAI,EAAE,IAAI,CAAC;IACxCC,WAAW,GAAGtE,uBAAuB,CACnC,aAAa,EACb,CAAC,EACA,sBAAqBwC,QAAS,EACjC,CAAC;IACD,MAAMqC,QAAQ,GAAG,MAAMzD,mBAAmB,CAACoB,QAAQ,EAAEmC,OAAO,CAAC;IAC7D9D,cAAc,CAACgE,QAAQ,EAAEN,QAAQ,EAAEG,WAAW,CAAC;IAC/CpE,uBAAuB,CAACgE,WAAW,EAAG,qBAAoB9B,QAAS,EAAC,CAAC;IACrEnC,qBAAqB,CACnBiE,WAAW;IACX;IACC,YAAW9B,QAAQ,CAACsC,UAAW,OAAMP,QAAQ,CAACO,UAAW,GAC5D,CAAC;IACD5E,YAAY,CACT,yDAAwDsC,QAAS,UAAS+B,QAAS,GACtF,CAAC;IACD,OAAO,IAAI;EACb,CAAC,CAAC,OAAOT,KAAK,EAAE;IACdzD,qBAAqB,CACnBiE,WAAW,EACV,gCAA+B,EAChC,MACF,CAAC;IACDnE,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeiB,0BAA0BA,CAC9CV,IAAY,GAAG,IAAI,EACnBK,WAAoB,GAAG,IAAI,EAC3BC,OAAmC,GAAG;EAAEC,IAAI,EAAE;AAAK,CAAC,EAClC;EAClB1E,YAAY,CAAE,uDAAsDmE,IAAK,GAAE,CAAC;EAC5E,IAAI;IACF,IAAI,CAACA,IAAI,EAAE;MACTA,IAAI,GAAGzD,gBAAgB,CAAE,MAAKE,cAAc,CAAC,CAAE,WAAU,EAAE,MAAM,CAAC;IACpE;IACA,MAAMkE,UAAU,GAAG,MAAM3D,oBAAoB,CAACsD,OAAO,CAAC;IACtD9D,cAAc,CAACmE,UAAU,EAAEvE,WAAW,CAAC4D,IAAI,EAAE,IAAI,CAAC,EAAEK,WAAW,CAAC;IAChExE,YAAY,CAAE,qDAAoDmE,IAAK,GAAE,CAAC;IAC1E,OAAO,IAAI;EACb,CAAC,CAAC,OAAOP,KAAK,EAAE;IACd3D,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAemB,2BAA2BA,CAC/CP,WAAoB,GAAG,IAAI,EAC3BC,OAAmC,GAAG;EAAEC,IAAI,EAAE;AAAK,CAAC,EAClC;EAClB,MAAMM,MAAe,GAAG,EAAE;EAC1B,IAAIZ,WAAmB;EACvB,IAAI;IACF,MAAMa,KAAK,GAAG,MAAMpE,sBAAsB,CAAC,CAAC;IAC5C,IAAIoE,KAAK,CAACzC,MAAM,GAAG,CAAC,EAAE;MACpB4B,WAAW,GAAGtE,uBAAuB,CACnC,aAAa,EACbmF,KAAK,CAACzC,MAAM,EACZ,qBACF,CAAC;MACD,KAAK,MAAMsB,IAAI,IAAImB,KAAK,EAAE;QACxB,IAAI;UACF,MAAMd,IAAI,GAAG5D,WAAW,CACtBG,gBAAgB,CAACoD,IAAI,CAACxB,QAAQ,EAAE,MAAM,CAAC,EACvC,IACF,CAAC;UACD,MAAMqC,QAAQ,GAAG,MAAMzD,mBAAmB,CAAC4C,IAAI,CAACxB,QAAQ,EAAEmC,OAAO,CAAC;UAClE9D,cAAc,CAACgE,QAAQ,EAAER,IAAI,EAAEK,WAAW,CAAC;UAC3CpE,uBAAuB,CACrBgE,WAAW,EACV,qBAAoBN,IAAI,CAACxB,QAAS,EACrC,CAAC;QACH,CAAC,CAAC,OAAOsB,KAAK,EAAE;UACdoB,MAAM,CAAC5C,IAAI,CAACwB,KAAK,CAAC;QACpB;MACF;MACA,IAAIoB,MAAM,CAACxC,MAAM,GAAG,CAAC,EAAE;QACrB,MAAM,IAAI7C,UAAU,CAAE,2BAA0B,EAAEqF,MAAM,CAAC;MAC3D;MACA7E,qBAAqB,CAACiE,WAAW,EAAG,GAAEa,KAAK,CAACzC,MAAO,sBAAqB,CAAC;MACzE,OAAO,IAAI;IACb,CAAC,MAAM;MACLtC,YAAY,CAAC,4BAA4B,EAAE,MAAM,CAAC;MAClD,OAAO,IAAI;IACb;EACF,CAAC,CAAC,OAAO0D,KAAK,EAAE;IACdzD,qBAAqB,CAACiE,WAAW,EAAG,2BAA0B,EAAE,MAAM,CAAC;IACvEnE,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAesB,2BAA2BA,CAC/C5C,QAAgB,EAChB6B,IAAY,EACZM,OAAmC,GAAG;EAAEC,IAAI,EAAE;AAAK,CAAC,EAClC;EAClB,IAAIN,WAAmB;EACvB,IAAI;IACF,MAAMe,IAAI,GAAGvF,EAAE,CAACwF,YAAY,CAAC7E,WAAW,CAAC4D,IAAI,CAAC,EAAE,MAAM,CAAC;IACvD,MAAMQ,QAAQ,GAAGU,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACjCf,WAAW,GAAGtE,uBAAuB,CACnC,eAAe,EACf,CAAC,EACA,aAAYwC,QAAS,KACxB,CAAC;IACD,MAAMlB,mBAAmB,CAACkB,QAAQ,EAAEqC,QAAQ,EAAEF,OAAO,CAAC;IACtDtE,qBAAqB,CAACiE,WAAW,EAAG,YAAW9B,QAAS,GAAE,EAAE,SAAS,CAAC;IACtE,OAAO,IAAI;EACb,CAAC,CAAC,OAAOsB,KAAK,EAAE;IACdzD,qBAAqB,CACnBiE,WAAW,EACV,4BAA2B9B,QAAS,EAAC,EACtC,MACF,CAAC;IACDrC,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe2B,gCAAgCA,CACpDpB,IAAY,EACZM,OAAmC,GAAG;EAAEC,IAAI,EAAE;AAAK,CAAC,EAClC;EAClB,IAAIN,WAAmB;EACvB,IAAI;IACF,MAAMe,IAAI,GAAGvF,EAAE,CAACwF,YAAY,CAAC7E,WAAW,CAAC4D,IAAI,CAAC,EAAE,MAAM,CAAC;IACvD,MAAMQ,QAAQ,GAAGU,IAAI,CAACC,KAAK,CAACH,IAAI,CAAyB;IACzD;IACA,MAAMK,UAAU,GACdtD,MAAM,CAACuD,IAAI,CAACd,QAAQ,CAACe,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC,IACpCzD,MAAM,CAACuD,IAAI,CAACd,QAAQ,CAACe,IAAI,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;IACtC,MAAMtD,QAAQ,GAAGjC,YAAY,CAACmF,UAAU,CAAC;IACzCpB,WAAW,GAAGtE,uBAAuB,CACnC,eAAe,EACf,CAAC,EACA,aAAYwC,QAAS,KACxB,CAAC;IACD,MAAMlB,mBAAmB,CAACkB,QAAQ,EAAEqC,QAAQ,EAAEF,OAAO,CAAC;IACtDtE,qBAAqB,CAACiE,WAAW,EAAG,YAAW9B,QAAS,GAAE,EAAE,SAAS,CAAC;IACtE,OAAO,IAAI;EACb,CAAC,CAAC,OAAOsB,KAAK,EAAE;IACdzD,qBAAqB,CAACiE,WAAW,EAAG,0BAAyB,EAAE,MAAM,CAAC;IACtEnE,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeiC,4BAA4BA,CAChD1B,IAAY,EACZM,OAAmC,GAAG;EAAEC,IAAI,EAAE;AAAK,CAAC,EAClC;EAClB,IAAI;IACF,MAAMS,IAAI,GAAGvF,EAAE,CAACwF,YAAY,CAAC7E,WAAW,CAAC4D,IAAI,CAAC,EAAE,MAAM,CAAC;IACvD,MAAMQ,QAAQ,GAAGU,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACjC,MAAM9D,oBAAoB,CAACsD,QAAQ,EAAEF,OAAO,CAAC;IAC7C,OAAO,IAAI;EACb,CAAC,CAAC,OAAOb,KAAK,EAAE;IACd3D,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAekC,6BAA6BA,CACjDrB,OAAmC,GAAG;EAAEC,IAAI,EAAE;AAAK,CAAC,EAClC;EAClB,MAAMM,MAAe,GAAG,EAAE;EAC1B,IAAIZ,WAAmB;EACvB,IAAI;IACF,MAAM2B,KAAK,GAAGnG,EAAE,CAACoG,WAAW,CAACxF,mBAAmB,CAAC,CAAC,CAAC;IACnD,MAAMyF,SAAS,GAAGF,KAAK,CACpBG,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAC3D5C,GAAG,CAAE0C,IAAI,IAAK5F,WAAW,CAAC4F,IAAI,CAAC,CAAC;IACnC/B,WAAW,GAAGtE,uBAAuB,CACnC,aAAa,EACbmG,SAAS,CAACzD,MAAM,EAChB,wBACF,CAAC;IACD,IAAI8D,KAAK,GAAG,CAAC;IACb,KAAK,MAAMnC,IAAI,IAAI8B,SAAS,EAAE;MAC5B,IAAI;QACF,MAAMd,IAAI,GAAGvF,EAAE,CAACwF,YAAY,CAACjB,IAAI,EAAE,MAAM,CAAC;QAC1C,MAAMQ,QAAQ,GAAGU,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;QACjC,MAAMoB,MAAM,GAAG,MAAMlF,oBAAoB,CAACsD,QAAQ,EAAEF,OAAO,CAAC;QAC5D6B,KAAK,IAAIC,MAAM,CAAC/D,MAAM;QACtBpC,uBAAuB,CACrBgE,WAAW,EACV,YAAWmC,MAAM,CAAC/D,MAAO,qBAAoB2B,IAAK,GACrD,CAAC;MACH,CAAC,CAAC,OAAOP,KAAK,EAAE;QACdoB,MAAM,CAAC5C,IAAI,CAACwB,KAAK,CAAC;MACpB;IACF;IACA,IAAIoB,MAAM,CAACxC,MAAM,GAAG,CAAC,EAAE;MACrB,MAAM,IAAI7C,UAAU,CAAE,2BAA0B,EAAEqF,MAAM,CAAC;IAC3D;IACA7E,qBAAqB,CACnBiE,WAAW,EACV,YAAWkC,KAAM,qBAAoBL,SAAS,CAACzD,MAAO,WACzD,CAAC;IACD,OAAO,IAAI;EACb,CAAC,CAAC,OAAOoB,KAAK,EAAE;IACdzD,qBAAqB,CAACiE,WAAW,EAAG,2BAA0B,CAAC;IAC/DnE,UAAU,CAAC2D,KAAK,CAAC;EACnB;EACA,OAAO,KAAK;AACd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Saml2Ops.test_.js","names":["Saml2","describe","test","expect","listSaml2Providers","toBeDefined","exportSaml2ProviderToFile","exportSaml2MetadataToFile","describeSaml2Provider","exportSaml2ProvidersToFile","exportSaml2ProvidersToFiles","importSaml2ProviderFromFile","importFirstSaml2ProviderFromFile","importSaml2ProvidersFromFile","importSaml2ProvidersFromFiles","exportRawSaml2ProviderToFile","exportRawSaml2ProvidersToFile","exportRawSaml2ProvidersToFiles","importRawSaml2ProvidersFromFile","importRawSaml2ProvidersFromFiles","importRawSaml2ProviderFromFile"],"sources":["../../src/ops/Saml2Ops.test_.ts"],"sourcesContent":["import * as Saml2 from './Saml2Ops';\n\ndescribe('Saml2Ops - listSaml2Providers()', () => {\n test('listSaml2Providers() 0: Method is implemented', async () => {\n expect(Saml2.listSaml2Providers).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProviderToFile()', () => {\n test('exportSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2MetadataToFile()', () => {\n test('exportSaml2MetadataToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2MetadataToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - describeSaml2Provider()', () => {\n test('describeSaml2Provider() 0: Method is implemented', async () => {\n expect(Saml2.describeSaml2Provider).toBeDefined();\n });\n\n // test('describeSaml2Provider() 1: Describe saml2 entity provider', async () => {\n // mockFindSaml2Providers(mock);\n // mockGetSaml2ProviderByLocationAndId(mock);\n // mockGetSaml2ProviderMetadata(mock);\n // expect.assertions(2);\n // await Saml2.describeSaml2Provider('iSPAzure');\n // expect(true).toBeTruthy();\n // });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFile()', () => {\n test('exportSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFiles()', () => {\n test('exportSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProviderFromFile()', () => {\n test('importSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importFirstSaml2ProviderFromFile()', () => {\n test('importFirstSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importFirstSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFile()', () => {\n test('importSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFiles()', () => {\n test('importSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProviderToFile()', () => {\n test('exportRawSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFile()', () => {\n test('exportRawSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFiles()', () => {\n test('exportRawSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFile()', () => {\n test('importRawSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFiles()', () => {\n test('importRawSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProviderFromFile()', () => {\n test('importRawSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProviderFromFile).toBeDefined();\n });\n});\n"],"mappings":"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"}
|