@rockcarver/frodo-cli 2.0.0-6 → 2.0.0-60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/launch.json +1 -0
- package/CHANGELOG.md +427 -7
- package/dist/app.cjs +187368 -0
- package/dist/app.cjs.map +1 -0
- package/dist/app.d.cts +2 -0
- package/dist/chunk-MPPKDFVI.cjs +56 -0
- package/dist/chunk-MPPKDFVI.cjs.map +1 -0
- package/dist/launch.cjs +27 -0
- package/dist/launch.cjs.map +1 -0
- package/dist/launch.d.cts +1 -0
- package/dist/loader.cjs +836 -0
- package/dist/loader.cjs.map +1 -0
- package/dist/loader.d.cts +3 -0
- package/global-jest-setup.js +5 -0
- package/package.json +71 -64
- package/tsup.config.ts +40 -0
- package/esm/app.js +0 -58
- 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 -19
- package/esm/cli/_template/something-delete.js.map +0 -1
- package/esm/cli/_template/something-describe.js +0 -19
- package/esm/cli/_template/something-describe.js.map +0 -1
- package/esm/cli/_template/something-else-delete.js +0 -19
- package/esm/cli/_template/something-else-delete.js.map +0 -1
- package/esm/cli/_template/something-else-describe.js +0 -19
- package/esm/cli/_template/something-else-describe.js.map +0 -1
- package/esm/cli/_template/something-else-export.js +0 -19
- package/esm/cli/_template/something-else-export.js.map +0 -1
- package/esm/cli/_template/something-else-import.js +0 -19
- package/esm/cli/_template/something-else-import.js.map +0 -1
- package/esm/cli/_template/something-else-list.js +0 -19
- 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 -19
- package/esm/cli/_template/something-export.js.map +0 -1
- package/esm/cli/_template/something-import.js +0 -19
- package/esm/cli/_template/something-import.js.map +0 -1
- package/esm/cli/_template/something-list.js +0 -19
- package/esm/cli/_template/something-list.js.map +0 -1
- package/esm/cli/_template/something-other-delete.js +0 -19
- package/esm/cli/_template/something-other-delete.js.map +0 -1
- package/esm/cli/_template/something-other-describe.js +0 -19
- package/esm/cli/_template/something-other-describe.js.map +0 -1
- package/esm/cli/_template/something-other-export.js +0 -19
- package/esm/cli/_template/something-other-export.js.map +0 -1
- package/esm/cli/_template/something-other-import.js +0 -19
- package/esm/cli/_template/something-other-import.js.map +0 -1
- package/esm/cli/_template/something-other-list.js +0 -19
- 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 -21
- 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 -79
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +0 -1
- package/esm/cli/admin/admin-federation-export.js +0 -42
- package/esm/cli/admin/admin-federation-export.js.map +0 -1
- package/esm/cli/admin/admin-federation-import.js +0 -46
- package/esm/cli/admin/admin-federation-import.js.map +0 -1
- package/esm/cli/admin/admin-federation-list.js +0 -26
- 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 -22
- package/esm/cli/admin/admin-get-access-token.js.map +0 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +0 -22
- 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 -22
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +0 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +0 -24
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +0 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +0 -24
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +0 -1
- package/esm/cli/admin/admin-list-static-user-mappings.js +0 -25
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +0 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +0 -21
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +0 -1
- package/esm/cli/admin/admin-repair-org-model.js +0 -22
- package/esm/cli/admin/admin-repair-org-model.js.map +0 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +0 -22
- 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 -22
- 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 -45
- package/esm/cli/agent/agent-delete.js.map +0 -1
- package/esm/cli/agent/agent-describe.js +0 -19
- package/esm/cli/agent/agent-describe.js.map +0 -1
- package/esm/cli/agent/agent-export.js +0 -39
- package/esm/cli/agent/agent-export.js.map +0 -1
- package/esm/cli/agent/agent-gateway-delete.js +0 -45
- package/esm/cli/agent/agent-gateway-delete.js.map +0 -1
- package/esm/cli/agent/agent-gateway-describe.js +0 -19
- package/esm/cli/agent/agent-gateway-describe.js.map +0 -1
- package/esm/cli/agent/agent-gateway-export.js +0 -39
- package/esm/cli/agent/agent-gateway-export.js.map +0 -1
- package/esm/cli/agent/agent-gateway-import.js +0 -44
- package/esm/cli/agent/agent-gateway-import.js.map +0 -1
- package/esm/cli/agent/agent-gateway-list.js +0 -20
- 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 -44
- package/esm/cli/agent/agent-import.js.map +0 -1
- package/esm/cli/agent/agent-java-delete.js +0 -45
- package/esm/cli/agent/agent-java-delete.js.map +0 -1
- package/esm/cli/agent/agent-java-describe.js +0 -19
- package/esm/cli/agent/agent-java-describe.js.map +0 -1
- package/esm/cli/agent/agent-java-export.js +0 -39
- package/esm/cli/agent/agent-java-export.js.map +0 -1
- package/esm/cli/agent/agent-java-import.js +0 -44
- package/esm/cli/agent/agent-java-import.js.map +0 -1
- package/esm/cli/agent/agent-java-list.js +0 -20
- 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 -20
- package/esm/cli/agent/agent-list.js.map +0 -1
- package/esm/cli/agent/agent-web-delete.js +0 -45
- package/esm/cli/agent/agent-web-delete.js.map +0 -1
- package/esm/cli/agent/agent-web-describe.js +0 -19
- package/esm/cli/agent/agent-web-describe.js.map +0 -1
- package/esm/cli/agent/agent-web-export.js +0 -39
- package/esm/cli/agent/agent-web-export.js.map +0 -1
- package/esm/cli/agent/agent-web-import.js +0 -44
- package/esm/cli/agent/agent-web-import.js.map +0 -1
- package/esm/cli/agent/agent-web-list.js +0 -20
- 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 -19
- package/esm/cli/app/app-delete.js.map +0 -1
- package/esm/cli/app/app-describe.js +0 -19
- package/esm/cli/app/app-describe.js.map +0 -1
- package/esm/cli/app/app-export.js +0 -49
- package/esm/cli/app/app-export.js.map +0 -1
- package/esm/cli/app/app-import.js +0 -54
- package/esm/cli/app/app-import.js.map +0 -1
- package/esm/cli/app/app-list.js +0 -22
- 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 -40
- package/esm/cli/authz/authz-policy-delete.js.map +0 -1
- package/esm/cli/authz/authz-policy-describe.js +0 -27
- package/esm/cli/authz/authz-policy-describe.js.map +0 -1
- package/esm/cli/authz/authz-policy-export.js +0 -72
- package/esm/cli/authz/authz-policy-export.js.map +0 -1
- package/esm/cli/authz/authz-policy-import.js +0 -62
- package/esm/cli/authz/authz-policy-import.js.map +0 -1
- package/esm/cli/authz/authz-policy-list.js +0 -34
- 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 -34
- package/esm/cli/authz/authz-set-delete.js.map +0 -1
- package/esm/cli/authz/authz-set-describe.js +0 -27
- package/esm/cli/authz/authz-set-describe.js.map +0 -1
- package/esm/cli/authz/authz-set-export.js +0 -52
- package/esm/cli/authz/authz-set-export.js.map +0 -1
- package/esm/cli/authz/authz-set-import.js +0 -58
- package/esm/cli/authz/authz-set-import.js.map +0 -1
- package/esm/cli/authz/authz-set-list.js +0 -22
- 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 -40
- package/esm/cli/authz/authz-type-delete.js.map +0 -1
- package/esm/cli/authz/authz-type-describe.js +0 -31
- package/esm/cli/authz/authz-type-describe.js.map +0 -1
- package/esm/cli/authz/authz-type-export.js +0 -46
- package/esm/cli/authz/authz-type-export.js.map +0 -1
- package/esm/cli/authz/authz-type-import.js +0 -52
- package/esm/cli/authz/authz-type-import.js.map +0 -1
- package/esm/cli/authz/authz-type-list.js +0 -23
- 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 -94
- 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 -37
- package/esm/cli/email/email-template-export.js.map +0 -1
- package/esm/cli/email/email-template-import.js +0 -42
- package/esm/cli/email/email-template-import.js.map +0 -1
- package/esm/cli/email/email-template-list.js +0 -22
- 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 -52
- package/esm/cli/esv/esv-apply.js.map +0 -1
- package/esm/cli/esv/esv-secret-create.js +0 -22
- package/esm/cli/esv/esv-secret-create.js.map +0 -1
- package/esm/cli/esv/esv-secret-delete.js +0 -32
- package/esm/cli/esv/esv-secret-delete.js.map +0 -1
- package/esm/cli/esv/esv-secret-describe.js +0 -22
- package/esm/cli/esv/esv-secret-describe.js.map +0 -1
- package/esm/cli/esv/esv-secret-export.js +0 -19
- package/esm/cli/esv/esv-secret-export.js.map +0 -1
- package/esm/cli/esv/esv-secret-import.js +0 -19
- package/esm/cli/esv/esv-secret-import.js.map +0 -1
- package/esm/cli/esv/esv-secret-list.js +0 -22
- package/esm/cli/esv/esv-secret-list.js.map +0 -1
- package/esm/cli/esv/esv-secret-set.js +0 -22
- package/esm/cli/esv/esv-secret-set.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-activate.js +0 -27
- package/esm/cli/esv/esv-secret-version-activate.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-create.js +0 -22
- package/esm/cli/esv/esv-secret-version-create.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +0 -27
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-delete.js +0 -32
- package/esm/cli/esv/esv-secret-version-delete.js.map +0 -1
- package/esm/cli/esv/esv-secret-version-list.js +0 -22
- 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 -21
- package/esm/cli/esv/esv-variable-create.js.map +0 -1
- package/esm/cli/esv/esv-variable-delete.js +0 -32
- package/esm/cli/esv/esv-variable-delete.js.map +0 -1
- package/esm/cli/esv/esv-variable-describe.js +0 -22
- package/esm/cli/esv/esv-variable-describe.js.map +0 -1
- package/esm/cli/esv/esv-variable-export.js +0 -19
- package/esm/cli/esv/esv-variable-export.js.map +0 -1
- package/esm/cli/esv/esv-variable-import.js +0 -19
- package/esm/cli/esv/esv-variable-import.js.map +0 -1
- package/esm/cli/esv/esv-variable-list.js +0 -22
- package/esm/cli/esv/esv-variable-list.js.map +0 -1
- package/esm/cli/esv/esv-variable-set.js +0 -28
- 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 -22
- package/esm/cli/idm/idm-count.js.map +0 -1
- package/esm/cli/idm/idm-export.js +0 -39
- package/esm/cli/idm/idm-export.js.map +0 -1
- package/esm/cli/idm/idm-import.js +0 -42
- package/esm/cli/idm/idm-import.js.map +0 -1
- package/esm/cli/idm/idm-list.js +0 -26
- 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 -39
- package/esm/cli/idp/idp-export.js.map +0 -1
- package/esm/cli/idp/idp-import.js +0 -42
- package/esm/cli/idp/idp-import.js.map +0 -1
- package/esm/cli/idp/idp-list.js +0 -25
- 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 -48
- package/esm/cli/info/info.js.map +0 -1
- package/esm/cli/journey/journey-delete.js +0 -31
- package/esm/cli/journey/journey-delete.js.map +0 -1
- package/esm/cli/journey/journey-describe.js +0 -117
- package/esm/cli/journey/journey-describe.js.map +0 -1
- package/esm/cli/journey/journey-disable.js +0 -37
- package/esm/cli/journey/journey-disable.js.map +0 -1
- package/esm/cli/journey/journey-enable.js +0 -37
- package/esm/cli/journey/journey-enable.js.map +0 -1
- package/esm/cli/journey/journey-export.js +0 -47
- package/esm/cli/journey/journey-export.js.map +0 -1
- package/esm/cli/journey/journey-import.js +0 -54
- package/esm/cli/journey/journey-import.js.map +0 -1
- package/esm/cli/journey/journey-list.js +0 -22
- package/esm/cli/journey/journey-list.js.map +0 -1
- package/esm/cli/journey/journey-prune.js +0 -31
- 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 -91
- package/esm/cli/log/log-fetch.js.map +0 -1
- package/esm/cli/log/log-key-delete.js +0 -32
- package/esm/cli/log/log-key-delete.js.map +0 -1
- package/esm/cli/log/log-key-describe.js +0 -19
- package/esm/cli/log/log-key-describe.js.map +0 -1
- package/esm/cli/log/log-key-list.js +0 -23
- 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 -49
- package/esm/cli/log/log-list.js.map +0 -1
- package/esm/cli/log/log-tail.js +0 -46
- 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 -22
- package/esm/cli/realm/realm-add-custom-domain.js.map +0 -1
- package/esm/cli/realm/realm-describe.js +0 -21
- package/esm/cli/realm/realm-describe.js.map +0 -1
- package/esm/cli/realm/realm-list.js +0 -22
- package/esm/cli/realm/realm-list.js.map +0 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +0 -21
- 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 -40
- package/esm/cli/saml/saml-cot-export.js.map +0 -1
- package/esm/cli/saml/saml-cot-import.js +0 -46
- package/esm/cli/saml/saml-cot-import.js.map +0 -1
- package/esm/cli/saml/saml-cot-list.js +0 -23
- 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 -31
- package/esm/cli/saml/saml-delete.js.map +0 -1
- package/esm/cli/saml/saml-describe.js +0 -22
- package/esm/cli/saml/saml-describe.js.map +0 -1
- package/esm/cli/saml/saml-export.js +0 -37
- package/esm/cli/saml/saml-export.js.map +0 -1
- package/esm/cli/saml/saml-import.js +0 -42
- package/esm/cli/saml/saml-import.js.map +0 -1
- package/esm/cli/saml/saml-list.js +0 -22
- package/esm/cli/saml/saml-list.js.map +0 -1
- package/esm/cli/saml/saml-metadata-export.js +0 -32
- 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 -19
- package/esm/cli/script/script-delete.js.map +0 -1
- package/esm/cli/script/script-describe.js +0 -19
- package/esm/cli/script/script-describe.js.map +0 -1
- package/esm/cli/script/script-export.js +0 -59
- package/esm/cli/script/script-export.js.map +0 -1
- package/esm/cli/script/script-import.js +0 -32
- package/esm/cli/script/script-import.js.map +0 -1
- package/esm/cli/script/script-list.js +0 -23
- 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 -19
- package/esm/cli/service/service-delete.js.map +0 -1
- package/esm/cli/service/service-export.js +0 -37
- package/esm/cli/service/service-export.js.map +0 -1
- package/esm/cli/service/service-import.js +0 -44
- package/esm/cli/service/service-import.js.map +0 -1
- package/esm/cli/service/service-list.js +0 -17
- 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 -37
- package/esm/cli/theme/theme-delete.js.map +0 -1
- package/esm/cli/theme/theme-export.js +0 -42
- package/esm/cli/theme/theme-export.js.map +0 -1
- package/esm/cli/theme/theme-import.js +0 -47
- 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 -22
- 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 -208
- package/esm/ops/AdminFederationOps.js.map +0 -1
- package/esm/ops/AgentOps.js +0 -665
- package/esm/ops/AgentOps.js.map +0 -1
- package/esm/ops/CirclesOfTrustOps.js +0 -248
- package/esm/ops/CirclesOfTrustOps.js.map +0 -1
- package/esm/ops/ConnectionProfileOps.js +0 -118
- package/esm/ops/ConnectionProfileOps.js.map +0 -1
- package/esm/ops/EmailTemplateOps.js +0 -353
- package/esm/ops/EmailTemplateOps.js.map +0 -1
- package/esm/ops/IdmOps.js +0 -347
- package/esm/ops/IdmOps.js.map +0 -1
- package/esm/ops/IdpOps.js +0 -204
- package/esm/ops/IdpOps.js.map +0 -1
- package/esm/ops/JourneyOps.js +0 -653
- package/esm/ops/JourneyOps.js.map +0 -1
- package/esm/ops/LogOps.js +0 -139
- package/esm/ops/LogOps.js.map +0 -1
- package/esm/ops/NodeOps.js +0 -86
- package/esm/ops/NodeOps.js.map +0 -1
- package/esm/ops/OAuth2ClientOps.js +0 -258
- package/esm/ops/OAuth2ClientOps.js.map +0 -1
- package/esm/ops/OrganizationOps.js +0 -28
- package/esm/ops/OrganizationOps.js.map +0 -1
- package/esm/ops/PolicyOps.js +0 -478
- package/esm/ops/PolicyOps.js.map +0 -1
- package/esm/ops/PolicySetOps.js +0 -362
- package/esm/ops/PolicySetOps.js.map +0 -1
- package/esm/ops/RealmOps.js +0 -111
- package/esm/ops/RealmOps.js.map +0 -1
- package/esm/ops/ResourceTypeOps.js +0 -436
- package/esm/ops/ResourceTypeOps.js.map +0 -1
- package/esm/ops/Saml2Ops.js +0 -273
- package/esm/ops/Saml2Ops.js.map +0 -1
- package/esm/ops/Saml2Ops.test_.js.map +0 -1
- package/esm/ops/ScriptOps.js +0 -375
- package/esm/ops/ScriptOps.js.map +0 -1
- package/esm/ops/SecretsOps.js +0 -223
- package/esm/ops/SecretsOps.js.map +0 -1
- package/esm/ops/ServiceOps.js +0 -192
- package/esm/ops/ServiceOps.js.map +0 -1
- package/esm/ops/ThemeOps.js +0 -345
- package/esm/ops/ThemeOps.js.map +0 -1
- package/esm/ops/VariablesOps.js +0 -133
- 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 -40
- package/esm/utils/Config.js.map +0 -1
- package/esm/utils/Console.js +0 -534
- package/esm/utils/Console.js.map +0 -1
- package/esm/utils/ExportImportUtils.js +0 -90
- package/esm/utils/ExportImportUtils.js.map +0 -1
- package/esm/utils/Version.js +0 -135
- 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","listSecrets","long","secrets","cloud","secret","getSecrets","result","sort","a","b","_id","localeCompare","error","message","response","data","table","hAlign","content","push","activeVersion","loadedVersion","loaded","description","idm","managed","resolveUserName","lastChangedBy","Date","lastChangeDate","toLocaleString","toString","forEach","createSecret","id","value","encoding","useInPlaceholders","putSecret","code","setSecretDescription","secretId","deleteSecret","deleteSecrets","length","listSecretVersions","versions","getSecretVersions","statusMap","ENABLED","DISABLED","DESTROYED","version","status","createDate","describeSecret","getSecret","createNewVersionOfSecret","activateVersionOfSecret","setStatusOfVersionOfSecret","deactivateVersionOfSecret","deleteVersionOfSecret"],"sources":["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\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 frodo.cloud.secret.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 frodo.idm.managed.resolveUserName(\n 'teammember',\n secret.lastChangedBy\n ),\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 frodo.cloud.secret.putSecret(\n id,\n value,\n description,\n encoding,\n useInPlaceholders\n );\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 frodo.cloud.secret.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 frodo.cloud.secret.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 frodo.cloud.secret.getSecrets()).result;\n createProgressBar(secrets.length, `Deleting secrets...`);\n for (const secret of secrets) {\n try {\n await frodo.cloud.secret.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 frodo.cloud.secret.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 frodo.cloud.secret.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 frodo.idm.managed.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 frodo.cloud.secret.createNewVersionOfSecret(\n secretId,\n value\n );\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 frodo.cloud.secret.setStatusOfVersionOfSecret(\n secretId,\n version,\n 'ENABLED'\n );\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 frodo.cloud.secret.setStatusOfVersionOfSecret(\n secretId,\n version,\n 'DISABLED'\n );\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 frodo.cloud.secret.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,192 +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
|
-
/**
|
|
5
|
-
* List services
|
|
6
|
-
*/
|
|
7
|
-
export async function listServices(long = false, globalConfig = false) {
|
|
8
|
-
try {
|
|
9
|
-
const services = await frodo.service.getListOfServices(globalConfig);
|
|
10
|
-
services.sort((a, b) => a._id.localeCompare(b._id));
|
|
11
|
-
if (long) {
|
|
12
|
-
const table = createTable(['Service Id', 'Service Name']);
|
|
13
|
-
for (const service of services) {
|
|
14
|
-
table.push([service._id, service.name]);
|
|
15
|
-
}
|
|
16
|
-
printMessage(table.toString(), 'data');
|
|
17
|
-
} else {
|
|
18
|
-
for (const service of services) {
|
|
19
|
-
printMessage(`${service._id}`, 'data');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
} catch (error) {
|
|
23
|
-
printMessage(`Error listing agents - ${error}`, 'error');
|
|
24
|
-
printMessage(error.stack, 'error');
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Export all services to file
|
|
30
|
-
* @param {string} file file name
|
|
31
|
-
*/
|
|
32
|
-
export async function exportServicesToFile(file, globalConfig = false) {
|
|
33
|
-
const exportData = await frodo.service.exportServices(globalConfig);
|
|
34
|
-
let fileName = frodo.utils.impex.getTypedFilename(`all${frodo.utils.impex.titleCase(frodo.helper.utils.getRealmName(state.getRealm()))}Services`, `service`);
|
|
35
|
-
if (file) {
|
|
36
|
-
fileName = file;
|
|
37
|
-
}
|
|
38
|
-
frodo.utils.impex.saveJsonToFile(exportData, fileName);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Export service to file
|
|
43
|
-
* @param {string} serviceId service id
|
|
44
|
-
* @param {string} file file name
|
|
45
|
-
*/
|
|
46
|
-
export async function exportServiceToFile(serviceId, file, globalConfig = false) {
|
|
47
|
-
const exportData = await frodo.service.exportService(serviceId, globalConfig);
|
|
48
|
-
let fileName = frodo.utils.impex.getTypedFilename(serviceId, `service`);
|
|
49
|
-
if (file) {
|
|
50
|
-
fileName = file;
|
|
51
|
-
}
|
|
52
|
-
frodo.utils.impex.saveJsonToFile(exportData, fileName);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Export all services to separate files
|
|
57
|
-
*/
|
|
58
|
-
export async function exportServicesToFiles(globalConfig = false) {
|
|
59
|
-
debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);
|
|
60
|
-
const services = await frodo.service.getFullServices(globalConfig);
|
|
61
|
-
for (const service of services) {
|
|
62
|
-
const fileName = frodo.utils.impex.getTypedFilename(service._type._id, `service`);
|
|
63
|
-
const exportData = frodo.service.createServiceExportTemplate();
|
|
64
|
-
exportData.service[service._type._id] = service;
|
|
65
|
-
debugMessage(`cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`);
|
|
66
|
-
frodo.utils.impex.saveJsonToFile(exportData, fileName);
|
|
67
|
-
}
|
|
68
|
-
debugMessage(`cli.ServiceOps.exportServicesToFiles: end.`);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Import a service from file
|
|
73
|
-
* @param {string} serviceId service id/name
|
|
74
|
-
* @param {string} file import file name
|
|
75
|
-
* @param {boolean} clean remove existing service
|
|
76
|
-
*/
|
|
77
|
-
export async function importServiceFromFile(serviceId, file, clean, globalConfig = false) {
|
|
78
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`);
|
|
79
|
-
const verbose = state.getVerbose();
|
|
80
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
81
|
-
if (err) throw err;
|
|
82
|
-
const importData = JSON.parse(data);
|
|
83
|
-
if (importData && importData.service[serviceId]) {
|
|
84
|
-
if (!verbose) showSpinner(`Importing ${serviceId}...`);
|
|
85
|
-
try {
|
|
86
|
-
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
87
|
-
await frodo.service.importService(serviceId, importData, clean, globalConfig);
|
|
88
|
-
succeedSpinner(`Imported ${serviceId}.`);
|
|
89
|
-
} catch (importError) {
|
|
90
|
-
var _importError$response, _importError$response2, _importError$response3, _importError$response4;
|
|
91
|
-
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;
|
|
92
|
-
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;
|
|
93
|
-
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
94
|
-
failSpinner(`${detail ? message + ' - ' + detail : message}`);
|
|
95
|
-
}
|
|
96
|
-
} else {
|
|
97
|
-
showSpinner(`Importing ${serviceId}...`);
|
|
98
|
-
failSpinner(`${serviceId} not found!`);
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: end [serviceId=${serviceId}, file=${file}]`);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Import first service from file
|
|
106
|
-
* @param {string} file import file name
|
|
107
|
-
* @param {boolean} clean remove existing service
|
|
108
|
-
*/
|
|
109
|
-
export async function importFirstServiceFromFile(file, clean, globalConfig = false) {
|
|
110
|
-
debugMessage(`cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`);
|
|
111
|
-
const verbose = state.getVerbose();
|
|
112
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
113
|
-
if (err) throw err;
|
|
114
|
-
const importData = JSON.parse(data);
|
|
115
|
-
if (importData && Object.keys(importData.service).length) {
|
|
116
|
-
const serviceId = Object.keys(importData.service)[0];
|
|
117
|
-
if (!verbose) showSpinner(`Importing ${serviceId}...`);
|
|
118
|
-
try {
|
|
119
|
-
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
120
|
-
await frodo.service.importService(serviceId, importData, clean, globalConfig);
|
|
121
|
-
succeedSpinner(`Imported ${serviceId}.`);
|
|
122
|
-
} catch (importError) {
|
|
123
|
-
var _importError$response5, _importError$response6, _importError$response7, _importError$response8;
|
|
124
|
-
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;
|
|
125
|
-
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;
|
|
126
|
-
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
127
|
-
failSpinner(`${detail ? message + ' - ' + detail : message}`);
|
|
128
|
-
}
|
|
129
|
-
} else {
|
|
130
|
-
showSpinner(`Importing service...`);
|
|
131
|
-
failSpinner(`No service found in ${file}!`);
|
|
132
|
-
}
|
|
133
|
-
debugMessage(`cli.ServiceOps.importFirstServiceFromFile: end [file=${file}]`);
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Import services from file
|
|
139
|
-
* @param {String} file file name
|
|
140
|
-
* @param {boolean} clean remove existing service
|
|
141
|
-
*/
|
|
142
|
-
export async function importServicesFromFile(file, clean, globalConfig = false) {
|
|
143
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: start [file=${file}]`);
|
|
144
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
145
|
-
if (err) throw err;
|
|
146
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: importing ${file}`);
|
|
147
|
-
const importData = JSON.parse(data);
|
|
148
|
-
try {
|
|
149
|
-
await frodo.service.importServices(importData, clean, globalConfig);
|
|
150
|
-
} catch (error) {
|
|
151
|
-
printMessage(`${error.message}`, 'error');
|
|
152
|
-
printMessage(error.response.status, 'error');
|
|
153
|
-
}
|
|
154
|
-
debugMessage(`cli.ServiceOps.importServiceFromFile: end [file=${file}]`);
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Import all services from separate files
|
|
160
|
-
* @param {boolean} clean remove existing service
|
|
161
|
-
*/
|
|
162
|
-
export async function importServicesFromFiles(clean, globalConfig = false) {
|
|
163
|
-
debugMessage(`cli.ServiceOps.importServicesFromFiles: start`);
|
|
164
|
-
const names = fs.readdirSync(frodo.utils.impex.getWorkingDirectory());
|
|
165
|
-
const agentFiles = names.filter(name => name.toLowerCase().endsWith('.service.json'));
|
|
166
|
-
for (const file of agentFiles) {
|
|
167
|
-
await importServicesFromFile(file, clean, globalConfig);
|
|
168
|
-
}
|
|
169
|
-
debugMessage(`cli.ServiceOps.importServicesFromFiles: end`);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Delete a service by id/name
|
|
174
|
-
* @param {string} serviceId Reference to the service to delete
|
|
175
|
-
*/
|
|
176
|
-
export async function deleteService(serviceId, globalConfig = false) {
|
|
177
|
-
try {
|
|
178
|
-
await frodo.service.deleteFullService(serviceId, globalConfig);
|
|
179
|
-
} catch (error) {
|
|
180
|
-
var _error$response, _error$response$data;
|
|
181
|
-
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;
|
|
182
|
-
printMessage(`Delete service '${serviceId}': ${message}`, 'error');
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Delete all services
|
|
188
|
-
*/
|
|
189
|
-
export async function deleteServices(globalConfig = false) {
|
|
190
|
-
await frodo.service.deleteFullServices(globalConfig);
|
|
191
|
-
}
|
|
192
|
-
//# sourceMappingURL=ServiceOps.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceOps.js","names":["frodo","state","fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","listServices","long","globalConfig","services","service","getListOfServices","sort","a","b","_id","localeCompare","table","push","name","toString","error","stack","exportServicesToFile","file","exportData","exportServices","fileName","utils","impex","getTypedFilename","titleCase","helper","getRealmName","getRealm","saveJsonToFile","exportServiceToFile","serviceId","exportService","exportServicesToFiles","getFullServices","_type","createServiceExportTemplate","importServiceFromFile","clean","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importService","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","importServices","status","importServicesFromFiles","names","readdirSync","getWorkingDirectory","agentFiles","filter","toLowerCase","endsWith","deleteService","deleteFullService","_error$response","_error$response$data","deleteServices","deleteFullServices"],"sources":["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\n/**\n * List services\n */\nexport async function listServices(long = false, globalConfig = false) {\n try {\n const services = await frodo.service.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 frodo.service.exportServices(globalConfig);\n let fileName = frodo.utils.impex.getTypedFilename(\n `all${frodo.utils.impex.titleCase(\n frodo.helper.utils.getRealmName(state.getRealm())\n )}Services`,\n `service`\n );\n if (file) {\n fileName = file;\n }\n frodo.utils.impex.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 frodo.service.exportService(serviceId, globalConfig);\n let fileName = frodo.utils.impex.getTypedFilename(serviceId, `service`);\n if (file) {\n fileName = file;\n }\n frodo.utils.impex.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 frodo.service.getFullServices(globalConfig);\n for (const service of services) {\n const fileName = frodo.utils.impex.getTypedFilename(\n service._type._id,\n `service`\n );\n const exportData = frodo.service.createServiceExportTemplate();\n exportData.service[service._type._id] = service;\n debugMessage(\n `cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`\n );\n frodo.utils.impex.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 frodo.service.importService(\n serviceId,\n importData,\n clean,\n globalConfig\n );\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 frodo.service.importService(\n serviceId,\n importData,\n clean,\n globalConfig\n );\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 frodo.service.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(frodo.utils.impex.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 frodo.service.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 frodo.service.deleteFullServices(globalConfig);\n}\n"],"mappings":"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"}
|
package/esm/ops/ThemeOps.js
DELETED
|
@@ -1,345 +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
|
-
/**
|
|
6
|
-
* Get a one-line description of the theme
|
|
7
|
-
* @param {ThemeSkeleton} themeObj theme object to describe
|
|
8
|
-
* @returns {string} a one-line description
|
|
9
|
-
*/
|
|
10
|
-
export function getOneLineDescription(themeObj) {
|
|
11
|
-
const description = `[${themeObj._id['brightCyan']}] ${themeObj.name}${themeObj.linkedTrees ? ' (' + themeObj.linkedTrees.join(', ')['brightCyan'] + ')' : ''}`;
|
|
12
|
-
return description;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Get markdown table header
|
|
17
|
-
* @returns {string} markdown table header
|
|
18
|
-
*/
|
|
19
|
-
export function getTableHeaderMd() {
|
|
20
|
-
let markdown = '';
|
|
21
|
-
markdown += '| Name | Linked Journey(s) | Id |\n';
|
|
22
|
-
markdown += '| ---- | ----------------- | ---|';
|
|
23
|
-
return markdown;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Get a table-row of the theme in markdown
|
|
28
|
-
* @param {ThemeSkeleton} themeObj theme object to describe
|
|
29
|
-
* @returns {string} a table-row of the theme in markdown
|
|
30
|
-
*/
|
|
31
|
-
export function getTableRowMd(themeObj) {
|
|
32
|
-
const row = `| ${themeObj.name} | ${themeObj.linkedTrees ? themeObj.linkedTrees.join(', ') : ''} | \`${themeObj._id}\` |`;
|
|
33
|
-
return row;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* List all the themes
|
|
38
|
-
* @param {boolean} long Long version, more fields
|
|
39
|
-
*/
|
|
40
|
-
export async function listThemes(long = false) {
|
|
41
|
-
const themeList = await frodo.theme.getThemes();
|
|
42
|
-
themeList.sort((a, b) => a.name.localeCompare(b.name));
|
|
43
|
-
if (!long) {
|
|
44
|
-
themeList.forEach(theme => {
|
|
45
|
-
printMessage(`${theme.isDefault ? theme.name['brightCyan'] : theme.name}`, 'data');
|
|
46
|
-
});
|
|
47
|
-
} else {
|
|
48
|
-
const table = createTable(['Name'['brightCyan'], 'Id'['brightCyan'], 'Default'['brightCyan']]);
|
|
49
|
-
themeList.forEach(theme => {
|
|
50
|
-
table.push([`${theme.name}`, `${theme._id}`, `${theme.isDefault ? 'Yes'['brightGreen'] : ''}`]);
|
|
51
|
-
});
|
|
52
|
-
printMessage(table.toString(), 'data');
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Export theme by name to file
|
|
58
|
-
* @param {String} name theme name
|
|
59
|
-
* @param {String} file optional export file name
|
|
60
|
-
*/
|
|
61
|
-
export async function exportThemeByName(name, file) {
|
|
62
|
-
let fileName = getTypedFilename(name, 'theme');
|
|
63
|
-
if (file) {
|
|
64
|
-
fileName = file;
|
|
65
|
-
}
|
|
66
|
-
createProgressIndicator('determinate', 1, `Exporting ${name}`);
|
|
67
|
-
try {
|
|
68
|
-
const themeData = await frodo.theme.getThemeByName(name);
|
|
69
|
-
updateProgressIndicator(`Writing file ${fileName}`);
|
|
70
|
-
saveToFile('theme', [themeData], '_id', fileName);
|
|
71
|
-
stopProgressIndicator(`Successfully exported theme ${name}.`);
|
|
72
|
-
} catch (error) {
|
|
73
|
-
stopProgressIndicator(`${error.message}`);
|
|
74
|
-
printMessage(`${error.message}`, 'error');
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Export theme by uuid to file
|
|
80
|
-
* @param {String} id theme uuid
|
|
81
|
-
* @param {String} file optional export file name
|
|
82
|
-
*/
|
|
83
|
-
export async function exportThemeById(id, file) {
|
|
84
|
-
let fileName = getTypedFilename(id, 'theme');
|
|
85
|
-
if (file) {
|
|
86
|
-
fileName = file;
|
|
87
|
-
}
|
|
88
|
-
createProgressIndicator('determinate', 1, `Exporting ${id}`);
|
|
89
|
-
try {
|
|
90
|
-
const themeData = await frodo.theme.getTheme(id);
|
|
91
|
-
updateProgressIndicator(`Writing file ${fileName}`);
|
|
92
|
-
saveToFile('theme', [themeData], '_id', fileName);
|
|
93
|
-
stopProgressIndicator(`Successfully exported theme ${id}.`);
|
|
94
|
-
} catch (error) {
|
|
95
|
-
stopProgressIndicator(`${error.message}`);
|
|
96
|
-
printMessage(`${error.message}`, 'error');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Export all themes to file
|
|
102
|
-
* @param {String} file optional export file name
|
|
103
|
-
*/
|
|
104
|
-
export async function exportThemesToFile(file) {
|
|
105
|
-
let fileName = getTypedFilename(`all${frodo.utils.impex.getRealmString()}Themes`, 'theme');
|
|
106
|
-
if (file) {
|
|
107
|
-
fileName = file;
|
|
108
|
-
}
|
|
109
|
-
const allThemesData = await frodo.theme.getThemes();
|
|
110
|
-
createProgressIndicator('determinate', allThemesData.length, 'Exporting themes');
|
|
111
|
-
for (const themeData of allThemesData) {
|
|
112
|
-
updateProgressIndicator(`Exporting theme ${themeData.name}`);
|
|
113
|
-
}
|
|
114
|
-
saveToFile('theme', allThemesData, '_id', fileName);
|
|
115
|
-
stopProgressIndicator(`${allThemesData.length} themes exported to ${fileName}.`);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Export all themes to separate files
|
|
120
|
-
*/
|
|
121
|
-
export async function exportThemesToFiles() {
|
|
122
|
-
const allThemesData = await frodo.theme.getThemes();
|
|
123
|
-
createProgressIndicator('determinate', allThemesData.length, 'Exporting themes');
|
|
124
|
-
for (const themeData of allThemesData) {
|
|
125
|
-
updateProgressIndicator(`Writing theme ${themeData.name}`);
|
|
126
|
-
const fileName = getTypedFilename(themeData.name, 'theme');
|
|
127
|
-
saveToFile('theme', themeData, '_id', fileName);
|
|
128
|
-
}
|
|
129
|
-
stopProgressIndicator(`${allThemesData.length} themes exported.`);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Import theme by name from file
|
|
134
|
-
* @param {String} name theme name
|
|
135
|
-
* @param {String} file import file name
|
|
136
|
-
*/
|
|
137
|
-
export async function importThemeByName(name, file) {
|
|
138
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
139
|
-
if (err) throw err;
|
|
140
|
-
const themeData = JSON.parse(data);
|
|
141
|
-
if (frodo.utils.impex.validateImport(themeData.meta)) {
|
|
142
|
-
createProgressIndicator('determinate', 1, 'Importing theme...');
|
|
143
|
-
let found = false;
|
|
144
|
-
for (const id in themeData.theme) {
|
|
145
|
-
if ({}.hasOwnProperty.call(themeData.theme, id)) {
|
|
146
|
-
if (themeData.theme[id].name === name) {
|
|
147
|
-
found = true;
|
|
148
|
-
updateProgressIndicator(`Importing ${themeData.theme[id].name}`);
|
|
149
|
-
try {
|
|
150
|
-
await frodo.theme.putThemeByName(name, themeData.theme[id]);
|
|
151
|
-
stopProgressIndicator(`Successfully imported theme ${name}.`);
|
|
152
|
-
} catch (error) {
|
|
153
|
-
stopProgressIndicator(`Error importing theme ${themeData.theme[id].name}: ${error.message}`);
|
|
154
|
-
printMessage(`Error importing theme ${themeData.theme[id].name}: ${error.message}`, 'error');
|
|
155
|
-
}
|
|
156
|
-
break;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
if (!found) {
|
|
161
|
-
stopProgressIndicator(`Theme ${name} not found!`);
|
|
162
|
-
}
|
|
163
|
-
} else {
|
|
164
|
-
printMessage('Import validation failed...', 'error');
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Import theme by uuid from file
|
|
171
|
-
* @param {String} id theme uuid
|
|
172
|
-
* @param {String} file import file name
|
|
173
|
-
*/
|
|
174
|
-
export async function importThemeById(id, file) {
|
|
175
|
-
fs.readFile(file, 'utf8', async (err, data) => {
|
|
176
|
-
if (err) throw err;
|
|
177
|
-
const themeData = JSON.parse(data);
|
|
178
|
-
if (frodo.utils.impex.validateImport(themeData.meta)) {
|
|
179
|
-
createProgressIndicator('determinate', 1, 'Importing theme...');
|
|
180
|
-
let found = false;
|
|
181
|
-
for (const themeId in themeData.theme) {
|
|
182
|
-
if ({}.hasOwnProperty.call(themeData.theme, themeId)) {
|
|
183
|
-
if (themeId === id) {
|
|
184
|
-
found = true;
|
|
185
|
-
updateProgressIndicator(`Importing ${themeData.theme[themeId]._id}`);
|
|
186
|
-
try {
|
|
187
|
-
await frodo.theme.putTheme(themeId, themeData.theme[themeId]);
|
|
188
|
-
stopProgressIndicator(`Successfully imported theme ${id}.`);
|
|
189
|
-
} catch (error) {
|
|
190
|
-
stopProgressIndicator(`Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`);
|
|
191
|
-
printMessage(`Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`, 'error');
|
|
192
|
-
}
|
|
193
|
-
break;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
if (!found) {
|
|
198
|
-
stopProgressIndicator(`Theme ${id} not found!`);
|
|
199
|
-
}
|
|
200
|
-
} else {
|
|
201
|
-
printMessage('Import validation failed...', 'error');
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Import all themes from single file
|
|
208
|
-
* @param {String} file import file name
|
|
209
|
-
*/
|
|
210
|
-
export async function importThemesFromFile(file) {
|
|
211
|
-
fs.readFile(file, 'utf8', (err, data) => {
|
|
212
|
-
if (err) throw err;
|
|
213
|
-
const fileData = JSON.parse(data);
|
|
214
|
-
if (frodo.utils.impex.validateImport(fileData.meta)) {
|
|
215
|
-
createProgressIndicator('determinate', Object.keys(fileData.theme).length, 'Importing themes...');
|
|
216
|
-
for (const id in fileData.theme) {
|
|
217
|
-
if ({}.hasOwnProperty.call(fileData.theme, id)) {
|
|
218
|
-
updateProgressIndicator(`Importing ${fileData.theme[id].name}`);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
frodo.theme.putThemes(fileData.theme).then(result => {
|
|
222
|
-
if (result == null) {
|
|
223
|
-
stopProgressIndicator(`Error importing ${Object.keys(fileData.theme).length} themes!`);
|
|
224
|
-
printMessage(`Error importing ${Object.keys(fileData.theme).length} themes from ${file}`, 'error');
|
|
225
|
-
} else {
|
|
226
|
-
stopProgressIndicator(`Successfully imported ${Object.keys(fileData.theme).length} themes.`);
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
} else {
|
|
230
|
-
printMessage('Import validation failed...', 'error');
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Import themes from separate files
|
|
237
|
-
*/
|
|
238
|
-
export async function importThemesFromFiles() {
|
|
239
|
-
const names = fs.readdirSync('.');
|
|
240
|
-
const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.theme.json'));
|
|
241
|
-
createProgressIndicator('determinate', jsonFiles.length, 'Importing themes...');
|
|
242
|
-
let fileData = null;
|
|
243
|
-
let count = 0;
|
|
244
|
-
let total = 0;
|
|
245
|
-
let files = 0;
|
|
246
|
-
for (const file of jsonFiles) {
|
|
247
|
-
const data = fs.readFileSync(file, 'utf8');
|
|
248
|
-
fileData = JSON.parse(data);
|
|
249
|
-
if (frodo.utils.impex.validateImport(fileData.meta)) {
|
|
250
|
-
count = Object.keys(fileData.theme).length;
|
|
251
|
-
// eslint-disable-next-line no-await-in-loop
|
|
252
|
-
const result = await frodo.theme.putThemes(fileData.theme);
|
|
253
|
-
if (result == null) {
|
|
254
|
-
printMessage(`Error importing ${count} themes from ${file}`, 'error');
|
|
255
|
-
} else {
|
|
256
|
-
files += 1;
|
|
257
|
-
total += count;
|
|
258
|
-
updateProgressIndicator(`Imported ${count} theme(s) from ${file}`);
|
|
259
|
-
}
|
|
260
|
-
} else {
|
|
261
|
-
printMessage(`Validation of ${file} failed!`, 'error');
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
stopProgressIndicator(`Finished importing ${total} theme(s) from ${files} file(s).`);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* Import first theme from file
|
|
269
|
-
* @param {String} file import file name
|
|
270
|
-
*/
|
|
271
|
-
export async function importFirstThemeFromFile(file) {
|
|
272
|
-
fs.readFile(file, 'utf8', (err, data) => {
|
|
273
|
-
if (err) throw err;
|
|
274
|
-
const themeData = JSON.parse(data);
|
|
275
|
-
if (frodo.utils.impex.validateImport(themeData.meta)) {
|
|
276
|
-
createProgressIndicator('determinate', 1, 'Importing theme...');
|
|
277
|
-
for (const id in themeData.theme) {
|
|
278
|
-
if ({}.hasOwnProperty.call(themeData.theme, id)) {
|
|
279
|
-
updateProgressIndicator(`Importing ${themeData.theme[id].name}`);
|
|
280
|
-
frodo.theme.putTheme(id, themeData.theme[id]).then(result => {
|
|
281
|
-
if (result == null) {
|
|
282
|
-
stopProgressIndicator(`Error importing theme ${themeData.theme[id].name}`);
|
|
283
|
-
printMessage(`Error importing theme ${themeData.theme[id].name}`, 'error');
|
|
284
|
-
} else {
|
|
285
|
-
stopProgressIndicator(`Successfully imported theme ${themeData.theme[id].name}`);
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
break;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
} else {
|
|
292
|
-
printMessage('Import validation failed...', 'error');
|
|
293
|
-
}
|
|
294
|
-
});
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Delete theme by id
|
|
299
|
-
* @param {String} id theme id
|
|
300
|
-
*/
|
|
301
|
-
export async function deleteThemeCmd(id) {
|
|
302
|
-
createProgressIndicator('indeterminate', undefined, `Deleting ${id}...`);
|
|
303
|
-
try {
|
|
304
|
-
await frodo.theme.deleteTheme(id);
|
|
305
|
-
stopProgressIndicator(`Deleted ${id}.`, 'success');
|
|
306
|
-
} catch (error) {
|
|
307
|
-
stopProgressIndicator(`Error: ${error.message}`, 'fail');
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
/**
|
|
312
|
-
* Delete theme by name
|
|
313
|
-
* @param {String} name theme name
|
|
314
|
-
*/
|
|
315
|
-
export async function deleteThemeByNameCmd(name) {
|
|
316
|
-
createProgressIndicator('indeterminate', undefined, `Deleting ${name}...`);
|
|
317
|
-
try {
|
|
318
|
-
await frodo.theme.deleteThemeByName(name);
|
|
319
|
-
stopProgressIndicator(`Deleted ${name}.`, 'success');
|
|
320
|
-
} catch (error) {
|
|
321
|
-
stopProgressIndicator(`Error: ${error.message}`, 'fail');
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Delete all themes
|
|
327
|
-
*/
|
|
328
|
-
export async function deleteAllThemes() {
|
|
329
|
-
createProgressIndicator('indeterminate', undefined, `Deleting all realm themes...`);
|
|
330
|
-
try {
|
|
331
|
-
await frodo.theme.deleteThemes();
|
|
332
|
-
stopProgressIndicator(`Deleted all realm themes.`, 'success');
|
|
333
|
-
} catch (error) {
|
|
334
|
-
stopProgressIndicator(`Error: ${error.message}`, 'fail');
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* Delete all themes
|
|
340
|
-
* @deprecated since version 0.14.0
|
|
341
|
-
*/
|
|
342
|
-
export async function deleteThemesCmd() {
|
|
343
|
-
return deleteAllThemes();
|
|
344
|
-
}
|
|
345
|
-
//# sourceMappingURL=ThemeOps.js.map
|