@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SecretsOps.js","names":["frodo","createKeyValueTable","createProgressBar","createTable","failSpinner","printMessage","showSpinner","stopProgressBar","succeedSpinner","updateProgressBar","wordwrap","resolveUserName","idm","managed","getSecrets","putSecret","getSecretVersions","getSecret","setStatusOfVersionOfSecret","createNewVersionOfSecret","_createNewVersionOfSecret","setSecretDescription","_setSecretDescription","deleteSecret","_deleteSecret","deleteVersionOfSecret","_deleteVersionOfSecret","cloud","secret","listSecrets","long","secrets","result","sort","a","b","_id","localeCompare","error","message","response","data","table","hAlign","content","push","activeVersion","loadedVersion","loaded","description","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","createSecret","id","value","encoding","useInPlaceholders","code","secretId","deleteSecrets","length","listSecretVersions","versions","statusMap","ENABLED","DISABLED","DESTROYED","version","status","createDate","describeSecret","activateVersionOfSecret","deactivateVersionOfSecret"],"sources":["../../src/ops/SecretsOps.ts"],"sourcesContent":["import { frodo } from '@rockcarver/frodo-lib';\nimport {\n createKeyValueTable,\n createProgressBar,\n createTable,\n failSpinner,\n printMessage,\n showSpinner,\n stopProgressBar,\n succeedSpinner,\n updateProgressBar,\n} from '../utils/Console';\nimport wordwrap from './utils/Wordwrap';\n\nconst { resolveUserName } = frodo.idm.managed;\nconst {\n getSecrets,\n putSecret,\n getSecretVersions,\n getSecret,\n setStatusOfVersionOfSecret,\n createNewVersionOfSecret: _createNewVersionOfSecret,\n setSecretDescription: _setSecretDescription,\n deleteSecret: _deleteSecret,\n deleteVersionOfSecret: _deleteVersionOfSecret,\n} = frodo.cloud.secret;\n\n/**\n * List secrets\n * @param {boolean} long Long version, all the fields\n */\nexport async function listSecrets(long) {\n let secrets = [];\n try {\n secrets = (await getSecrets()).result;\n secrets.sort((a, b) => a._id.localeCompare(b._id));\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n if (long) {\n const table = createTable([\n 'Id'['brightCyan'],\n { hAlign: 'right', content: 'Active\\nVersion'['brightCyan'] },\n { hAlign: 'right', content: 'Loaded\\nVersion'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Description'['brightCyan'],\n 'Modifier'['brightCyan'],\n 'Modified'['brightCyan'],\n ]);\n for (const secret of secrets) {\n table.push([\n secret._id,\n { hAlign: 'right', content: secret.activeVersion },\n { hAlign: 'right', content: secret.loadedVersion },\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n wordwrap(secret.description, 40),\n await resolveUserName('teammember', secret.lastChangedBy),\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString(), 'data');\n } else {\n secrets.forEach((secret) => {\n printMessage(secret._id, 'data');\n });\n }\n}\n\n/**\n * Create secret\n * @param {String} id secret id\n * @param {String} value secret value\n * @param {String} description secret description\n * @param {String} encoding secret encoding\n * @param {boolean} useInPlaceholders use secret in placeholders\n */\nexport async function createSecret(\n id,\n value,\n description,\n encoding,\n useInPlaceholders\n) {\n showSpinner(`Creating secret ${id}...`);\n try {\n await putSecret(id, value, description, encoding, useInPlaceholders);\n succeedSpinner(`Created secret ${id}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Set description of secret\n * @param {String} secretId secret id\n * @param {String} description secret description\n */\nexport async function setSecretDescription(secretId, description) {\n showSpinner(`Setting description of secret ${secretId}...`);\n try {\n await _setSecretDescription(secretId, description);\n succeedSpinner(`Set description of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete a secret\n * @param {String} secretId secret id\n */\nexport async function deleteSecret(secretId) {\n showSpinner(`Deleting secret ${secretId}...`);\n try {\n await _deleteSecret(secretId);\n succeedSpinner(`Deleted secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete all secrets\n */\nexport async function deleteSecrets() {\n try {\n const secrets = (await getSecrets()).result;\n createProgressBar(secrets.length, `Deleting secrets...`);\n for (const secret of secrets) {\n try {\n await _deleteSecret(secret._id);\n updateProgressBar(`Deleted secret ${secret._id}`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n }\n stopProgressBar(`Secrets deleted.`);\n } catch (error) {\n printMessage(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'error'\n );\n }\n}\n\n/**\n * List all the versions of the secret\n * @param {String} secretId secret id\n */\nexport async function listSecretVersions(secretId) {\n let versions = [];\n try {\n versions = await getSecretVersions(secretId);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.data, 'error');\n }\n const table = createTable([\n { hAlign: 'right', content: 'Version'['brightCyan'] },\n 'Status'['brightCyan'],\n 'Loaded'['brightCyan'],\n 'Created'['brightCyan'],\n ]);\n // versions.sort((a, b) => a._id.localeCompare(b._id));\n const statusMap = {\n ENABLED: 'active'['brightGreen'],\n DISABLED: 'inactive'['brightRed'],\n DESTROYED: 'deleted'['brightRed'],\n };\n for (const version of versions) {\n table.push([\n { hAlign: 'right', content: version.version },\n statusMap[version.status],\n version.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n new Date(version.createDate).toLocaleString(),\n ]);\n }\n printMessage(table.toString());\n}\n\n/**\n * Describe a secret\n * @param {String} secretId Secret id\n */\nexport async function describeSecret(secretId) {\n const secret = await getSecret(secretId);\n const table = createKeyValueTable();\n table.push(['Name'['brightCyan'], secret._id]);\n table.push(['Active Version'['brightCyan'], secret.activeVersion]);\n table.push(['Loaded Version'['brightCyan'], secret.loadedVersion]);\n table.push([\n 'Status'['brightCyan'],\n secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'],\n ]);\n table.push(['Description'['brightCyan'], wordwrap(secret.description, 60)]);\n table.push([\n 'Modified'['brightCyan'],\n new Date(secret.lastChangeDate).toLocaleString(),\n ]);\n table.push([\n 'Modifier'['brightCyan'],\n await resolveUserName('teammember', secret.lastChangedBy),\n ]);\n table.push(['Modifier UUID'['brightCyan'], secret.lastChangedBy]);\n table.push(['Encoding'['brightCyan'], secret.encoding]);\n table.push(['Use In Placeholders'['brightCyan'], secret.useInPlaceholders]);\n printMessage(table.toString());\n printMessage('\\nSecret Versions:');\n await listSecretVersions(secretId);\n}\n\n/**\n * Create new version of secret\n * @param {String} secretId secret id\n * @param {String} value secret value\n */\nexport async function createNewVersionOfSecret(secretId, value) {\n showSpinner(`Creating new version of secret ${secretId}...`);\n try {\n const version = await _createNewVersionOfSecret(secretId, value);\n succeedSpinner(`Created version ${version.version} of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Activate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function activateVersionOfSecret(secretId, version) {\n showSpinner(`Activating version ${version} of secret ${secretId}...`);\n try {\n await setStatusOfVersionOfSecret(secretId, version, 'ENABLED');\n succeedSpinner(`Activated version ${version} of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Deactivate a version of a secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deactivateVersionOfSecret(secretId, version) {\n showSpinner(`Deactivating version ${version} of secret ${secretId}...`);\n try {\n await setStatusOfVersionOfSecret(secretId, version, 'DISABLED');\n succeedSpinner(`Deactivated version ${version} of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n\n/**\n * Delete version of secret\n * @param {String} secretId secret id\n * @param {Number} version version of secret\n */\nexport async function deleteVersionOfSecret(secretId, version) {\n showSpinner(`Deleting version ${version} of secret ${secretId}...`);\n try {\n await _deleteVersionOfSecret(secretId, version);\n succeedSpinner(`Deleted version ${version} of secret ${secretId}`);\n } catch (error) {\n failSpinner(\n `Error: ${error.response.data.code} - ${error.response.data.message}`\n );\n }\n}\n"],"mappings":"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"}
|
package/esm/ops/ServiceOps.js
DELETED
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { frodo, state } from '@rockcarver/frodo-lib';
|
|
2
|
-
import fs from 'fs';
|
|
3
|
-
import { printMessage, createTable, debugMessage, showSpinner, succeedSpinner, failSpinner } from '../utils/Console';
|
|
4
|
-
const {
|
|
5
|
-
getRealmName
|
|
6
|
-
} = frodo.helper.utils;
|
|
7
|
-
const {
|
|
8
|
-
getTypedFilename,
|
|
9
|
-
titleCase,
|
|
10
|
-
saveJsonToFile,
|
|
11
|
-
getWorkingDirectory
|
|
12
|
-
} = frodo.utils.impex;
|
|
13
|
-
const {
|
|
14
|
-
getListOfServices,
|
|
15
|
-
exportServices,
|
|
16
|
-
exportService,
|
|
17
|
-
getFullServices,
|
|
18
|
-
createServiceExportTemplate,
|
|
19
|
-
importService,
|
|
20
|
-
importServices,
|
|
21
|
-
deleteFullService,
|
|
22
|
-
deleteFullServices
|
|
23
|
-
} = frodo.service;
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* List services
|
|
27
|
-
*/
|
|
28
|
-
export async function listServices(long = false, globalConfig = false) {
|
|
29
|
-
try {
|
|
30
|
-
const services = await getListOfServices(globalConfig);
|
|
31
|
-
services.sort((a, b) => a._id.localeCompare(b._id));
|
|
32
|
-
if (long) {
|
|
33
|
-
const table = createTable(['Service Id', 'Service Name']);
|
|
34
|
-
for (const service of services) {
|
|
35
|
-
table.push([service._id, service.name]);
|
|
36
|
-
}
|
|
37
|
-
printMessage(table.toString(), 'data');
|
|
38
|
-
} else {
|
|
39
|
-
for (const service of services) {
|
|
40
|
-
printMessage(`${service._id}`, 'data');
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
} catch (error) {
|
|
44
|
-
printMessage(`Error listing agents - ${error}`, 'error');
|
|
45
|
-
printMessage(error.stack, 'error');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Export all services to file
|
|
51
|
-
* @param {string} file file name
|
|
52
|
-
*/
|
|
53
|
-
export async function exportServicesToFile(file, globalConfig = false) {
|
|
54
|
-
const exportData = await exportServices(globalConfig);
|
|
55
|
-
let fileName = getTypedFilename(`all${titleCase(getRealmName(state.getRealm()))}Services`, `service`);
|
|
56
|
-
if (file) {
|
|
57
|
-
fileName = file;
|
|
58
|
-
}
|
|
59
|
-
saveJsonToFile(exportData, fileName);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Export service to file
|
|
64
|
-
* @param {string} serviceId service id
|
|
65
|
-
* @param {string} file file name
|
|
66
|
-
*/
|
|
67
|
-
export async function exportServiceToFile(serviceId, file, globalConfig = false) {
|
|
68
|
-
const exportData = await exportService(serviceId, globalConfig);
|
|
69
|
-
let fileName = getTypedFilename(serviceId, `service`);
|
|
70
|
-
if (file) {
|
|
71
|
-
fileName = file;
|
|
72
|
-
}
|
|
73
|
-
saveJsonToFile(exportData, fileName);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Export all services to separate files
|
|
78
|
-
*/
|
|
79
|
-
export async function exportServicesToFiles(globalConfig = false) {
|
|
80
|
-
debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);
|
|
81
|
-
const services = await getFullServices(globalConfig);
|
|
82
|
-
for (const service of services) {
|
|
83
|
-
const fileName = getTypedFilename(service._type._id, `service`);
|
|
84
|
-
const exportData = createServiceExportTemplate();
|
|
85
|
-
exportData.service[service._type._id] = service;
|
|
86
|
-
debugMessage(`cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`);
|
|
87
|
-
saveJsonToFile(exportData, fileName);
|
|
88
|
-
}
|
|
89
|
-
debugMessage(`cli.ServiceOps.exportServicesToFiles: end.`);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Import a service from file
|
|
94
|
-
* @param {string} serviceId service id/name
|
|
95
|
-
* @param {string} file import file name
|
|
96
|
-
* @param {boolean} clean remove existing service
|
|
97
|
-
*/
|
|
98
|
-
export async function importServiceFromFile(serviceId, file, clean, globalConfig = false) {
|
|
99
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`);
|
|
100
|
-
const verbose = state.getVerbose();
|
|
101
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
102
|
-
if (err) throw err;
|
|
103
|
-
const importData = JSON.parse(data);
|
|
104
|
-
if (importData && importData.service[serviceId]) {
|
|
105
|
-
if (!verbose) showSpinner(`Importing ${serviceId}...`);
|
|
106
|
-
try {
|
|
107
|
-
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
108
|
-
await importService(serviceId, importData, clean, globalConfig);
|
|
109
|
-
succeedSpinner(`Imported ${serviceId}.`);
|
|
110
|
-
} catch (importError) {
|
|
111
|
-
var _importError$response, _importError$response2, _importError$response3, _importError$response4;
|
|
112
|
-
const message = (_importError$response = importError.response) === null || _importError$response === void 0 ? void 0 : (_importError$response2 = _importError$response.data) === null || _importError$response2 === void 0 ? void 0 : _importError$response2.message;
|
|
113
|
-
const detail = (_importError$response3 = importError.response) === null || _importError$response3 === void 0 ? void 0 : (_importError$response4 = _importError$response3.data) === null || _importError$response4 === void 0 ? void 0 : _importError$response4.detail;
|
|
114
|
-
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
115
|
-
failSpinner(`${detail ? message + ' - ' + detail : message}`);
|
|
116
|
-
}
|
|
117
|
-
} else {
|
|
118
|
-
showSpinner(`Importing ${serviceId}...`);
|
|
119
|
-
failSpinner(`${serviceId} not found!`);
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: end [serviceId=${serviceId}, file=${file}]`);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Import first service from file
|
|
127
|
-
* @param {string} file import file name
|
|
128
|
-
* @param {boolean} clean remove existing service
|
|
129
|
-
*/
|
|
130
|
-
export async function importFirstServiceFromFile(file, clean, globalConfig = false) {
|
|
131
|
-
debugMessage(`cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`);
|
|
132
|
-
const verbose = state.getVerbose();
|
|
133
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
134
|
-
if (err) throw err;
|
|
135
|
-
const importData = JSON.parse(data);
|
|
136
|
-
if (importData && Object.keys(importData.service).length) {
|
|
137
|
-
const serviceId = Object.keys(importData.service)[0];
|
|
138
|
-
if (!verbose) showSpinner(`Importing ${serviceId}...`);
|
|
139
|
-
try {
|
|
140
|
-
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
141
|
-
await importService(serviceId, importData, clean, globalConfig);
|
|
142
|
-
succeedSpinner(`Imported ${serviceId}.`);
|
|
143
|
-
} catch (importError) {
|
|
144
|
-
var _importError$response5, _importError$response6, _importError$response7, _importError$response8;
|
|
145
|
-
const message = (_importError$response5 = importError.response) === null || _importError$response5 === void 0 ? void 0 : (_importError$response6 = _importError$response5.data) === null || _importError$response6 === void 0 ? void 0 : _importError$response6.message;
|
|
146
|
-
const detail = (_importError$response7 = importError.response) === null || _importError$response7 === void 0 ? void 0 : (_importError$response8 = _importError$response7.data) === null || _importError$response8 === void 0 ? void 0 : _importError$response8.detail;
|
|
147
|
-
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
148
|
-
failSpinner(`${detail ? message + ' - ' + detail : message}`);
|
|
149
|
-
}
|
|
150
|
-
} else {
|
|
151
|
-
showSpinner(`Importing service...`);
|
|
152
|
-
failSpinner(`No service found in ${file}!`);
|
|
153
|
-
}
|
|
154
|
-
debugMessage(`cli.ServiceOps.importFirstServiceFromFile: end [file=${file}]`);
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Import services from file
|
|
160
|
-
* @param {String} file file name
|
|
161
|
-
* @param {boolean} clean remove existing service
|
|
162
|
-
*/
|
|
163
|
-
export async function importServicesFromFile(file, clean, globalConfig = false) {
|
|
164
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: start [file=${file}]`);
|
|
165
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
166
|
-
if (err) throw err;
|
|
167
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: importing ${file}`);
|
|
168
|
-
const importData = JSON.parse(data);
|
|
169
|
-
try {
|
|
170
|
-
await importServices(importData, clean, globalConfig);
|
|
171
|
-
} catch (error) {
|
|
172
|
-
printMessage(`${error.message}`, 'error');
|
|
173
|
-
printMessage(error.response.status, 'error');
|
|
174
|
-
}
|
|
175
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: end [file=${file}]`);
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Import all services from separate files
|
|
181
|
-
* @param {boolean} clean remove existing service
|
|
182
|
-
*/
|
|
183
|
-
export async function importServicesFromFiles(clean, globalConfig = false) {
|
|
184
|
-
debugMessage(`cli.ServiceOps.importServicesFromFiles: start`);
|
|
185
|
-
const names = fs.readdirSync(getWorkingDirectory());
|
|
186
|
-
const agentFiles = names.filter(name => name.toLowerCase().endsWith('.service.json'));
|
|
187
|
-
for (const file of agentFiles) {
|
|
188
|
-
await importServicesFromFile(file, clean, globalConfig);
|
|
189
|
-
}
|
|
190
|
-
debugMessage(`cli.ServiceOps.importServicesFromFiles: end`);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Delete a service by id/name
|
|
195
|
-
* @param {string} serviceId Reference to the service to delete
|
|
196
|
-
*/
|
|
197
|
-
export async function deleteService(serviceId, globalConfig = false) {
|
|
198
|
-
try {
|
|
199
|
-
await deleteFullService(serviceId, globalConfig);
|
|
200
|
-
} catch (error) {
|
|
201
|
-
var _error$response, _error$response$data;
|
|
202
|
-
const message = (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.message;
|
|
203
|
-
printMessage(`Delete service '${serviceId}': ${message}`, 'error');
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Delete all services
|
|
209
|
-
*/
|
|
210
|
-
export async function deleteServices(globalConfig = false) {
|
|
211
|
-
await deleteFullServices(globalConfig);
|
|
212
|
-
}
|
|
213
|
-
//# sourceMappingURL=ServiceOps.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceOps.js","names":["frodo","state","fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","getRealmName","helper","utils","getTypedFilename","titleCase","saveJsonToFile","getWorkingDirectory","impex","getListOfServices","exportServices","exportService","getFullServices","createServiceExportTemplate","importService","importServices","deleteFullService","deleteFullServices","service","listServices","long","globalConfig","services","sort","a","b","_id","localeCompare","table","push","name","toString","error","stack","exportServicesToFile","file","exportData","fileName","getRealm","exportServiceToFile","serviceId","exportServicesToFiles","_type","importServiceFromFile","clean","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importError","_importError$response","_importError$response2","_importError$response3","_importError$response4","message","response","detail","importFirstServiceFromFile","Object","keys","length","_importError$response5","_importError$response6","_importError$response7","_importError$response8","importServicesFromFile","status","importServicesFromFiles","names","readdirSync","agentFiles","filter","toLowerCase","endsWith","deleteService","_error$response","_error$response$data","deleteServices"],"sources":["../../src/ops/ServiceOps.ts"],"sourcesContent":["import { frodo, state } from '@rockcarver/frodo-lib';\nimport fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport type { ServiceExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\n\nconst { getRealmName } = frodo.helper.utils;\nconst { getTypedFilename, titleCase, saveJsonToFile, getWorkingDirectory } =\n frodo.utils.impex;\nconst {\n getListOfServices,\n exportServices,\n exportService,\n getFullServices,\n createServiceExportTemplate,\n importService,\n importServices,\n deleteFullService,\n deleteFullServices,\n} = frodo.service;\n\n/**\n * List services\n */\nexport async function listServices(long = false, globalConfig = false) {\n try {\n const services = await getListOfServices(globalConfig);\n services.sort((a, b) => a._id.localeCompare(b._id));\n if (long) {\n const table = createTable(['Service Id', 'Service Name']);\n for (const service of services) {\n table.push([service._id, service.name]);\n }\n printMessage(table.toString(), 'data');\n } else {\n for (const service of services) {\n printMessage(`${service._id}`, 'data');\n }\n }\n } catch (error) {\n printMessage(`Error listing agents - ${error}`, 'error');\n printMessage(error.stack, 'error');\n }\n}\n\n/**\n * Export all services to file\n * @param {string} file file name\n */\nexport async function exportServicesToFile(file, globalConfig = false) {\n const exportData = await exportServices(globalConfig);\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.getRealm()))}Services`,\n `service`\n );\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export service to file\n * @param {string} serviceId service id\n * @param {string} file file name\n */\nexport async function exportServiceToFile(\n serviceId: string,\n file: string,\n globalConfig = false\n) {\n const exportData = await exportService(serviceId, globalConfig);\n let fileName = getTypedFilename(serviceId, `service`);\n if (file) {\n fileName = file;\n }\n saveJsonToFile(exportData, fileName);\n}\n\n/**\n * Export all services to separate files\n */\nexport async function exportServicesToFiles(globalConfig = false) {\n debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);\n const services = await getFullServices(globalConfig);\n for (const service of services) {\n const fileName = getTypedFilename(service._type._id, `service`);\n const exportData = createServiceExportTemplate();\n exportData.service[service._type._id] = service;\n debugMessage(\n `cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`\n );\n saveJsonToFile(exportData, fileName);\n }\n debugMessage(`cli.ServiceOps.exportServicesToFiles: end.`);\n}\n\n/**\n * Import a service from file\n * @param {string} serviceId service id/name\n * @param {string} file import file name\n * @param {boolean} clean remove existing service\n */\nexport async function importServiceFromFile(\n serviceId: string,\n file: string,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`\n );\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (importData && importData.service[serviceId]) {\n if (!verbose) showSpinner(`Importing ${serviceId}...`);\n try {\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n await importService(serviceId, importData, clean, globalConfig);\n succeedSpinner(`Imported ${serviceId}.`);\n } catch (importError) {\n const message = importError.response?.data?.message;\n const detail = importError.response?.data?.detail;\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${detail ? message + ' - ' + detail : message}`);\n }\n } else {\n showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${serviceId} not found!`);\n }\n });\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: end [serviceId=${serviceId}, file=${file}]`\n );\n}\n\n/**\n * Import first service from file\n * @param {string} file import file name\n * @param {boolean} clean remove existing service\n */\nexport async function importFirstServiceFromFile(\n file: string,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`\n );\n const verbose = state.getVerbose();\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const importData = JSON.parse(data);\n if (importData && Object.keys(importData.service).length) {\n const serviceId = Object.keys(importData.service)[0];\n if (!verbose) showSpinner(`Importing ${serviceId}...`);\n try {\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n await importService(serviceId, importData, clean, globalConfig);\n succeedSpinner(`Imported ${serviceId}.`);\n } catch (importError) {\n const message = importError.response?.data?.message;\n const detail = importError.response?.data?.detail;\n if (verbose) showSpinner(`Importing ${serviceId}...`);\n failSpinner(`${detail ? message + ' - ' + detail : message}`);\n }\n } else {\n showSpinner(`Importing service...`);\n failSpinner(`No service found in ${file}!`);\n }\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: end [file=${file}]`\n );\n });\n}\n\n/**\n * Import services from file\n * @param {String} file file name\n * @param {boolean} clean remove existing service\n */\nexport async function importServicesFromFile(\n file: string,\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(`cli.ServiceOps.importServiceFromFile: start [file=${file}]`);\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n debugMessage(`cli.ServiceOps.importServiceFromFile: importing ${file}`);\n const importData = JSON.parse(data) as ServiceExportInterface;\n try {\n await importServices(importData, clean, globalConfig);\n } catch (error) {\n printMessage(`${error.message}`, 'error');\n printMessage(error.response.status, 'error');\n }\n debugMessage(`cli.ServiceOps.importServiceFromFile: end [file=${file}]`);\n });\n}\n\n/**\n * Import all services from separate files\n * @param {boolean} clean remove existing service\n */\nexport async function importServicesFromFiles(\n clean: boolean,\n globalConfig = false\n) {\n debugMessage(`cli.ServiceOps.importServicesFromFiles: start`);\n const names = fs.readdirSync(getWorkingDirectory());\n const agentFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.service.json')\n );\n for (const file of agentFiles) {\n await importServicesFromFile(file, clean, globalConfig);\n }\n debugMessage(`cli.ServiceOps.importServicesFromFiles: end`);\n}\n\n/**\n * Delete a service by id/name\n * @param {string} serviceId Reference to the service to delete\n */\nexport async function deleteService(serviceId: string, globalConfig = false) {\n try {\n await deleteFullService(serviceId, globalConfig);\n } catch (error) {\n const message = error.response?.data?.message;\n printMessage(`Delete service '${serviceId}': ${message}`, 'error');\n }\n}\n\n/**\n * Delete all services\n */\nexport async function deleteServices(globalConfig = false) {\n await deleteFullServices(globalConfig);\n}\n"],"mappings":"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"}
|
package/esm/ops/ThemeOps.js
DELETED
|
@@ -1,361 +0,0 @@
|
|
|
1
|
-
import { frodo } from '@rockcarver/frodo-lib';
|
|
2
|
-
import fs from 'fs';
|
|
3
|
-
import { printMessage, createTable, createProgressIndicator, updateProgressIndicator, stopProgressIndicator } from '../utils/Console';
|
|
4
|
-
import { saveToFile, getTypedFilename } from '../utils/ExportImportUtils';
|
|
5
|
-
const {
|
|
6
|
-
getRealmString,
|
|
7
|
-
validateImport
|
|
8
|
-
} = frodo.utils.impex;
|
|
9
|
-
const {
|
|
10
|
-
getThemes,
|
|
11
|
-
getThemeByName,
|
|
12
|
-
getTheme,
|
|
13
|
-
putThemeByName,
|
|
14
|
-
putTheme,
|
|
15
|
-
putThemes,
|
|
16
|
-
deleteTheme,
|
|
17
|
-
deleteThemeByName,
|
|
18
|
-
deleteThemes
|
|
19
|
-
} = frodo.theme;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Get a one-line description of the theme
|
|
23
|
-
* @param {ThemeSkeleton} themeObj theme object to describe
|
|
24
|
-
* @returns {string} a one-line description
|
|
25
|
-
*/
|
|
26
|
-
export function getOneLineDescription(themeObj) {
|
|
27
|
-
const description = `[${themeObj._id['brightCyan']}] ${themeObj.name}${themeObj.linkedTrees ? ' (' + themeObj.linkedTrees.join(', ')['brightCyan'] + ')' : ''}`;
|
|
28
|
-
return description;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Get markdown table header
|
|
33
|
-
* @returns {string} markdown table header
|
|
34
|
-
*/
|
|
35
|
-
export function getTableHeaderMd() {
|
|
36
|
-
let markdown = '';
|
|
37
|
-
markdown += '| Name | Linked Journey(s) | Id |\n';
|
|
38
|
-
markdown += '| ---- | ----------------- | ---|';
|
|
39
|
-
return markdown;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Get a table-row of the theme in markdown
|
|
44
|
-
* @param {ThemeSkeleton} themeObj theme object to describe
|
|
45
|
-
* @returns {string} a table-row of the theme in markdown
|
|
46
|
-
*/
|
|
47
|
-
export function getTableRowMd(themeObj) {
|
|
48
|
-
const row = `| ${themeObj.name} | ${themeObj.linkedTrees ? themeObj.linkedTrees.join(', ') : ''} | \`${themeObj._id}\` |`;
|
|
49
|
-
return row;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* List all the themes
|
|
54
|
-
* @param {boolean} long Long version, more fields
|
|
55
|
-
*/
|
|
56
|
-
export async function listThemes(long = false) {
|
|
57
|
-
const themeList = await getThemes();
|
|
58
|
-
themeList.sort((a, b) => a.name.localeCompare(b.name));
|
|
59
|
-
if (!long) {
|
|
60
|
-
themeList.forEach(theme => {
|
|
61
|
-
printMessage(`${theme.isDefault ? theme.name['brightCyan'] : theme.name}`, 'data');
|
|
62
|
-
});
|
|
63
|
-
} else {
|
|
64
|
-
const table = createTable(['Name'['brightCyan'], 'Id'['brightCyan'], 'Default'['brightCyan']]);
|
|
65
|
-
themeList.forEach(theme => {
|
|
66
|
-
table.push([`${theme.name}`, `${theme._id}`, `${theme.isDefault ? 'Yes'['brightGreen'] : ''}`]);
|
|
67
|
-
});
|
|
68
|
-
printMessage(table.toString(), 'data');
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Export theme by name to file
|
|
74
|
-
* @param {String} name theme name
|
|
75
|
-
* @param {String} file optional export file name
|
|
76
|
-
*/
|
|
77
|
-
export async function exportThemeByName(name, file) {
|
|
78
|
-
let fileName = getTypedFilename(name, 'theme');
|
|
79
|
-
if (file) {
|
|
80
|
-
fileName = file;
|
|
81
|
-
}
|
|
82
|
-
createProgressIndicator('determinate', 1, `Exporting ${name}`);
|
|
83
|
-
try {
|
|
84
|
-
const themeData = await getThemeByName(name);
|
|
85
|
-
updateProgressIndicator(`Writing file ${fileName}`);
|
|
86
|
-
saveToFile('theme', [themeData], '_id', fileName);
|
|
87
|
-
stopProgressIndicator(`Successfully exported theme ${name}.`);
|
|
88
|
-
} catch (error) {
|
|
89
|
-
stopProgressIndicator(`${error.message}`);
|
|
90
|
-
printMessage(`${error.message}`, 'error');
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Export theme by uuid to file
|
|
96
|
-
* @param {String} id theme uuid
|
|
97
|
-
* @param {String} file optional export file name
|
|
98
|
-
*/
|
|
99
|
-
export async function exportThemeById(id, file) {
|
|
100
|
-
let fileName = getTypedFilename(id, 'theme');
|
|
101
|
-
if (file) {
|
|
102
|
-
fileName = file;
|
|
103
|
-
}
|
|
104
|
-
createProgressIndicator('determinate', 1, `Exporting ${id}`);
|
|
105
|
-
try {
|
|
106
|
-
const themeData = await getTheme(id);
|
|
107
|
-
updateProgressIndicator(`Writing file ${fileName}`);
|
|
108
|
-
saveToFile('theme', [themeData], '_id', fileName);
|
|
109
|
-
stopProgressIndicator(`Successfully exported theme ${id}.`);
|
|
110
|
-
} catch (error) {
|
|
111
|
-
stopProgressIndicator(`${error.message}`);
|
|
112
|
-
printMessage(`${error.message}`, 'error');
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Export all themes to file
|
|
118
|
-
* @param {String} file optional export file name
|
|
119
|
-
*/
|
|
120
|
-
export async function exportThemesToFile(file) {
|
|
121
|
-
let fileName = getTypedFilename(`all${getRealmString()}Themes`, 'theme');
|
|
122
|
-
if (file) {
|
|
123
|
-
fileName = file;
|
|
124
|
-
}
|
|
125
|
-
const allThemesData = await getThemes();
|
|
126
|
-
createProgressIndicator('determinate', allThemesData.length, 'Exporting themes');
|
|
127
|
-
for (const themeData of allThemesData) {
|
|
128
|
-
updateProgressIndicator(`Exporting theme ${themeData.name}`);
|
|
129
|
-
}
|
|
130
|
-
saveToFile('theme', allThemesData, '_id', fileName);
|
|
131
|
-
stopProgressIndicator(`${allThemesData.length} themes exported to ${fileName}.`);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Export all themes to separate files
|
|
136
|
-
*/
|
|
137
|
-
export async function exportThemesToFiles() {
|
|
138
|
-
const allThemesData = await getThemes();
|
|
139
|
-
createProgressIndicator('determinate', allThemesData.length, 'Exporting themes');
|
|
140
|
-
for (const themeData of allThemesData) {
|
|
141
|
-
updateProgressIndicator(`Writing theme ${themeData.name}`);
|
|
142
|
-
const fileName = getTypedFilename(themeData.name, 'theme');
|
|
143
|
-
saveToFile('theme', themeData, '_id', fileName);
|
|
144
|
-
}
|
|
145
|
-
stopProgressIndicator(`${allThemesData.length} themes exported.`);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Import theme by name from file
|
|
150
|
-
* @param {String} name theme name
|
|
151
|
-
* @param {String} file import file name
|
|
152
|
-
*/
|
|
153
|
-
export async function importThemeByName(name, file) {
|
|
154
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
155
|
-
if (err) throw err;
|
|
156
|
-
const themeData = JSON.parse(data);
|
|
157
|
-
if (validateImport(themeData.meta)) {
|
|
158
|
-
createProgressIndicator('determinate', 1, 'Importing theme...');
|
|
159
|
-
let found = false;
|
|
160
|
-
for (const id in themeData.theme) {
|
|
161
|
-
if ({}.hasOwnProperty.call(themeData.theme, id)) {
|
|
162
|
-
if (themeData.theme[id].name === name) {
|
|
163
|
-
found = true;
|
|
164
|
-
updateProgressIndicator(`Importing ${themeData.theme[id].name}`);
|
|
165
|
-
try {
|
|
166
|
-
await putThemeByName(name, themeData.theme[id]);
|
|
167
|
-
stopProgressIndicator(`Successfully imported theme ${name}.`);
|
|
168
|
-
} catch (error) {
|
|
169
|
-
stopProgressIndicator(`Error importing theme ${themeData.theme[id].name}: ${error.message}`);
|
|
170
|
-
printMessage(`Error importing theme ${themeData.theme[id].name}: ${error.message}`, 'error');
|
|
171
|
-
}
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
if (!found) {
|
|
177
|
-
stopProgressIndicator(`Theme ${name} not found!`);
|
|
178
|
-
}
|
|
179
|
-
} else {
|
|
180
|
-
printMessage('Import validation failed...', 'error');
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Import theme by uuid from file
|
|
187
|
-
* @param {String} id theme uuid
|
|
188
|
-
* @param {String} file import file name
|
|
189
|
-
*/
|
|
190
|
-
export async function importThemeById(id, file) {
|
|
191
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
192
|
-
if (err) throw err;
|
|
193
|
-
const themeData = JSON.parse(data);
|
|
194
|
-
if (validateImport(themeData.meta)) {
|
|
195
|
-
createProgressIndicator('determinate', 1, 'Importing theme...');
|
|
196
|
-
let found = false;
|
|
197
|
-
for (const themeId in themeData.theme) {
|
|
198
|
-
if ({}.hasOwnProperty.call(themeData.theme, themeId)) {
|
|
199
|
-
if (themeId === id) {
|
|
200
|
-
found = true;
|
|
201
|
-
updateProgressIndicator(`Importing ${themeData.theme[themeId]._id}`);
|
|
202
|
-
try {
|
|
203
|
-
await putTheme(themeId, themeData.theme[themeId]);
|
|
204
|
-
stopProgressIndicator(`Successfully imported theme ${id}.`);
|
|
205
|
-
} catch (error) {
|
|
206
|
-
stopProgressIndicator(`Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`);
|
|
207
|
-
printMessage(`Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`, 'error');
|
|
208
|
-
}
|
|
209
|
-
break;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
if (!found) {
|
|
214
|
-
stopProgressIndicator(`Theme ${id} not found!`);
|
|
215
|
-
}
|
|
216
|
-
} else {
|
|
217
|
-
printMessage('Import validation failed...', 'error');
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
/**
|
|
223
|
-
* Import all themes from single file
|
|
224
|
-
* @param {String} file import file name
|
|
225
|
-
*/
|
|
226
|
-
export async function importThemesFromFile(file) {
|
|
227
|
-
fs.readFile(file, 'utf8', (err, data) => {
|
|
228
|
-
if (err) throw err;
|
|
229
|
-
const fileData = JSON.parse(data);
|
|
230
|
-
if (validateImport(fileData.meta)) {
|
|
231
|
-
createProgressIndicator('determinate', Object.keys(fileData.theme).length, 'Importing themes...');
|
|
232
|
-
for (const id in fileData.theme) {
|
|
233
|
-
if ({}.hasOwnProperty.call(fileData.theme, id)) {
|
|
234
|
-
updateProgressIndicator(`Importing ${fileData.theme[id].name}`);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
putThemes(fileData.theme).then(result => {
|
|
238
|
-
if (result == null) {
|
|
239
|
-
stopProgressIndicator(`Error importing ${Object.keys(fileData.theme).length} themes!`);
|
|
240
|
-
printMessage(`Error importing ${Object.keys(fileData.theme).length} themes from ${file}`, 'error');
|
|
241
|
-
} else {
|
|
242
|
-
stopProgressIndicator(`Successfully imported ${Object.keys(fileData.theme).length} themes.`);
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
} else {
|
|
246
|
-
printMessage('Import validation failed...', 'error');
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Import themes from separate files
|
|
253
|
-
*/
|
|
254
|
-
export async function importThemesFromFiles() {
|
|
255
|
-
const names = fs.readdirSync('.');
|
|
256
|
-
const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.theme.json'));
|
|
257
|
-
createProgressIndicator('determinate', jsonFiles.length, 'Importing themes...');
|
|
258
|
-
let fileData = null;
|
|
259
|
-
let count = 0;
|
|
260
|
-
let total = 0;
|
|
261
|
-
let files = 0;
|
|
262
|
-
for (const file of jsonFiles) {
|
|
263
|
-
const data = fs.readFileSync(file, 'utf8');
|
|
264
|
-
fileData = JSON.parse(data);
|
|
265
|
-
if (validateImport(fileData.meta)) {
|
|
266
|
-
count = Object.keys(fileData.theme).length;
|
|
267
|
-
// eslint-disable-next-line no-await-in-loop
|
|
268
|
-
const result = await putThemes(fileData.theme);
|
|
269
|
-
if (result == null) {
|
|
270
|
-
printMessage(`Error importing ${count} themes from ${file}`, 'error');
|
|
271
|
-
} else {
|
|
272
|
-
files += 1;
|
|
273
|
-
total += count;
|
|
274
|
-
updateProgressIndicator(`Imported ${count} theme(s) from ${file}`);
|
|
275
|
-
}
|
|
276
|
-
} else {
|
|
277
|
-
printMessage(`Validation of ${file} failed!`, 'error');
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
stopProgressIndicator(`Finished importing ${total} theme(s) from ${files} file(s).`);
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
/**
|
|
284
|
-
* Import first theme from file
|
|
285
|
-
* @param {String} file import file name
|
|
286
|
-
*/
|
|
287
|
-
export async function importFirstThemeFromFile(file) {
|
|
288
|
-
fs.readFile(file, 'utf8', (err, data) => {
|
|
289
|
-
if (err) throw err;
|
|
290
|
-
const themeData = JSON.parse(data);
|
|
291
|
-
if (validateImport(themeData.meta)) {
|
|
292
|
-
createProgressIndicator('determinate', 1, 'Importing theme...');
|
|
293
|
-
for (const id in themeData.theme) {
|
|
294
|
-
if ({}.hasOwnProperty.call(themeData.theme, id)) {
|
|
295
|
-
updateProgressIndicator(`Importing ${themeData.theme[id].name}`);
|
|
296
|
-
putTheme(id, themeData.theme[id]).then(result => {
|
|
297
|
-
if (result == null) {
|
|
298
|
-
stopProgressIndicator(`Error importing theme ${themeData.theme[id].name}`);
|
|
299
|
-
printMessage(`Error importing theme ${themeData.theme[id].name}`, 'error');
|
|
300
|
-
} else {
|
|
301
|
-
stopProgressIndicator(`Successfully imported theme ${themeData.theme[id].name}`);
|
|
302
|
-
}
|
|
303
|
-
});
|
|
304
|
-
break;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
} else {
|
|
308
|
-
printMessage('Import validation failed...', 'error');
|
|
309
|
-
}
|
|
310
|
-
});
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Delete theme by id
|
|
315
|
-
* @param {String} id theme id
|
|
316
|
-
*/
|
|
317
|
-
export async function deleteThemeCmd(id) {
|
|
318
|
-
createProgressIndicator('indeterminate', undefined, `Deleting ${id}...`);
|
|
319
|
-
try {
|
|
320
|
-
await deleteTheme(id);
|
|
321
|
-
stopProgressIndicator(`Deleted ${id}.`, 'success');
|
|
322
|
-
} catch (error) {
|
|
323
|
-
stopProgressIndicator(`Error: ${error.message}`, 'fail');
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
/**
|
|
328
|
-
* Delete theme by name
|
|
329
|
-
* @param {String} name theme name
|
|
330
|
-
*/
|
|
331
|
-
export async function deleteThemeByNameCmd(name) {
|
|
332
|
-
createProgressIndicator('indeterminate', undefined, `Deleting ${name}...`);
|
|
333
|
-
try {
|
|
334
|
-
await deleteThemeByName(name);
|
|
335
|
-
stopProgressIndicator(`Deleted ${name}.`, 'success');
|
|
336
|
-
} catch (error) {
|
|
337
|
-
stopProgressIndicator(`Error: ${error.message}`, 'fail');
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* Delete all themes
|
|
343
|
-
*/
|
|
344
|
-
export async function deleteAllThemes() {
|
|
345
|
-
createProgressIndicator('indeterminate', undefined, `Deleting all realm themes...`);
|
|
346
|
-
try {
|
|
347
|
-
await deleteThemes();
|
|
348
|
-
stopProgressIndicator(`Deleted all realm themes.`, 'success');
|
|
349
|
-
} catch (error) {
|
|
350
|
-
stopProgressIndicator(`Error: ${error.message}`, 'fail');
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* Delete all themes
|
|
356
|
-
* @deprecated since version 0.14.0
|
|
357
|
-
*/
|
|
358
|
-
export async function deleteThemesCmd() {
|
|
359
|
-
return deleteAllThemes();
|
|
360
|
-
}
|
|
361
|
-
//# sourceMappingURL=ThemeOps.js.map
|