@rockcarver/frodo-cli 2.0.0-8 → 2.0.0
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 +1180 -715
- package/README.md +2 -2
- package/dist/app.cjs +187758 -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/global-jest-setup.js +5 -0
- package/package.json +68 -57
- package/tsup.config.ts +40 -0
- package/esm/app.js +0 -61
- package/esm/app.js.map +0 -1
- package/esm/cli/FrodoCommand.js +0 -147
- package/esm/cli/FrodoCommand.js.map +0 -1
- package/esm/cli/_template/something-delete.js +0 -22
- package/esm/cli/_template/something-delete.js.map +0 -1
- package/esm/cli/_template/something-describe.js +0 -22
- package/esm/cli/_template/something-describe.js.map +0 -1
- package/esm/cli/_template/something-else-delete.js +0 -22
- package/esm/cli/_template/something-else-delete.js.map +0 -1
- package/esm/cli/_template/something-else-describe.js +0 -22
- package/esm/cli/_template/something-else-describe.js.map +0 -1
- package/esm/cli/_template/something-else-export.js +0 -22
- package/esm/cli/_template/something-else-export.js.map +0 -1
- package/esm/cli/_template/something-else-import.js +0 -22
- package/esm/cli/_template/something-else-import.js.map +0 -1
- package/esm/cli/_template/something-else-list.js +0 -22
- package/esm/cli/_template/something-else-list.js.map +0 -1
- package/esm/cli/_template/something-else.js +0 -10
- package/esm/cli/_template/something-else.js.map +0 -1
- package/esm/cli/_template/something-export.js +0 -22
- package/esm/cli/_template/something-export.js.map +0 -1
- package/esm/cli/_template/something-import.js +0 -22
- package/esm/cli/_template/something-import.js.map +0 -1
- package/esm/cli/_template/something-list.js +0 -22
- package/esm/cli/_template/something-list.js.map +0 -1
- package/esm/cli/_template/something-other-delete.js +0 -22
- package/esm/cli/_template/something-other-delete.js.map +0 -1
- package/esm/cli/_template/something-other-describe.js +0 -22
- package/esm/cli/_template/something-other-describe.js.map +0 -1
- package/esm/cli/_template/something-other-export.js +0 -22
- package/esm/cli/_template/something-other-export.js.map +0 -1
- package/esm/cli/_template/something-other-import.js +0 -22
- package/esm/cli/_template/something-other-import.js.map +0 -1
- package/esm/cli/_template/something-other-list.js +0 -22
- package/esm/cli/_template/something-other-list.js.map +0 -1
- package/esm/cli/_template/something-other.js +0 -10
- package/esm/cli/_template/something-other.js.map +0 -1
- package/esm/cli/_template/something.js +0 -16
- package/esm/cli/_template/something.js.map +0 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +0 -27
- 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 -86
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +0 -1
- package/esm/cli/admin/admin-federation-export.js +0 -45
- package/esm/cli/admin/admin-federation-export.js.map +0 -1
- package/esm/cli/admin/admin-federation-import.js +0 -49
- package/esm/cli/admin/admin-federation-import.js.map +0 -1
- package/esm/cli/admin/admin-federation-list.js +0 -29
- package/esm/cli/admin/admin-federation-list.js.map +0 -1
- package/esm/cli/admin/admin-federation.js +0 -13
- package/esm/cli/admin/admin-federation.js.map +0 -1
- package/esm/cli/admin/admin-get-access-token.js +0 -28
- package/esm/cli/admin/admin-get-access-token.js.map +0 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +0 -28
- 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 -28
- 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 -30
- 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 -30
- 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 -31
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +0 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +0 -27
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +0 -1
- package/esm/cli/admin/admin-repair-org-model.js +0 -28
- package/esm/cli/admin/admin-repair-org-model.js.map +0 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +0 -28
- 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 -28
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +0 -1
- package/esm/cli/admin/admin.js +0 -22
- package/esm/cli/admin/admin.js.map +0 -1
- package/esm/cli/agent/agent-delete.js +0 -52
- package/esm/cli/agent/agent-delete.js.map +0 -1
- package/esm/cli/agent/agent-describe.js +0 -22
- package/esm/cli/agent/agent-describe.js.map +0 -1
- package/esm/cli/agent/agent-export.js +0 -42
- package/esm/cli/agent/agent-export.js.map +0 -1
- package/esm/cli/agent/agent-gateway-delete.js +0 -52
- package/esm/cli/agent/agent-gateway-delete.js.map +0 -1
- package/esm/cli/agent/agent-gateway-describe.js +0 -22
- package/esm/cli/agent/agent-gateway-describe.js.map +0 -1
- package/esm/cli/agent/agent-gateway-export.js +0 -42
- package/esm/cli/agent/agent-gateway-export.js.map +0 -1
- package/esm/cli/agent/agent-gateway-import.js +0 -47
- package/esm/cli/agent/agent-gateway-import.js.map +0 -1
- package/esm/cli/agent/agent-gateway-list.js +0 -23
- package/esm/cli/agent/agent-gateway-list.js.map +0 -1
- package/esm/cli/agent/agent-gateway.js +0 -10
- package/esm/cli/agent/agent-gateway.js.map +0 -1
- package/esm/cli/agent/agent-import.js +0 -47
- package/esm/cli/agent/agent-import.js.map +0 -1
- package/esm/cli/agent/agent-java-delete.js +0 -52
- package/esm/cli/agent/agent-java-delete.js.map +0 -1
- package/esm/cli/agent/agent-java-describe.js +0 -22
- package/esm/cli/agent/agent-java-describe.js.map +0 -1
- package/esm/cli/agent/agent-java-export.js +0 -42
- package/esm/cli/agent/agent-java-export.js.map +0 -1
- package/esm/cli/agent/agent-java-import.js +0 -47
- package/esm/cli/agent/agent-java-import.js.map +0 -1
- package/esm/cli/agent/agent-java-list.js +0 -23
- package/esm/cli/agent/agent-java-list.js.map +0 -1
- package/esm/cli/agent/agent-java.js +0 -10
- package/esm/cli/agent/agent-java.js.map +0 -1
- package/esm/cli/agent/agent-list.js +0 -23
- package/esm/cli/agent/agent-list.js.map +0 -1
- package/esm/cli/agent/agent-web-delete.js +0 -52
- package/esm/cli/agent/agent-web-delete.js.map +0 -1
- package/esm/cli/agent/agent-web-describe.js +0 -22
- package/esm/cli/agent/agent-web-describe.js.map +0 -1
- package/esm/cli/agent/agent-web-export.js +0 -42
- package/esm/cli/agent/agent-web-export.js.map +0 -1
- package/esm/cli/agent/agent-web-import.js +0 -47
- package/esm/cli/agent/agent-web-import.js.map +0 -1
- package/esm/cli/agent/agent-web-list.js +0 -23
- package/esm/cli/agent/agent-web-list.js.map +0 -1
- package/esm/cli/agent/agent-web.js +0 -10
- package/esm/cli/agent/agent-web.js.map +0 -1
- package/esm/cli/agent/agent.js +0 -17
- package/esm/cli/agent/agent.js.map +0 -1
- package/esm/cli/app/app-delete.js +0 -22
- package/esm/cli/app/app-delete.js.map +0 -1
- package/esm/cli/app/app-describe.js +0 -22
- package/esm/cli/app/app-describe.js.map +0 -1
- package/esm/cli/app/app-export.js +0 -52
- package/esm/cli/app/app-export.js.map +0 -1
- package/esm/cli/app/app-import.js +0 -57
- 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 -21
- package/esm/cli/app/app.js.map +0 -1
- package/esm/cli/authz/authz-policy-delete.js +0 -43
- package/esm/cli/authz/authz-policy-delete.js.map +0 -1
- package/esm/cli/authz/authz-policy-describe.js +0 -30
- package/esm/cli/authz/authz-policy-describe.js.map +0 -1
- package/esm/cli/authz/authz-policy-export.js +0 -75
- package/esm/cli/authz/authz-policy-export.js.map +0 -1
- package/esm/cli/authz/authz-policy-import.js +0 -65
- package/esm/cli/authz/authz-policy-import.js.map +0 -1
- package/esm/cli/authz/authz-policy-list.js +0 -37
- package/esm/cli/authz/authz-policy-list.js.map +0 -1
- package/esm/cli/authz/authz-policy.js +0 -10
- package/esm/cli/authz/authz-policy.js.map +0 -1
- package/esm/cli/authz/authz-set-delete.js +0 -37
- package/esm/cli/authz/authz-set-delete.js.map +0 -1
- package/esm/cli/authz/authz-set-describe.js +0 -30
- package/esm/cli/authz/authz-set-describe.js.map +0 -1
- package/esm/cli/authz/authz-set-export.js +0 -55
- package/esm/cli/authz/authz-set-export.js.map +0 -1
- package/esm/cli/authz/authz-set-import.js +0 -61
- package/esm/cli/authz/authz-set-import.js.map +0 -1
- package/esm/cli/authz/authz-set-list.js +0 -25
- package/esm/cli/authz/authz-set-list.js.map +0 -1
- package/esm/cli/authz/authz-set.js +0 -10
- package/esm/cli/authz/authz-set.js.map +0 -1
- package/esm/cli/authz/authz-type-delete.js +0 -43
- package/esm/cli/authz/authz-type-delete.js.map +0 -1
- package/esm/cli/authz/authz-type-describe.js +0 -34
- package/esm/cli/authz/authz-type-describe.js.map +0 -1
- package/esm/cli/authz/authz-type-export.js +0 -49
- package/esm/cli/authz/authz-type-export.js.map +0 -1
- package/esm/cli/authz/authz-type-import.js +0 -55
- package/esm/cli/authz/authz-type-import.js.map +0 -1
- package/esm/cli/authz/authz-type-list.js +0 -26
- package/esm/cli/authz/authz-type-list.js.map +0 -1
- package/esm/cli/authz/authz-type.js +0 -10
- 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/conn/conn-delete.js +0 -14
- package/esm/cli/conn/conn-delete.js.map +0 -1
- package/esm/cli/conn/conn-describe.js +0 -15
- package/esm/cli/conn/conn-describe.js.map +0 -1
- package/esm/cli/conn/conn-list.js +0 -15
- package/esm/cli/conn/conn-list.js.map +0 -1
- package/esm/cli/conn/conn-save.js +0 -107
- package/esm/cli/conn/conn-save.js.map +0 -1
- package/esm/cli/conn/conn.js +0 -15
- package/esm/cli/conn/conn.js.map +0 -1
- package/esm/cli/email/email-template-export.js +0 -40
- package/esm/cli/email/email-template-export.js.map +0 -1
- package/esm/cli/email/email-template-import.js +0 -45
- package/esm/cli/email/email-template-import.js.map +0 -1
- package/esm/cli/email/email-template-list.js +0 -25
- package/esm/cli/email/email-template-list.js.map +0 -1
- package/esm/cli/email/email-template.js +0 -8
- package/esm/cli/email/email-template.js.map +0 -1
- package/esm/cli/email/email.js +0 -11
- package/esm/cli/email/email.js.map +0 -1
- package/esm/cli/esv/esv-apply.js +0 -62
- package/esm/cli/esv/esv-apply.js.map +0 -1
- package/esm/cli/esv/esv-secret-create.js +0 -25
- package/esm/cli/esv/esv-secret-create.js.map +0 -1
- package/esm/cli/esv/esv-secret-delete.js +0 -35
- package/esm/cli/esv/esv-secret-delete.js.map +0 -1
- package/esm/cli/esv/esv-secret-describe.js +0 -25
- package/esm/cli/esv/esv-secret-describe.js.map +0 -1
- package/esm/cli/esv/esv-secret-export.js +0 -22
- package/esm/cli/esv/esv-secret-export.js.map +0 -1
- package/esm/cli/esv/esv-secret-import.js +0 -22
- package/esm/cli/esv/esv-secret-import.js.map +0 -1
- package/esm/cli/esv/esv-secret-list.js +0 -25
- package/esm/cli/esv/esv-secret-list.js.map +0 -1
- package/esm/cli/esv/esv-secret-set.js +0 -25
- package/esm/cli/esv/esv-secret-set.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-activate.js +0 -30
- package/esm/cli/esv/esv-secret-version-activate.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-create.js +0 -25
- package/esm/cli/esv/esv-secret-version-create.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +0 -30
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-delete.js +0 -35
- package/esm/cli/esv/esv-secret-version-delete.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-list.js +0 -25
- package/esm/cli/esv/esv-secret-version-list.js.map +0 -1
- package/esm/cli/esv/esv-secret-version.js +0 -10
- package/esm/cli/esv/esv-secret-version.js.map +0 -1
- package/esm/cli/esv/esv-secret.js +0 -16
- 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 -25
- package/esm/cli/esv/esv-variable-describe.js.map +0 -1
- package/esm/cli/esv/esv-variable-export.js +0 -22
- package/esm/cli/esv/esv-variable-export.js.map +0 -1
- package/esm/cli/esv/esv-variable-import.js +0 -22
- package/esm/cli/esv/esv-variable-import.js.map +0 -1
- package/esm/cli/esv/esv-variable-list.js +0 -25
- 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 -15
- 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 -25
- package/esm/cli/idm/idm-count.js.map +0 -1
- package/esm/cli/idm/idm-export.js +0 -42
- package/esm/cli/idm/idm-export.js.map +0 -1
- package/esm/cli/idm/idm-import.js +0 -45
- package/esm/cli/idm/idm-import.js.map +0 -1
- package/esm/cli/idm/idm-list.js +0 -29
- package/esm/cli/idm/idm-list.js.map +0 -1
- package/esm/cli/idm/idm.js +0 -13
- package/esm/cli/idm/idm.js.map +0 -1
- package/esm/cli/idp/idp-export.js +0 -42
- package/esm/cli/idp/idp-export.js.map +0 -1
- package/esm/cli/idp/idp-import.js +0 -45
- 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 -54
- package/esm/cli/info/info.js.map +0 -1
- package/esm/cli/journey/journey-delete.js +0 -34
- package/esm/cli/journey/journey-delete.js.map +0 -1
- package/esm/cli/journey/journey-describe.js +0 -125
- package/esm/cli/journey/journey-describe.js.map +0 -1
- package/esm/cli/journey/journey-disable.js +0 -43
- package/esm/cli/journey/journey-disable.js.map +0 -1
- package/esm/cli/journey/journey-enable.js +0 -43
- package/esm/cli/journey/journey-enable.js.map +0 -1
- package/esm/cli/journey/journey-export.js +0 -50
- package/esm/cli/journey/journey-export.js.map +0 -1
- package/esm/cli/journey/journey-import.js +0 -57
- 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 -38
- package/esm/cli/journey/journey-prune.js.map +0 -1
- package/esm/cli/journey/journey.js +0 -17
- package/esm/cli/journey/journey.js.map +0 -1
- package/esm/cli/log/log-fetch.js +0 -101
- package/esm/cli/log/log-fetch.js.map +0 -1
- package/esm/cli/log/log-key-delete.js +0 -35
- package/esm/cli/log/log-key-delete.js.map +0 -1
- package/esm/cli/log/log-key-describe.js +0 -22
- package/esm/cli/log/log-key-describe.js.map +0 -1
- package/esm/cli/log/log-key-list.js +0 -26
- package/esm/cli/log/log-key-list.js.map +0 -1
- package/esm/cli/log/log-key.js +0 -8
- package/esm/cli/log/log-key.js.map +0 -1
- package/esm/cli/log/log-list.js +0 -59
- package/esm/cli/log/log-list.js.map +0 -1
- package/esm/cli/log/log-tail.js +0 -56
- package/esm/cli/log/log-tail.js.map +0 -1
- package/esm/cli/log/log.js +0 -17
- package/esm/cli/log/log.js.map +0 -1
- package/esm/cli/realm/realm-add-custom-domain.js +0 -25
- package/esm/cli/realm/realm-add-custom-domain.js.map +0 -1
- package/esm/cli/realm/realm-describe.js +0 -24
- package/esm/cli/realm/realm-describe.js.map +0 -1
- package/esm/cli/realm/realm-list.js +0 -25
- package/esm/cli/realm/realm-list.js.map +0 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +0 -27
- package/esm/cli/realm/realm-remove-custom-domain.js.map +0 -1
- package/esm/cli/realm/realm.js +0 -18
- package/esm/cli/realm/realm.js.map +0 -1
- package/esm/cli/saml/saml-cot-export.js +0 -43
- package/esm/cli/saml/saml-cot-export.js.map +0 -1
- package/esm/cli/saml/saml-cot-import.js +0 -49
- package/esm/cli/saml/saml-cot-import.js.map +0 -1
- package/esm/cli/saml/saml-cot-list.js +0 -26
- package/esm/cli/saml/saml-cot-list.js.map +0 -1
- package/esm/cli/saml/saml-cot.js +0 -8
- package/esm/cli/saml/saml-cot.js.map +0 -1
- package/esm/cli/saml/saml-delete.js +0 -38
- 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 -40
- package/esm/cli/saml/saml-export.js.map +0 -1
- package/esm/cli/saml/saml-import.js +0 -45
- 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 -35
- package/esm/cli/saml/saml-metadata-export.js.map +0 -1
- package/esm/cli/saml/saml-metadata.js +0 -6
- package/esm/cli/saml/saml-metadata.js.map +0 -1
- package/esm/cli/saml/saml.js +0 -16
- package/esm/cli/saml/saml.js.map +0 -1
- package/esm/cli/script/script-delete.js +0 -22
- package/esm/cli/script/script-delete.js.map +0 -1
- package/esm/cli/script/script-describe.js +0 -22
- package/esm/cli/script/script-describe.js.map +0 -1
- package/esm/cli/script/script-export.js +0 -62
- package/esm/cli/script/script-export.js.map +0 -1
- package/esm/cli/script/script-import.js +0 -35
- package/esm/cli/script/script-import.js.map +0 -1
- package/esm/cli/script/script-list.js +0 -26
- 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 -22
- package/esm/cli/service/service-delete.js.map +0 -1
- package/esm/cli/service/service-export.js +0 -40
- package/esm/cli/service/service-export.js.map +0 -1
- package/esm/cli/service/service-import.js +0 -47
- 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 -13
- package/esm/cli/service/service.js.map +0 -1
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +0 -1
- package/esm/cli/theme/theme-delete.js +0 -40
- package/esm/cli/theme/theme-delete.js.map +0 -1
- package/esm/cli/theme/theme-export.js +0 -45
- package/esm/cli/theme/theme-export.js.map +0 -1
- package/esm/cli/theme/theme-import.js +0 -50
- package/esm/cli/theme/theme-import.js.map +0 -1
- package/esm/cli/theme/theme-list.e2e.test_.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 -13
- 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/AdminFederationOps.js +0 -216
- package/esm/ops/AdminFederationOps.js.map +0 -1
- package/esm/ops/AgentOps.js +0 -691
- package/esm/ops/AgentOps.js.map +0 -1
- package/esm/ops/CirclesOfTrustOps.js +0 -260
- package/esm/ops/CirclesOfTrustOps.js.map +0 -1
- package/esm/ops/ConnectionProfileOps.js +0 -125
- package/esm/ops/ConnectionProfileOps.js.map +0 -1
- package/esm/ops/EmailTemplateOps.js +0 -361
- package/esm/ops/EmailTemplateOps.js.map +0 -1
- package/esm/ops/IdmOps.js +0 -360
- package/esm/ops/IdmOps.js.map +0 -1
- package/esm/ops/IdpOps.js +0 -212
- package/esm/ops/IdpOps.js.map +0 -1
- package/esm/ops/JourneyOps.js +0 -669
- package/esm/ops/JourneyOps.js.map +0 -1
- package/esm/ops/LogOps.js +0 -149
- package/esm/ops/LogOps.js.map +0 -1
- package/esm/ops/NodeOps.js +0 -89
- package/esm/ops/NodeOps.js.map +0 -1
- package/esm/ops/OAuth2ClientOps.js +0 -271
- package/esm/ops/OAuth2ClientOps.js.map +0 -1
- package/esm/ops/OrganizationOps.js +0 -34
- package/esm/ops/OrganizationOps.js.map +0 -1
- package/esm/ops/PolicyOps.js +0 -493
- package/esm/ops/PolicyOps.js.map +0 -1
- package/esm/ops/PolicySetOps.js +0 -379
- 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 -452
- package/esm/ops/ResourceTypeOps.js.map +0 -1
- package/esm/ops/Saml2Ops.js +0 -293
- package/esm/ops/Saml2Ops.js.map +0 -1
- package/esm/ops/Saml2Ops.test_.js.map +0 -1
- package/esm/ops/ScriptOps.js +0 -383
- package/esm/ops/ScriptOps.js.map +0 -1
- package/esm/ops/SecretsOps.js +0 -237
- package/esm/ops/SecretsOps.js.map +0 -1
- package/esm/ops/ServiceOps.js +0 -213
- package/esm/ops/ServiceOps.js.map +0 -1
- package/esm/ops/ThemeOps.js +0 -361
- package/esm/ops/ThemeOps.js.map +0 -1
- package/esm/ops/VariablesOps.js +0 -144
- package/esm/ops/VariablesOps.js.map +0 -1
- 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 -43
- package/esm/utils/Config.js.map +0 -1
- package/esm/utils/Console.js +0 -537
- package/esm/utils/Console.js.map +0 -1
- package/esm/utils/ExportImportUtils.js +0 -93
- package/esm/utils/ExportImportUtils.js.map +0 -1
- package/esm/utils/Version.js +0 -139
- package/esm/utils/Version.js.map +0 -1
package/esm/ops/PolicySetOps.js
DELETED
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
import { frodo, state } from '@rockcarver/frodo-lib';
|
|
2
|
-
import fs from 'fs';
|
|
3
|
-
import { createObjectTable, createProgressBar, debugMessage, failSpinner, printMessage, showSpinner, stopProgressBar, succeedSpinner, updateProgressBar } from '../utils/Console';
|
|
4
|
-
import { getTypedFilename, saveJsonToFile, titleCase } from '../utils/ExportImportUtils';
|
|
5
|
-
const {
|
|
6
|
-
getRealmName
|
|
7
|
-
} = frodo.helper.utils;
|
|
8
|
-
const {
|
|
9
|
-
getPoliciesByPolicySet,
|
|
10
|
-
deletePolicy
|
|
11
|
-
} = frodo.authz.policy;
|
|
12
|
-
const {
|
|
13
|
-
getPolicySets,
|
|
14
|
-
getPolicySet,
|
|
15
|
-
exportPolicySet,
|
|
16
|
-
exportPolicySets,
|
|
17
|
-
importPolicySet,
|
|
18
|
-
importFirstPolicySet,
|
|
19
|
-
importPolicySets
|
|
20
|
-
} = frodo.authz.policySet;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* List policy sets
|
|
24
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
25
|
-
*/
|
|
26
|
-
export async function listPolicySets() {
|
|
27
|
-
let outcome = false;
|
|
28
|
-
try {
|
|
29
|
-
const policySets = await getPolicySets();
|
|
30
|
-
policySets.sort((a, b) => a.name.localeCompare(b.name));
|
|
31
|
-
for (const policySet of policySets) {
|
|
32
|
-
printMessage(`${policySet.name}`, 'data');
|
|
33
|
-
}
|
|
34
|
-
outcome = true;
|
|
35
|
-
} catch (err) {
|
|
36
|
-
printMessage(`listPolicySets ERROR: ${err.message}`, 'error');
|
|
37
|
-
printMessage(err, 'error');
|
|
38
|
-
}
|
|
39
|
-
return outcome;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Describe policy set
|
|
44
|
-
* @param {string} policySetId policy set id/name
|
|
45
|
-
* @param {Object} json JSON output
|
|
46
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
47
|
-
*/
|
|
48
|
-
export async function describePolicySet(policySetId, json = false) {
|
|
49
|
-
let outcome = false;
|
|
50
|
-
const policySet = await getPolicySet(policySetId);
|
|
51
|
-
outcome = true;
|
|
52
|
-
if (json) {
|
|
53
|
-
printMessage(policySet, 'data');
|
|
54
|
-
} else {
|
|
55
|
-
const table = createObjectTable(policySet);
|
|
56
|
-
printMessage(table.toString(), 'data');
|
|
57
|
-
}
|
|
58
|
-
return outcome;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Delete policy set
|
|
63
|
-
* @param {string} policySetId policy set id/name
|
|
64
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
65
|
-
*/
|
|
66
|
-
export async function deletePolicySet(policySetId) {
|
|
67
|
-
debugMessage(`cli.PolicySetOps.deletePolicySet: begin`);
|
|
68
|
-
showSpinner(`Deleting ${policySetId}...`);
|
|
69
|
-
let outcome = false;
|
|
70
|
-
const errors = [];
|
|
71
|
-
const policies = await getPoliciesByPolicySet(policySetId);
|
|
72
|
-
for (const policy of policies) {
|
|
73
|
-
try {
|
|
74
|
-
debugMessage(`Deleting policy ${policy._id}`);
|
|
75
|
-
await deletePolicy(policy._id);
|
|
76
|
-
} catch (error) {
|
|
77
|
-
error.message = `Error deleting policy ${policy._id} in policy set ${policySetId}: ${error}`;
|
|
78
|
-
printMessage(error.message, 'error');
|
|
79
|
-
errors.push(error);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
try {
|
|
83
|
-
debugMessage(`Deleting policy set ${policySetId}`);
|
|
84
|
-
await deletePolicySet(policySetId);
|
|
85
|
-
} catch (error) {
|
|
86
|
-
printMessage(`Error deleting policy set ${policySetId}: ${error}`, 'error');
|
|
87
|
-
}
|
|
88
|
-
if (errors.length) {
|
|
89
|
-
const errorMessages = errors.map(error => error.message).join('\n');
|
|
90
|
-
failSpinner(`Error deleting ${policySetId}: ${errorMessages}`);
|
|
91
|
-
} else {
|
|
92
|
-
succeedSpinner(`Deleted ${policySetId}.`);
|
|
93
|
-
outcome = true;
|
|
94
|
-
}
|
|
95
|
-
debugMessage(`cli.PolicySetOps.deletePolicySet: end [outcome=${outcome}]`);
|
|
96
|
-
return outcome;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Delete all policy sets
|
|
101
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
102
|
-
*/
|
|
103
|
-
export async function deletePolicySets() {
|
|
104
|
-
debugMessage(`cli.PolicySetOps.deletePolicySets: begin`);
|
|
105
|
-
let outcome = false;
|
|
106
|
-
const errors = [];
|
|
107
|
-
let policySets = [];
|
|
108
|
-
try {
|
|
109
|
-
showSpinner(`Retrieving all policy sets...`);
|
|
110
|
-
try {
|
|
111
|
-
policySets = await getPolicySets();
|
|
112
|
-
succeedSpinner(`Found ${policySets.length} policy sets.`);
|
|
113
|
-
} catch (error) {
|
|
114
|
-
error.message = `Error retrieving all policy sets: ${error.message}`;
|
|
115
|
-
failSpinner(error.message);
|
|
116
|
-
throw error;
|
|
117
|
-
}
|
|
118
|
-
if (policySets.length) createProgressBar(policySets.length, `Deleting ${policySets.length} policy sets...`);
|
|
119
|
-
for (const policySet of policySets) {
|
|
120
|
-
const policySetId = policySet.name;
|
|
121
|
-
try {
|
|
122
|
-
const policies = await getPoliciesByPolicySet(policySetId);
|
|
123
|
-
for (const policy of policies) {
|
|
124
|
-
try {
|
|
125
|
-
debugMessage(`Deleting policy ${policy._id}`);
|
|
126
|
-
await deletePolicy(policy._id);
|
|
127
|
-
} catch (error) {
|
|
128
|
-
error.message = `Error deleting policy ${policy._id} in policy set ${policySetId}: ${error}`;
|
|
129
|
-
printMessage(error.message, 'error');
|
|
130
|
-
errors.push(error);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
} catch (error) {
|
|
134
|
-
errors.push(error);
|
|
135
|
-
}
|
|
136
|
-
try {
|
|
137
|
-
debugMessage(`Deleting policy set ${policySetId}`);
|
|
138
|
-
await deletePolicySet(policySetId);
|
|
139
|
-
updateProgressBar(`Deleted ${policySetId}`);
|
|
140
|
-
} catch (error) {
|
|
141
|
-
error.message = `Error deleting policy set ${policySetId}: ${error}`;
|
|
142
|
-
updateProgressBar(error.message);
|
|
143
|
-
errors.push(error);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
} catch (error) {
|
|
147
|
-
error.message = `Error deleting policy sets: ${error}`;
|
|
148
|
-
errors.push(error);
|
|
149
|
-
} finally {
|
|
150
|
-
if (errors.length) {
|
|
151
|
-
const errorMessages = errors.map(error => error.message).join('\n');
|
|
152
|
-
if (policySets.length) stopProgressBar(`Error deleting all policy sets: ${errorMessages}`);
|
|
153
|
-
} else {
|
|
154
|
-
if (policySets.length) stopProgressBar(`Deleted ${policySets.length} policy sets.`);
|
|
155
|
-
outcome = true;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
debugMessage(`cli.PolicySetOps.deletePolicySets: end [outcome=${outcome}]`);
|
|
159
|
-
return outcome;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Export policy set to file
|
|
164
|
-
* @param {string} policySetId policy set id/name
|
|
165
|
-
* @param {string} file file name
|
|
166
|
-
* @param {PolicySetExportOptions} options export options
|
|
167
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
168
|
-
*/
|
|
169
|
-
export async function exportPolicySetToFile(policySetId, file, options = {
|
|
170
|
-
deps: true,
|
|
171
|
-
prereqs: false,
|
|
172
|
-
useStringArrays: true
|
|
173
|
-
}) {
|
|
174
|
-
let outcome = false;
|
|
175
|
-
debugMessage(`cli.PolicySetOps.exportPolicySetToFile: begin`);
|
|
176
|
-
showSpinner(`Exporting ${policySetId}...`);
|
|
177
|
-
try {
|
|
178
|
-
let fileName = getTypedFilename(policySetId, 'policyset.authz');
|
|
179
|
-
if (file) {
|
|
180
|
-
fileName = file;
|
|
181
|
-
}
|
|
182
|
-
const exportData = await exportPolicySet(policySetId, options);
|
|
183
|
-
saveJsonToFile(exportData, fileName);
|
|
184
|
-
succeedSpinner(`Exported ${policySetId} to ${fileName}.`);
|
|
185
|
-
outcome = true;
|
|
186
|
-
} catch (error) {
|
|
187
|
-
failSpinner(`Error exporting ${policySetId}: ${error.message}`);
|
|
188
|
-
}
|
|
189
|
-
debugMessage(`cli.PolicySetOps.exportPolicySetToFile: end`);
|
|
190
|
-
return outcome;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Export policy sets to file
|
|
195
|
-
* @param {string} file file name
|
|
196
|
-
* @param {PolicySetExportOptions} options export options
|
|
197
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
198
|
-
*/
|
|
199
|
-
export async function exportPolicySetsToFile(file, options = {
|
|
200
|
-
deps: true,
|
|
201
|
-
prereqs: false,
|
|
202
|
-
useStringArrays: true
|
|
203
|
-
}) {
|
|
204
|
-
let outcome = false;
|
|
205
|
-
debugMessage(`cli.PolicySetOps.exportPolicySetsToFile: begin`);
|
|
206
|
-
showSpinner(`Exporting all policy sets...`);
|
|
207
|
-
try {
|
|
208
|
-
let fileName = getTypedFilename(`all${titleCase(getRealmName(state.getRealm()))}PolicySets`, 'policyset.authz');
|
|
209
|
-
if (file) {
|
|
210
|
-
fileName = file;
|
|
211
|
-
}
|
|
212
|
-
const exportData = await exportPolicySets(options);
|
|
213
|
-
saveJsonToFile(exportData, fileName);
|
|
214
|
-
succeedSpinner(`Exported all policy sets to ${fileName}.`);
|
|
215
|
-
outcome = true;
|
|
216
|
-
} catch (error) {
|
|
217
|
-
failSpinner(`Error exporting policy sets: ${error.message}`);
|
|
218
|
-
}
|
|
219
|
-
debugMessage(`cli.PolicySetOps.exportPolicySetsToFile: end`);
|
|
220
|
-
return outcome;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Export all policy sets to separate files
|
|
225
|
-
* @param {PolicySetExportOptions} options export options
|
|
226
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
227
|
-
*/
|
|
228
|
-
export async function exportPolicySetsToFiles(options = {
|
|
229
|
-
deps: true,
|
|
230
|
-
prereqs: false,
|
|
231
|
-
useStringArrays: true
|
|
232
|
-
}) {
|
|
233
|
-
debugMessage(`cli.PolicySetOps.exportPolicySetsToFiles: begin`);
|
|
234
|
-
const errors = [];
|
|
235
|
-
try {
|
|
236
|
-
const policySets = await getPolicySets();
|
|
237
|
-
createProgressBar(policySets.length, 'Exporting policy sets...');
|
|
238
|
-
for (const policySet of policySets) {
|
|
239
|
-
const file = getTypedFilename(policySet.name, 'policyset.authz');
|
|
240
|
-
try {
|
|
241
|
-
const exportData = await exportPolicySet(policySet.name, options);
|
|
242
|
-
saveJsonToFile(exportData, file);
|
|
243
|
-
updateProgressBar(`Exported ${policySet.name}.`);
|
|
244
|
-
} catch (error) {
|
|
245
|
-
errors.push(error);
|
|
246
|
-
updateProgressBar(`Error exporting ${policySet.name}.`);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
stopProgressBar(`Export complete.`);
|
|
250
|
-
} catch (error) {
|
|
251
|
-
errors.push(error);
|
|
252
|
-
stopProgressBar(`Error exporting policy sets to files`);
|
|
253
|
-
}
|
|
254
|
-
debugMessage(`cli.PolicySetOps.exportPolicySetsToFiles: end`);
|
|
255
|
-
return 0 === errors.length;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
/**
|
|
259
|
-
* Import policy set from file
|
|
260
|
-
* @param {string} policySetId policy set id/name
|
|
261
|
-
* @param {string} file file name
|
|
262
|
-
* @param {PolicySetImportOptions} options import options
|
|
263
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
264
|
-
*/
|
|
265
|
-
export async function importPolicySetFromFile(policySetId, file, options = {
|
|
266
|
-
deps: true,
|
|
267
|
-
prereqs: false
|
|
268
|
-
}) {
|
|
269
|
-
let outcome = false;
|
|
270
|
-
debugMessage(`cli.PolicySetOps.importPolicySetFromFile: begin`);
|
|
271
|
-
showSpinner(`Importing ${policySetId}...`);
|
|
272
|
-
try {
|
|
273
|
-
const data = fs.readFileSync(file, 'utf8');
|
|
274
|
-
const fileData = JSON.parse(data);
|
|
275
|
-
await importPolicySet(policySetId, fileData, options);
|
|
276
|
-
outcome = true;
|
|
277
|
-
succeedSpinner(`Imported ${policySetId}.`);
|
|
278
|
-
} catch (error) {
|
|
279
|
-
failSpinner(`Error importing ${policySetId}.`);
|
|
280
|
-
printMessage(error, 'error');
|
|
281
|
-
}
|
|
282
|
-
debugMessage(`cli.PolicySetOps.importPolicySetFromFile: end`);
|
|
283
|
-
return outcome;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* Import first policy set from file
|
|
288
|
-
* @param {string} file file name
|
|
289
|
-
* @param {PolicySetImportOptions} options import options
|
|
290
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
291
|
-
*/
|
|
292
|
-
export async function importFirstPolicySetFromFile(file, options = {
|
|
293
|
-
deps: true,
|
|
294
|
-
prereqs: false
|
|
295
|
-
}) {
|
|
296
|
-
let outcome = false;
|
|
297
|
-
debugMessage(`cli.PolicySetOps.importFirstPolicySetFromFile: begin`);
|
|
298
|
-
showSpinner(`Importing ${file}...`);
|
|
299
|
-
try {
|
|
300
|
-
const data = fs.readFileSync(file, 'utf8');
|
|
301
|
-
const fileData = JSON.parse(data);
|
|
302
|
-
await importFirstPolicySet(fileData, options);
|
|
303
|
-
outcome = true;
|
|
304
|
-
succeedSpinner(`Imported ${file}.`);
|
|
305
|
-
} catch (error) {
|
|
306
|
-
failSpinner(`Error importing ${file}.`);
|
|
307
|
-
printMessage(error, 'error');
|
|
308
|
-
}
|
|
309
|
-
debugMessage(`cli.PolicySetOps.importFirstPolicySetFromFile: end`);
|
|
310
|
-
return outcome;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Import policy sets from file
|
|
315
|
-
* @param {string} file file name
|
|
316
|
-
* @param {PolicySetImportOptions} options import options
|
|
317
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
318
|
-
*/
|
|
319
|
-
export async function importPolicySetsFromFile(file, options = {
|
|
320
|
-
deps: true,
|
|
321
|
-
prereqs: false
|
|
322
|
-
}) {
|
|
323
|
-
let outcome = false;
|
|
324
|
-
debugMessage(`cli.PolicySetOps.importPolicySetsFromFile: begin`);
|
|
325
|
-
showSpinner(`Importing ${file}...`);
|
|
326
|
-
try {
|
|
327
|
-
const data = fs.readFileSync(file, 'utf8');
|
|
328
|
-
const fileData = JSON.parse(data);
|
|
329
|
-
await importPolicySets(fileData, options);
|
|
330
|
-
outcome = true;
|
|
331
|
-
succeedSpinner(`Imported ${file}.`);
|
|
332
|
-
} catch (error) {
|
|
333
|
-
failSpinner(`Error importing ${file}.`);
|
|
334
|
-
printMessage(error, 'error');
|
|
335
|
-
}
|
|
336
|
-
debugMessage(`cli.PolicySetOps.importPolicySetsFromFile: end`);
|
|
337
|
-
return outcome;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
/**
|
|
341
|
-
* Import policy sets from files
|
|
342
|
-
* @param {OAuth2ClientImportOptions} options import options
|
|
343
|
-
* @returns {Promise<boolean>} true if successful, false otherwise
|
|
344
|
-
*/
|
|
345
|
-
export async function importPolicySetsFromFiles(options = {
|
|
346
|
-
deps: true,
|
|
347
|
-
prereqs: false
|
|
348
|
-
}) {
|
|
349
|
-
const errors = [];
|
|
350
|
-
try {
|
|
351
|
-
debugMessage(`cli.PolicySetOps.importPolicySetsFromFiles: begin`);
|
|
352
|
-
const names = fs.readdirSync('.');
|
|
353
|
-
const files = names.filter(name => name.toLowerCase().endsWith('.policyset.authz.json'));
|
|
354
|
-
createProgressBar(files.length, 'Importing policy sets...');
|
|
355
|
-
let total = 0;
|
|
356
|
-
for (const file of files) {
|
|
357
|
-
try {
|
|
358
|
-
const data = fs.readFileSync(file, 'utf8');
|
|
359
|
-
const fileData = JSON.parse(data);
|
|
360
|
-
const count = Object.keys(fileData.policyset).length;
|
|
361
|
-
total += count;
|
|
362
|
-
await importPolicySets(fileData, options);
|
|
363
|
-
updateProgressBar(`Imported ${count} policy sets from ${file}`);
|
|
364
|
-
} catch (error) {
|
|
365
|
-
errors.push(error);
|
|
366
|
-
updateProgressBar(`Error importing policy sets from ${file}`);
|
|
367
|
-
printMessage(error, 'error');
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
stopProgressBar(`Finished importing ${total} policy sets from ${files.length} files.`);
|
|
371
|
-
} catch (error) {
|
|
372
|
-
errors.push(error);
|
|
373
|
-
stopProgressBar(`Error importing policy sets from files.`);
|
|
374
|
-
printMessage(error, 'error');
|
|
375
|
-
}
|
|
376
|
-
debugMessage(`cli.PolicySetOps.importPolicySetsFromFiles: end`);
|
|
377
|
-
return 0 === errors.length;
|
|
378
|
-
}
|
|
379
|
-
//# sourceMappingURL=PolicySetOps.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PolicySetOps.js","names":["frodo","state","fs","createObjectTable","createProgressBar","debugMessage","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","getTypedFilename","saveJsonToFile","titleCase","getRealmName","helper","utils","getPoliciesByPolicySet","deletePolicy","authz","policy","getPolicySets","getPolicySet","exportPolicySet","exportPolicySets","importPolicySet","importFirstPolicySet","importPolicySets","policySet","listPolicySets","outcome","policySets","sort","a","b","name","localeCompare","err","message","describePolicySet","policySetId","json","table","toString","deletePolicySet","errors","policies","_id","error","push","length","errorMessages","map","join","deletePolicySets","exportPolicySetToFile","file","options","deps","prereqs","useStringArrays","fileName","exportData","exportPolicySetsToFile","getRealm","exportPolicySetsToFiles","importPolicySetFromFile","data","readFileSync","fileData","JSON","parse","importFirstPolicySetFromFile","importPolicySetsFromFile","importPolicySetsFromFiles","names","readdirSync","files","filter","toLowerCase","endsWith","total","count","Object","keys","policyset"],"sources":["../../src/ops/PolicySetOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport type {\n PolicySetSkeleton,\n PolicySkeleton,\n} from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport {\n createObjectTable,\n createProgressBar,\n debugMessage,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport {\n getTypedFilename,\n saveJsonToFile,\n titleCase,\n} from '../utils/ExportImportUtils';\nimport {\n PolicySetExportInterface,\n PolicySetExportOptions,\n PolicySetImportOptions,\n} from '@rockcarver/frodo-lib/types/ops/PolicySetOps';\n\nconst { getRealmName } = frodo.helper.utils;\nconst { getPoliciesByPolicySet, deletePolicy } = frodo.authz.policy;\nconst {\n getPolicySets,\n getPolicySet,\n exportPolicySet,\n exportPolicySets,\n importPolicySet,\n importFirstPolicySet,\n importPolicySets,\n} = frodo.authz.policySet;\n\n/**\n * List policy sets\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function listPolicySets(): Promise<boolean> {\n let outcome = false;\n try {\n const policySets = await getPolicySets();\n policySets.sort((a, b) => a.name.localeCompare(b.name));\n for (const policySet of policySets) {\n printMessage(`${policySet.name}`, 'data');\n }\n outcome = true;\n } catch (err) {\n printMessage(`listPolicySets ERROR: ${err.message}`, 'error');\n printMessage(err, 'error');\n }\n return outcome;\n}\n\n/**\n * Describe policy set\n * @param {string} policySetId policy set id/name\n * @param {Object} json JSON output\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function describePolicySet(\n policySetId: string,\n json = false\n): Promise<boolean> {\n let outcome = false;\n const policySet = await getPolicySet(policySetId);\n outcome = true;\n if (json) {\n printMessage(policySet, 'data');\n } else {\n const table = createObjectTable(policySet);\n printMessage(table.toString(), 'data');\n }\n return outcome;\n}\n\n/**\n * Delete policy set\n * @param {string} policySetId policy set id/name\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicySet(policySetId: string): Promise<boolean> {\n debugMessage(`cli.PolicySetOps.deletePolicySet: begin`);\n showSpinner(`Deleting ${policySetId}...`);\n let outcome = false;\n const errors = [];\n const policies: PolicySkeleton[] = await getPoliciesByPolicySet(policySetId);\n for (const policy of policies) {\n try {\n debugMessage(`Deleting policy ${policy._id}`);\n await deletePolicy(policy._id);\n } catch (error) {\n error.message = `Error deleting policy ${policy._id} in policy set ${policySetId}: ${error}`;\n printMessage(error.message, 'error');\n errors.push(error);\n }\n }\n try {\n debugMessage(`Deleting policy set ${policySetId}`);\n await deletePolicySet(policySetId);\n } catch (error) {\n printMessage(`Error deleting policy set ${policySetId}: ${error}`, 'error');\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n failSpinner(`Error deleting ${policySetId}: ${errorMessages}`);\n } else {\n succeedSpinner(`Deleted ${policySetId}.`);\n outcome = true;\n }\n debugMessage(`cli.PolicySetOps.deletePolicySet: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Delete all policy sets\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function deletePolicySets(): Promise<boolean> {\n debugMessage(`cli.PolicySetOps.deletePolicySets: begin`);\n let outcome = false;\n const errors = [];\n let policySets: PolicySetSkeleton[] = [];\n try {\n showSpinner(`Retrieving all policy sets...`);\n try {\n policySets = await getPolicySets();\n succeedSpinner(`Found ${policySets.length} policy sets.`);\n } catch (error) {\n error.message = `Error retrieving all policy sets: ${error.message}`;\n failSpinner(error.message);\n throw error;\n }\n if (policySets.length)\n createProgressBar(\n policySets.length,\n `Deleting ${policySets.length} policy sets...`\n );\n for (const policySet of policySets) {\n const policySetId = policySet.name;\n try {\n const policies: PolicySkeleton[] = await getPoliciesByPolicySet(\n policySetId\n );\n for (const policy of policies) {\n try {\n debugMessage(`Deleting policy ${policy._id}`);\n await deletePolicy(policy._id);\n } catch (error) {\n error.message = `Error deleting policy ${policy._id} in policy set ${policySetId}: ${error}`;\n printMessage(error.message, 'error');\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n try {\n debugMessage(`Deleting policy set ${policySetId}`);\n await deletePolicySet(policySetId);\n updateProgressBar(`Deleted ${policySetId}`);\n } catch (error) {\n error.message = `Error deleting policy set ${policySetId}: ${error}`;\n updateProgressBar(error.message);\n errors.push(error);\n }\n }\n } catch (error) {\n error.message = `Error deleting policy sets: ${error}`;\n errors.push(error);\n } finally {\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n if (policySets.length)\n stopProgressBar(`Error deleting all policy sets: ${errorMessages}`);\n } else {\n if (policySets.length)\n stopProgressBar(`Deleted ${policySets.length} policy sets.`);\n outcome = true;\n }\n }\n debugMessage(`cli.PolicySetOps.deletePolicySets: end [outcome=${outcome}]`);\n return outcome;\n}\n\n/**\n * Export policy set to file\n * @param {string} policySetId policy set id/name\n * @param {string} file file name\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicySetToFile(\n policySetId: string,\n file: string,\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.exportPolicySetToFile: begin`);\n showSpinner(`Exporting ${policySetId}...`);\n try {\n let fileName = getTypedFilename(policySetId, 'policyset.authz');\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicySet(policySetId, options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported ${policySetId} to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting ${policySetId}: ${error.message}`);\n }\n debugMessage(`cli.PolicySetOps.exportPolicySetToFile: end`);\n return outcome;\n}\n\n/**\n * Export policy sets to file\n * @param {string} file file name\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicySetsToFile(\n file: string,\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFile: begin`);\n showSpinner(`Exporting all policy sets...`);\n try {\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}PolicySets`,\n 'policyset.authz'\n );\n if (file) {\n fileName = file;\n }\n const exportData = await exportPolicySets(options);\n saveJsonToFile(exportData, fileName);\n succeedSpinner(`Exported all policy sets to ${fileName}.`);\n outcome = true;\n } catch (error) {\n failSpinner(`Error exporting policy sets: ${error.message}`);\n }\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFile: end`);\n return outcome;\n}\n\n/**\n * Export all policy sets to separate files\n * @param {PolicySetExportOptions} options export options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function exportPolicySetsToFiles(\n options: PolicySetExportOptions = {\n deps: true,\n prereqs: false,\n useStringArrays: true,\n }\n): Promise<boolean> {\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFiles: begin`);\n const errors = [];\n try {\n const policySets: PolicySetSkeleton[] = await getPolicySets();\n createProgressBar(policySets.length, 'Exporting policy sets...');\n for (const policySet of policySets) {\n const file = getTypedFilename(policySet.name, 'policyset.authz');\n try {\n const exportData: PolicySetExportInterface = await exportPolicySet(\n policySet.name,\n options\n );\n saveJsonToFile(exportData, file);\n updateProgressBar(`Exported ${policySet.name}.`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error exporting ${policySet.name}.`);\n }\n }\n stopProgressBar(`Export complete.`);\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error exporting policy sets to files`);\n }\n debugMessage(`cli.PolicySetOps.exportPolicySetsToFiles: end`);\n return 0 === errors.length;\n}\n\n/**\n * Import policy set from file\n * @param {string} policySetId policy set id/name\n * @param {string} file file name\n * @param {PolicySetImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicySetFromFile(\n policySetId: string,\n file: string,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importPolicySetFromFile: begin`);\n showSpinner(`Importing ${policySetId}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicySet(policySetId, fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${policySetId}.`);\n } catch (error) {\n failSpinner(`Error importing ${policySetId}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importPolicySetFromFile: end`);\n return outcome;\n}\n\n/**\n * Import first policy set from file\n * @param {string} file file name\n * @param {PolicySetImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importFirstPolicySetFromFile(\n file: string,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importFirstPolicySetFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importFirstPolicySet(fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${file}.`);\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importFirstPolicySetFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policy sets from file\n * @param {string} file file name\n * @param {PolicySetImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicySetsFromFile(\n file: string,\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n let outcome = false;\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFile: begin`);\n showSpinner(`Importing ${file}...`);\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData = JSON.parse(data);\n await importPolicySets(fileData, options);\n outcome = true;\n succeedSpinner(`Imported ${file}.`);\n } catch (error) {\n failSpinner(`Error importing ${file}.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFile: end`);\n return outcome;\n}\n\n/**\n * Import policy sets from files\n * @param {OAuth2ClientImportOptions} options import options\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function importPolicySetsFromFiles(\n options: PolicySetImportOptions = { deps: true, prereqs: false }\n): Promise<boolean> {\n const errors = [];\n try {\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFiles: begin`);\n const names = fs.readdirSync('.');\n const files = names.filter((name) =>\n name.toLowerCase().endsWith('.policyset.authz.json')\n );\n createProgressBar(files.length, 'Importing policy sets...');\n let total = 0;\n for (const file of files) {\n try {\n const data = fs.readFileSync(file, 'utf8');\n const fileData: PolicySetExportInterface = JSON.parse(data);\n const count = Object.keys(fileData.policyset).length;\n total += count;\n await importPolicySets(fileData, options);\n updateProgressBar(`Imported ${count} policy sets from ${file}`);\n } catch (error) {\n errors.push(error);\n updateProgressBar(`Error importing policy sets from ${file}`);\n printMessage(error, 'error');\n }\n }\n stopProgressBar(\n `Finished importing ${total} policy sets from ${files.length} files.`\n );\n } catch (error) {\n errors.push(error);\n stopProgressBar(`Error importing policy sets from files.`);\n printMessage(error, 'error');\n }\n debugMessage(`cli.PolicySetOps.importPolicySetsFromFiles: end`);\n return 0 === errors.length;\n}\n"],"mappings":"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"}
|
package/esm/ops/RealmOps.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
|
-
import { createKeyValueTable, createTable, printMessage } from '../utils/Console';
|
|
3
|
-
const {
|
|
4
|
-
getRealms,
|
|
5
|
-
getRealmByName,
|
|
6
|
-
putRealm
|
|
7
|
-
} = frodo.realm;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* List realms
|
|
11
|
-
* @param {boolean} long Long list format with details
|
|
12
|
-
*/
|
|
13
|
-
export async function listRealms(long = false) {
|
|
14
|
-
try {
|
|
15
|
-
const realms = (await getRealms()).result;
|
|
16
|
-
if (long) {
|
|
17
|
-
const table = createTable(['Name'['brightCyan'], 'Status'['brightCyan'], 'Custom Domains'['brightCyan'], 'Parent'['brightCyan']]);
|
|
18
|
-
realms.forEach(realmConfig => {
|
|
19
|
-
table.push([realmConfig.name, realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed'], realmConfig.aliases.join('\n'), realmConfig.parentPath]);
|
|
20
|
-
});
|
|
21
|
-
printMessage(table.toString());
|
|
22
|
-
} else {
|
|
23
|
-
realms.forEach(realmConfig => {
|
|
24
|
-
printMessage(realmConfig.name, 'info');
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
} catch (error) {
|
|
28
|
-
var _error$response;
|
|
29
|
-
printMessage(error, 'error');
|
|
30
|
-
printMessage(`Error listing realms: ${error.rmessage}`, 'error');
|
|
31
|
-
printMessage((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data, 'error');
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Describe realm
|
|
37
|
-
* @param {String} realm realm name
|
|
38
|
-
*/
|
|
39
|
-
export async function describeRealm(realm) {
|
|
40
|
-
try {
|
|
41
|
-
const realmConfig = await getRealmByName(realm);
|
|
42
|
-
const table = createKeyValueTable();
|
|
43
|
-
table.push(['Name'['brightCyan'], realmConfig.name]);
|
|
44
|
-
table.push(['Status'['brightCyan'], realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed']]);
|
|
45
|
-
table.push(['Custom Domains'['brightCyan'], realmConfig.aliases.join('\n')]);
|
|
46
|
-
table.push(['Parent'['brightCyan'], realmConfig.parentPath]);
|
|
47
|
-
table.push(['Id'['brightCyan'], realmConfig._id]);
|
|
48
|
-
printMessage(table.toString());
|
|
49
|
-
} catch (error) {
|
|
50
|
-
printMessage(`Realm ${realm} not found!`, 'error');
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Add custom DNS domain name (realm DNS alias)
|
|
56
|
-
* @param {String} realm realm name
|
|
57
|
-
* @param {String} domain domain name
|
|
58
|
-
*/
|
|
59
|
-
export async function addCustomDomain(realm, domain) {
|
|
60
|
-
try {
|
|
61
|
-
let realmConfig = await getRealmByName(realm);
|
|
62
|
-
let exists = false;
|
|
63
|
-
realmConfig.aliases.forEach(alias => {
|
|
64
|
-
if (domain.toLowerCase() === alias.toLowerCase()) {
|
|
65
|
-
exists = true;
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
if (!exists) {
|
|
69
|
-
try {
|
|
70
|
-
realmConfig.aliases.push(domain.toLowerCase());
|
|
71
|
-
realmConfig = await putRealm(realmConfig._id, realmConfig);
|
|
72
|
-
const table = createKeyValueTable();
|
|
73
|
-
table.push(['Name'['brightCyan'], realmConfig.name]);
|
|
74
|
-
table.push(['Status'['brightCyan'], realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed']]);
|
|
75
|
-
table.push(['Custom Domains'['brightCyan'], realmConfig.aliases.join('\n')]);
|
|
76
|
-
table.push(['Parent'['brightCyan'], realmConfig.parentPath]);
|
|
77
|
-
table.push(['Id'['brightCyan'], realmConfig._id]);
|
|
78
|
-
printMessage(table.toString());
|
|
79
|
-
} catch (error) {
|
|
80
|
-
printMessage(`Error adding custom domain: ${error.message}`, 'error');
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
} catch (error) {
|
|
84
|
-
printMessage(`${error.message}`, 'error');
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Remove custom DNS domain name (realm DNS alias)
|
|
90
|
-
* @param {String} realm realm name
|
|
91
|
-
* @param {String} domain domain name
|
|
92
|
-
*/
|
|
93
|
-
export async function removeCustomDomain(realm, domain) {
|
|
94
|
-
try {
|
|
95
|
-
let realmConfig = await getRealmByName(realm);
|
|
96
|
-
const aliases = realmConfig.aliases.filter(alias => domain.toLowerCase() !== alias.toLowerCase());
|
|
97
|
-
if (aliases.length < realmConfig.aliases.length) {
|
|
98
|
-
try {
|
|
99
|
-
realmConfig.aliases = aliases;
|
|
100
|
-
realmConfig = await putRealm(realmConfig._id, realmConfig);
|
|
101
|
-
const table = createKeyValueTable();
|
|
102
|
-
table.push(['Name'['brightCyan'], realmConfig.name]);
|
|
103
|
-
table.push(['Status'['brightCyan'], realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed']]);
|
|
104
|
-
table.push(['Custom Domains'['brightCyan'], realmConfig.aliases.join('\n')]);
|
|
105
|
-
table.push(['Parent'['brightCyan'], realmConfig.parentPath]);
|
|
106
|
-
table.push(['Id'['brightCyan'], realmConfig._id]);
|
|
107
|
-
printMessage(table.toString());
|
|
108
|
-
} catch (error) {
|
|
109
|
-
printMessage(`Error removing custom domain: ${error.message}`, 'error');
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
} catch (error) {
|
|
113
|
-
printMessage(`${error.message}`, 'error');
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=RealmOps.js.map
|
package/esm/ops/RealmOps.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RealmOps.js","names":["frodo","createKeyValueTable","createTable","printMessage","getRealms","getRealmByName","putRealm","realm","listRealms","long","realms","result","table","forEach","realmConfig","push","name","active","aliases","join","parentPath","toString","error","_error$response","rmessage","response","data","describeRealm","_id","addCustomDomain","domain","exists","alias","toLowerCase","message","removeCustomDomain","filter","length"],"sources":["../../src/ops/RealmOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport {\n createKeyValueTable,\n createTable,\n printMessage,\n} from '../utils/Console';\n\nconst { getRealms, getRealmByName, putRealm } = frodo.realm;\n\n/**\n * List realms\n * @param {boolean} long Long list format with details\n */\nexport async function listRealms(long = false) {\n try {\n const realms = (await getRealms()).result;\n if (long) {\n const table = createTable([\n 'Name'['brightCyan'],\n 'Status'['brightCyan'],\n 'Custom Domains'['brightCyan'],\n 'Parent'['brightCyan'],\n ]);\n realms.forEach((realmConfig) => {\n table.push([\n realmConfig.name,\n realmConfig.active\n ? 'active'['brightGreen']\n : 'inactive'['brightRed'],\n realmConfig.aliases.join('\\n'),\n realmConfig.parentPath,\n ]);\n });\n printMessage(table.toString());\n } else {\n realms.forEach((realmConfig) => {\n printMessage(realmConfig.name, 'info');\n });\n }\n } catch (error) {\n printMessage(error, 'error');\n printMessage(`Error listing realms: ${error.rmessage}`, 'error');\n printMessage(error.response?.data, 'error');\n }\n}\n\n/**\n * Describe realm\n * @param {String} realm realm name\n */\nexport async function describeRealm(realm: string) {\n try {\n const realmConfig = await getRealmByName(realm);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], realmConfig.name]);\n table.push([\n 'Status'['brightCyan'],\n realmConfig.active ? 'active'['brightGreen'] : 'inactive'['brightRed'],\n ]);\n table.push([\n 'Custom Domains'['brightCyan'],\n realmConfig.aliases.join('\\n'),\n ]);\n table.push(['Parent'['brightCyan'], realmConfig.parentPath]);\n table.push(['Id'['brightCyan'], realmConfig._id]);\n printMessage(table.toString());\n } catch (error) {\n printMessage(`Realm ${realm} not found!`, 'error');\n }\n}\n\n/**\n * Add custom DNS domain name (realm DNS alias)\n * @param {String} realm realm name\n * @param {String} domain domain name\n */\nexport async function addCustomDomain(realm: string, domain: string) {\n try {\n let realmConfig = await getRealmByName(realm);\n let exists = false;\n realmConfig.aliases.forEach((alias) => {\n if (domain.toLowerCase() === alias.toLowerCase()) {\n exists = true;\n }\n });\n if (!exists) {\n try {\n realmConfig.aliases.push(domain.toLowerCase());\n realmConfig = await putRealm(realmConfig._id, realmConfig);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], realmConfig.name]);\n table.push([\n 'Status'['brightCyan'],\n realmConfig.active\n ? 'active'['brightGreen']\n : 'inactive'['brightRed'],\n ]);\n table.push([\n 'Custom Domains'['brightCyan'],\n realmConfig.aliases.join('\\n'),\n ]);\n table.push(['Parent'['brightCyan'], realmConfig.parentPath]);\n table.push(['Id'['brightCyan'], realmConfig._id]);\n printMessage(table.toString());\n } catch (error) {\n printMessage(`Error adding custom domain: ${error.message}`, 'error');\n }\n }\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n }\n}\n\n/**\n * Remove custom DNS domain name (realm DNS alias)\n * @param {String} realm realm name\n * @param {String} domain domain name\n */\nexport async function removeCustomDomain(realm: string, domain: string) {\n try {\n let realmConfig = await getRealmByName(realm);\n const aliases = realmConfig.aliases.filter(\n (alias) => domain.toLowerCase() !== alias.toLowerCase()\n );\n if (aliases.length < realmConfig.aliases.length) {\n try {\n realmConfig.aliases = aliases;\n realmConfig = await putRealm(realmConfig._id, realmConfig);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], realmConfig.name]);\n table.push([\n 'Status'['brightCyan'],\n realmConfig.active\n ? 'active'['brightGreen']\n : 'inactive'['brightRed'],\n ]);\n table.push([\n 'Custom Domains'['brightCyan'],\n realmConfig.aliases.join('\\n'),\n ]);\n table.push(['Parent'['brightCyan'], realmConfig.parentPath]);\n table.push(['Id'['brightCyan'], realmConfig._id]);\n printMessage(table.toString());\n } catch (error) {\n printMessage(`Error removing custom domain: ${error.message}`, 'error');\n }\n }\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n }\n}\n"],"mappings":"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"}
|