@rockcarver/frodo-cli 0.18.2-7 → 0.18.2-9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -1
- package/esm/app.js +2 -2
- package/esm/app.js.map +1 -1
- package/esm/cli/_template/something-delete.js +7 -4
- package/esm/cli/_template/something-delete.js.map +1 -1
- package/esm/cli/_template/something-describe.js +7 -4
- package/esm/cli/_template/something-describe.js.map +1 -1
- package/esm/cli/_template/something-else-delete.js +7 -4
- package/esm/cli/_template/something-else-delete.js.map +1 -1
- package/esm/cli/_template/something-else-describe.js +7 -4
- package/esm/cli/_template/something-else-describe.js.map +1 -1
- package/esm/cli/_template/something-else-export.js +7 -4
- package/esm/cli/_template/something-else-export.js.map +1 -1
- package/esm/cli/_template/something-else-import.js +7 -4
- package/esm/cli/_template/something-else-import.js.map +1 -1
- package/esm/cli/_template/something-else-list.js +7 -4
- package/esm/cli/_template/something-else-list.js.map +1 -1
- package/esm/cli/_template/something-else.js.map +1 -1
- package/esm/cli/_template/something-export.js +7 -4
- package/esm/cli/_template/something-export.js.map +1 -1
- package/esm/cli/_template/something-import.js +7 -4
- package/esm/cli/_template/something-import.js.map +1 -1
- package/esm/cli/_template/something-list.js +7 -4
- package/esm/cli/_template/something-list.js.map +1 -1
- package/esm/cli/_template/something-other-delete.js +7 -4
- package/esm/cli/_template/something-other-delete.js.map +1 -1
- package/esm/cli/_template/something-other-describe.js +7 -4
- package/esm/cli/_template/something-other-describe.js.map +1 -1
- package/esm/cli/_template/something-other-export.js +7 -4
- package/esm/cli/_template/something-other-export.js.map +1 -1
- package/esm/cli/_template/something-other-import.js +7 -4
- package/esm/cli/_template/something-other-import.js.map +1 -1
- package/esm/cli/_template/something-other-list.js +7 -4
- package/esm/cli/_template/something-other-list.js.map +1 -1
- package/esm/cli/_template/something-other.js.map +1 -1
- package/esm/cli/_template/something.js +0 -2
- package/esm/cli/_template/something.js.map +1 -1
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js +5 -3
- package/esm/cli/admin/admin-add-autoid-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js +7 -11
- package/esm/cli/admin/admin-create-oauth2-client-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-get-access-token.js +5 -3
- package/esm/cli/admin/admin-get-access-token.js.map +1 -1
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js +5 -3
- package/esm/cli/admin/admin-grant-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js +5 -3
- package/esm/cli/admin/admin-hide-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js +5 -3
- package/esm/cli/admin/admin-list-oauth2-clients-with-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js +5 -3
- package/esm/cli/admin/admin-list-oauth2-clients-with-custom-privileges.js.map +1 -1
- package/esm/cli/admin/admin-list-static-user-mappings.js +5 -3
- package/esm/cli/admin/admin-list-static-user-mappings.js.map +1 -1
- package/esm/cli/admin/admin-remove-static-user-mapping.js +5 -3
- package/esm/cli/admin/admin-remove-static-user-mapping.js.map +1 -1
- package/esm/cli/admin/admin-repair-org-model.js +5 -3
- package/esm/cli/admin/admin-repair-org-model.js.map +1 -1
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js +5 -3
- package/esm/cli/admin/admin-revoke-oauth2-client-admin-privileges.js.map +1 -1
- package/esm/cli/admin/admin-show-generic-extension-attributes.js +5 -3
- package/esm/cli/admin/admin-show-generic-extension-attributes.js.map +1 -1
- package/esm/cli/admin/admin.js +0 -2
- package/esm/cli/admin/admin.js.map +1 -1
- package/esm/cli/agent/agent-delete.js +9 -7
- package/esm/cli/agent/agent-delete.js.map +1 -1
- package/esm/cli/agent/agent-describe.js +7 -4
- package/esm/cli/agent/agent-describe.js.map +1 -1
- package/esm/cli/agent/agent-export.js +11 -6
- package/esm/cli/agent/agent-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-delete.js +9 -7
- package/esm/cli/agent/agent-gateway-delete.js.map +1 -1
- package/esm/cli/agent/agent-gateway-describe.js +7 -4
- package/esm/cli/agent/agent-gateway-describe.js.map +1 -1
- package/esm/cli/agent/agent-gateway-export.js +11 -6
- package/esm/cli/agent/agent-gateway-export.js.map +1 -1
- package/esm/cli/agent/agent-gateway-import.js +13 -7
- package/esm/cli/agent/agent-gateway-import.js.map +1 -1
- package/esm/cli/agent/agent-gateway-list.js +5 -3
- package/esm/cli/agent/agent-gateway-list.js.map +1 -1
- package/esm/cli/agent/agent-gateway.js.map +1 -1
- package/esm/cli/agent/agent-import.js +13 -7
- package/esm/cli/agent/agent-import.js.map +1 -1
- package/esm/cli/agent/agent-java-delete.js +9 -7
- package/esm/cli/agent/agent-java-delete.js.map +1 -1
- package/esm/cli/agent/agent-java-describe.js +7 -4
- package/esm/cli/agent/agent-java-describe.js.map +1 -1
- package/esm/cli/agent/agent-java-export.js +11 -6
- package/esm/cli/agent/agent-java-export.js.map +1 -1
- package/esm/cli/agent/agent-java-import.js +13 -7
- package/esm/cli/agent/agent-java-import.js.map +1 -1
- package/esm/cli/agent/agent-java-list.js +5 -3
- package/esm/cli/agent/agent-java-list.js.map +1 -1
- package/esm/cli/agent/agent-java.js.map +1 -1
- package/esm/cli/agent/agent-list.js +5 -3
- package/esm/cli/agent/agent-list.js.map +1 -1
- package/esm/cli/agent/agent-web-delete.js +9 -7
- package/esm/cli/agent/agent-web-delete.js.map +1 -1
- package/esm/cli/agent/agent-web-describe.js +7 -4
- package/esm/cli/agent/agent-web-describe.js.map +1 -1
- package/esm/cli/agent/agent-web-export.js +11 -6
- package/esm/cli/agent/agent-web-export.js.map +1 -1
- package/esm/cli/agent/agent-web-import.js +13 -7
- package/esm/cli/agent/agent-web-import.js.map +1 -1
- package/esm/cli/agent/agent-web-list.js +5 -3
- package/esm/cli/agent/agent-web-list.js.map +1 -1
- package/esm/cli/agent/agent-web.js.map +1 -1
- package/esm/cli/agent/agent.js +0 -2
- package/esm/cli/agent/agent.js.map +1 -1
- package/esm/cli/app/app-delete.js +7 -4
- package/esm/cli/app/app-delete.js.map +1 -1
- package/esm/cli/app/app-describe.js +7 -4
- package/esm/cli/app/app-describe.js.map +1 -1
- package/esm/cli/app/app-export.js +11 -6
- package/esm/cli/app/app-export.js.map +1 -1
- package/esm/cli/app/app-import.js +9 -5
- package/esm/cli/app/app-import.js.map +1 -1
- package/esm/cli/app/app-list.js +5 -3
- package/esm/cli/app/app-list.js.map +1 -1
- package/esm/cli/app/app.js +8 -5
- package/esm/cli/app/app.js.map +1 -1
- package/esm/cli/cmd_common.js +2 -1
- package/esm/cli/cmd_common.js.map +1 -1
- package/esm/cli/conn/conn-add.js +5 -5
- package/esm/cli/conn/conn-add.js.map +1 -1
- package/esm/cli/conn/conn-delete.js +5 -2
- package/esm/cli/conn/conn-delete.js.map +1 -1
- package/esm/cli/conn/conn-describe.js +5 -2
- package/esm/cli/conn/conn-describe.js.map +1 -1
- package/esm/cli/conn/conn-list.js +7 -3
- package/esm/cli/conn/conn-list.js.map +1 -1
- package/esm/cli/conn/conn.js +2 -3
- package/esm/cli/conn/conn.js.map +1 -1
- package/esm/cli/email/email-template-export.js +13 -12
- package/esm/cli/email/email-template-export.js.map +1 -1
- package/esm/cli/email/email-template-import.js +15 -14
- package/esm/cli/email/email-template-import.js.map +1 -1
- package/esm/cli/email/email-template-list.js +7 -7
- package/esm/cli/email/email-template-list.js.map +1 -1
- package/esm/cli/email/email-template.js.map +1 -1
- package/esm/cli/email/email.js +0 -2
- package/esm/cli/email/email.js.map +1 -1
- package/esm/cli/esv/esv-apply.js +9 -11
- package/esm/cli/esv/esv-apply.js.map +1 -1
- package/esm/cli/esv/esv-secret-create.js +5 -3
- package/esm/cli/esv/esv-secret-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-delete.js +9 -5
- package/esm/cli/esv/esv-secret-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-describe.js +5 -3
- package/esm/cli/esv/esv-secret-describe.js.map +1 -1
- package/esm/cli/esv/esv-secret-export.js +7 -4
- package/esm/cli/esv/esv-secret-export.js.map +1 -1
- package/esm/cli/esv/esv-secret-import.js +7 -4
- package/esm/cli/esv/esv-secret-import.js.map +1 -1
- package/esm/cli/esv/esv-secret-list.js +5 -3
- package/esm/cli/esv/esv-secret-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-set.js +5 -3
- package/esm/cli/esv/esv-secret-set.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-activate.js +7 -4
- package/esm/cli/esv/esv-secret-version-activate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-create.js +5 -3
- package/esm/cli/esv/esv-secret-version-create.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-deactivate.js +7 -4
- package/esm/cli/esv/esv-secret-version-deactivate.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-delete.js +7 -4
- package/esm/cli/esv/esv-secret-version-delete.js.map +1 -1
- package/esm/cli/esv/esv-secret-version-list.js +5 -3
- package/esm/cli/esv/esv-secret-version-list.js.map +1 -1
- package/esm/cli/esv/esv-secret-version.js.map +1 -1
- package/esm/cli/esv/esv-secret.js +4 -1
- package/esm/cli/esv/esv-secret.js.map +1 -1
- package/esm/cli/esv/esv-variable-create.js +5 -3
- package/esm/cli/esv/esv-variable-create.js.map +1 -1
- package/esm/cli/esv/esv-variable-delete.js +9 -5
- package/esm/cli/esv/esv-variable-delete.js.map +1 -1
- package/esm/cli/esv/esv-variable-describe.js +5 -3
- package/esm/cli/esv/esv-variable-describe.js.map +1 -1
- package/esm/cli/esv/esv-variable-export.js +7 -4
- package/esm/cli/esv/esv-variable-export.js.map +1 -1
- package/esm/cli/esv/esv-variable-import.js +7 -4
- package/esm/cli/esv/esv-variable-import.js.map +1 -1
- package/esm/cli/esv/esv-variable-list.js +5 -3
- package/esm/cli/esv/esv-variable-list.js.map +1 -1
- package/esm/cli/esv/esv-variable-set.js +7 -4
- package/esm/cli/esv/esv-variable-set.js.map +1 -1
- package/esm/cli/esv/esv-variable.js +4 -1
- package/esm/cli/esv/esv-variable.js.map +1 -1
- package/esm/cli/esv/esv.js +0 -2
- package/esm/cli/esv/esv.js.map +1 -1
- package/esm/cli/idm/idm-count.js +5 -3
- package/esm/cli/idm/idm-count.js.map +1 -1
- package/esm/cli/idm/idm-export.js +11 -6
- package/esm/cli/idm/idm-export.js.map +1 -1
- package/esm/cli/idm/idm-import.js +11 -6
- package/esm/cli/idm/idm-import.js.map +1 -1
- package/esm/cli/idm/idm-list.js +7 -4
- package/esm/cli/idm/idm-list.js.map +1 -1
- package/esm/cli/idm/idm.js +2 -3
- package/esm/cli/idm/idm.js.map +1 -1
- package/esm/cli/idp/idp-export.js +11 -6
- package/esm/cli/idp/idp-export.js.map +1 -1
- package/esm/cli/idp/idp-import.js +13 -7
- package/esm/cli/idp/idp-import.js.map +1 -1
- package/esm/cli/idp/idp-list.js +7 -4
- package/esm/cli/idp/idp-list.js.map +1 -1
- package/esm/cli/idp/idp.js +0 -2
- package/esm/cli/idp/idp.js.map +1 -1
- package/esm/cli/info/info.js +0 -5
- package/esm/cli/info/info.js.map +1 -1
- package/esm/cli/journey/journey-delete.e2e.test_.js.map +1 -1
- package/esm/cli/journey/journey-delete.js +9 -5
- package/esm/cli/journey/journey-delete.js.map +1 -1
- package/esm/cli/journey/journey-describe.js +31 -28
- package/esm/cli/journey/journey-describe.js.map +1 -1
- package/esm/cli/journey/journey-disable.js +9 -6
- package/esm/cli/journey/journey-disable.js.map +1 -1
- package/esm/cli/journey/journey-enable.js +9 -6
- package/esm/cli/journey/journey-enable.js.map +1 -1
- package/esm/cli/journey/journey-export.js +11 -6
- package/esm/cli/journey/journey-export.js.map +1 -1
- package/esm/cli/journey/journey-import.js +13 -7
- package/esm/cli/journey/journey-import.js.map +1 -1
- package/esm/cli/journey/journey-list.e2e.test_.js.map +1 -1
- package/esm/cli/journey/journey-list.js +5 -3
- package/esm/cli/journey/journey-list.js.map +1 -1
- package/esm/cli/journey/journey-prune.js +5 -5
- package/esm/cli/journey/journey-prune.js.map +1 -1
- package/esm/cli/journey/journey.js +0 -2
- package/esm/cli/journey/journey.js.map +1 -1
- package/esm/cli/logging/logs-fetch.js +2 -11
- package/esm/cli/logging/logs-fetch.js.map +1 -1
- package/esm/cli/logging/logs-list.js +0 -5
- package/esm/cli/logging/logs-list.js.map +1 -1
- package/esm/cli/logging/logs-tail.js +0 -4
- package/esm/cli/logging/logs-tail.js.map +1 -1
- package/esm/cli/logging/logs.js +2 -4
- package/esm/cli/logging/logs.js.map +1 -1
- package/esm/cli/realm/realm-add-custom-domain.js +5 -3
- package/esm/cli/realm/realm-add-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm-describe.js +5 -3
- package/esm/cli/realm/realm-describe.js.map +1 -1
- package/esm/cli/realm/realm-list.js +5 -3
- package/esm/cli/realm/realm-list.js.map +1 -1
- package/esm/cli/realm/realm-remove-custom-domain.js +5 -3
- package/esm/cli/realm/realm-remove-custom-domain.js.map +1 -1
- package/esm/cli/realm/realm.js +5 -4
- package/esm/cli/realm/realm.js.map +1 -1
- package/esm/cli/saml/saml-cot-export.js +11 -6
- package/esm/cli/saml/saml-cot-export.js.map +1 -1
- package/esm/cli/saml/saml-cot-import.js +13 -7
- package/esm/cli/saml/saml-cot-import.js.map +1 -1
- package/esm/cli/saml/saml-cot-list.js +5 -3
- package/esm/cli/saml/saml-cot-list.js.map +1 -1
- package/esm/cli/saml/saml-cot.js.map +1 -1
- package/esm/cli/saml/saml-delete.js +11 -6
- package/esm/cli/saml/saml-delete.js.map +1 -1
- package/esm/cli/saml/saml-describe.js +5 -3
- package/esm/cli/saml/saml-describe.js.map +1 -1
- package/esm/cli/saml/saml-export.js +13 -7
- package/esm/cli/saml/saml-export.js.map +1 -1
- package/esm/cli/saml/saml-import.js +13 -7
- package/esm/cli/saml/saml-import.js.map +1 -1
- package/esm/cli/saml/saml-list.js +5 -3
- package/esm/cli/saml/saml-list.js.map +1 -1
- package/esm/cli/saml/saml-metadata-export.js +7 -4
- package/esm/cli/saml/saml-metadata-export.js.map +1 -1
- package/esm/cli/saml/saml-metadata.js.map +1 -1
- package/esm/cli/saml/saml.js +0 -2
- package/esm/cli/saml/saml.js.map +1 -1
- package/esm/cli/script/script-delete.js +7 -4
- package/esm/cli/script/script-delete.js.map +1 -1
- package/esm/cli/script/script-describe.js +7 -4
- package/esm/cli/script/script-describe.js.map +1 -1
- package/esm/cli/script/script-export.js +15 -8
- package/esm/cli/script/script-export.js.map +1 -1
- package/esm/cli/script/script-import.js +7 -4
- package/esm/cli/script/script-import.js.map +1 -1
- package/esm/cli/script/script-list.js +5 -3
- package/esm/cli/script/script-list.js.map +1 -1
- package/esm/cli/script/script.js +6 -4
- package/esm/cli/script/script.js.map +1 -1
- package/esm/cli/service/service-delete.js +0 -1
- package/esm/cli/service/service-delete.js.map +1 -1
- package/esm/cli/service/service-export.js +11 -6
- package/esm/cli/service/service-export.js.map +1 -1
- package/esm/cli/service/service-import.js +13 -6
- package/esm/cli/service/service-import.js.map +1 -1
- package/esm/cli/service/service-list.js +0 -1
- package/esm/cli/service/service-list.js.map +1 -1
- package/esm/cli/service/service.js +0 -2
- package/esm/cli/service/service.js.map +1 -1
- package/esm/cli/theme/theme-delete.e2e.test_.js.map +1 -1
- package/esm/cli/theme/theme-delete.js +16 -14
- package/esm/cli/theme/theme-delete.js.map +1 -1
- package/esm/cli/theme/theme-export.js +17 -15
- package/esm/cli/theme/theme-export.js.map +1 -1
- package/esm/cli/theme/theme-import.js +19 -17
- package/esm/cli/theme/theme-import.js.map +1 -1
- package/esm/cli/theme/theme-list.e2e.test_.js.map +1 -1
- package/esm/cli/theme/theme-list.js +7 -7
- package/esm/cli/theme/theme-list.js.map +1 -1
- package/esm/cli/theme/theme.js +0 -2
- package/esm/cli/theme/theme.js.map +1 -1
- package/esm/ops/AgentOps.js +48 -126
- package/esm/ops/AgentOps.js.map +1 -1
- package/esm/ops/CirclesOfTrustOps.js +2 -2
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/EmailTemplateOps.js +270 -6
- package/esm/ops/EmailTemplateOps.js.map +1 -1
- package/esm/ops/IdpOps.js +2 -2
- package/esm/ops/IdpOps.js.map +1 -1
- package/esm/ops/JourneyOps.js +96 -152
- package/esm/ops/JourneyOps.js.map +1 -1
- package/esm/ops/NodeOps.js +6 -12
- package/esm/ops/NodeOps.js.map +1 -1
- package/esm/ops/Saml2Ops.js +25 -78
- package/esm/ops/Saml2Ops.js.map +1 -1
- package/esm/ops/Saml2Ops.test_.js.map +1 -1
- package/esm/ops/ScriptOps.js +3 -3
- package/esm/ops/ScriptOps.js.map +1 -1
- package/esm/ops/ServiceOps.js +10 -31
- package/esm/ops/ServiceOps.js.map +1 -1
- package/esm/ops/ThemeOps.js +331 -2
- package/esm/ops/ThemeOps.js.map +1 -1
- package/esm/ops/utils/Wordwrap.js.map +1 -1
- package/esm/storage/StaticStorage.js.map +1 -1
- package/esm/utils/Config.js +0 -9
- package/esm/utils/Config.js.map +1 -1
- package/esm/utils/Console.js +32 -79
- package/esm/utils/Console.js.map +1 -1
- package/esm/utils/ExportImportUtils.js +46 -0
- package/esm/utils/ExportImportUtils.js.map +1 -0
- package/esm/utils/Version.js +6 -24
- package/esm/utils/Version.js.map +1 -1
- package/package.json +18 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Saml2Ops.test_.js","names":["Saml2","describe","test","expect","listSaml2Providers","toBeDefined","exportSaml2ProviderToFile","exportSaml2MetadataToFile","describeSaml2Provider","exportSaml2ProvidersToFile","exportSaml2ProvidersToFiles","importSaml2ProviderFromFile","importFirstSaml2ProviderFromFile","importSaml2ProvidersFromFile","importSaml2ProvidersFromFiles","exportRawSaml2ProviderToFile","exportRawSaml2ProvidersToFile","exportRawSaml2ProvidersToFiles","importRawSaml2ProvidersFromFile","importRawSaml2ProvidersFromFiles","importRawSaml2ProviderFromFile"],"sources":["ops/Saml2Ops.test_.ts"],"sourcesContent":["import * as Saml2 from './Saml2Ops';\n\ndescribe('Saml2Ops - listSaml2Providers()', () => {\n test('listSaml2Providers() 0: Method is implemented', async () => {\n expect(Saml2.listSaml2Providers).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProviderToFile()', () => {\n test('exportSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2MetadataToFile()', () => {\n test('exportSaml2MetadataToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2MetadataToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - describeSaml2Provider()', () => {\n test('describeSaml2Provider() 0: Method is implemented', async () => {\n expect(Saml2.describeSaml2Provider).toBeDefined();\n });\n\n // test('describeSaml2Provider() 1: Describe saml2 entity provider', async () => {\n // mockFindSaml2Providers(mock);\n // mockGetSaml2ProviderByLocationAndId(mock);\n // mockGetSaml2ProviderMetadata(mock);\n // expect.assertions(2);\n // await Saml2.describeSaml2Provider('iSPAzure');\n // expect(true).toBeTruthy();\n // });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFile()', () => {\n test('exportSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFiles()', () => {\n test('exportSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProviderFromFile()', () => {\n test('importSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importFirstSaml2ProviderFromFile()', () => {\n test('importFirstSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importFirstSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFile()', () => {\n test('importSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFiles()', () => {\n test('importSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProviderToFile()', () => {\n test('exportRawSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFile()', () => {\n test('exportRawSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFiles()', () => {\n test('exportRawSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFile()', () => {\n test('importRawSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFiles()', () => {\n test('importRawSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProviderFromFile()', () => {\n test('importRawSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProviderFromFile).toBeDefined();\n });\n});\n"],"mappings":"AAAA,OAAO,KAAKA,
|
|
1
|
+
{"version":3,"file":"Saml2Ops.test_.js","names":["Saml2","describe","test","expect","listSaml2Providers","toBeDefined","exportSaml2ProviderToFile","exportSaml2MetadataToFile","describeSaml2Provider","exportSaml2ProvidersToFile","exportSaml2ProvidersToFiles","importSaml2ProviderFromFile","importFirstSaml2ProviderFromFile","importSaml2ProvidersFromFile","importSaml2ProvidersFromFiles","exportRawSaml2ProviderToFile","exportRawSaml2ProvidersToFile","exportRawSaml2ProvidersToFiles","importRawSaml2ProvidersFromFile","importRawSaml2ProvidersFromFiles","importRawSaml2ProviderFromFile"],"sources":["ops/Saml2Ops.test_.ts"],"sourcesContent":["import * as Saml2 from './Saml2Ops';\n\ndescribe('Saml2Ops - listSaml2Providers()', () => {\n test('listSaml2Providers() 0: Method is implemented', async () => {\n expect(Saml2.listSaml2Providers).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProviderToFile()', () => {\n test('exportSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2MetadataToFile()', () => {\n test('exportSaml2MetadataToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2MetadataToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - describeSaml2Provider()', () => {\n test('describeSaml2Provider() 0: Method is implemented', async () => {\n expect(Saml2.describeSaml2Provider).toBeDefined();\n });\n\n // test('describeSaml2Provider() 1: Describe saml2 entity provider', async () => {\n // mockFindSaml2Providers(mock);\n // mockGetSaml2ProviderByLocationAndId(mock);\n // mockGetSaml2ProviderMetadata(mock);\n // expect.assertions(2);\n // await Saml2.describeSaml2Provider('iSPAzure');\n // expect(true).toBeTruthy();\n // });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFile()', () => {\n test('exportSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportSaml2ProvidersToFiles()', () => {\n test('exportSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProviderFromFile()', () => {\n test('importSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importFirstSaml2ProviderFromFile()', () => {\n test('importFirstSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importFirstSaml2ProviderFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFile()', () => {\n test('importSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importSaml2ProvidersFromFiles()', () => {\n test('importSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProviderToFile()', () => {\n test('exportRawSaml2ProviderToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProviderToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFile()', () => {\n test('exportRawSaml2ProvidersToFile() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - exportRawSaml2ProvidersToFiles()', () => {\n test('exportRawSaml2ProvidersToFiles() 0: Method is implemented', async () => {\n expect(Saml2.exportRawSaml2ProvidersToFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFile()', () => {\n test('importRawSaml2ProvidersFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFile).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProvidersFromFiles()', () => {\n test('importRawSaml2ProvidersFromFiles() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProvidersFromFiles).toBeDefined();\n });\n});\n\ndescribe('Saml2Ops - importRawSaml2ProviderFromFile()', () => {\n test('importRawSaml2ProviderFromFile() 0: Method is implemented', async () => {\n expect(Saml2.importRawSaml2ProviderFromFile).toBeDefined();\n });\n});\n"],"mappings":"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"}
|
package/esm/ops/ScriptOps.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { ExportImportUtils } from '@rockcarver/frodo-lib';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* Get a one-line description of the script object
|
|
4
5
|
* @param {ScriptSkeleton} scriptObj script object to describe
|
|
5
6
|
* @returns {string} a one-line description
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
8
|
export function getOneLineDescription(scriptObj) {
|
|
9
9
|
const description = `[${scriptObj._id['brightCyan']}] ${scriptObj.context} - ${scriptObj.name}`;
|
|
10
10
|
return description;
|
|
11
11
|
}
|
|
12
|
+
|
|
12
13
|
/**
|
|
13
14
|
* Get markdown table header
|
|
14
15
|
* @returns {string} markdown table header
|
|
15
16
|
*/
|
|
16
|
-
|
|
17
17
|
export function getTableHeaderMd() {
|
|
18
18
|
let markdown = '';
|
|
19
19
|
markdown += '| Name | Language | Type | Id |\n';
|
|
20
20
|
markdown += '| ---- | -------- | ---- | ---|';
|
|
21
21
|
return markdown;
|
|
22
22
|
}
|
|
23
|
+
|
|
23
24
|
/**
|
|
24
25
|
* Get a one-line description of the script object in markdown
|
|
25
26
|
* @param {ScriptSkeleton} scriptObj script object to describe
|
|
26
27
|
* @returns {string} markdown table row
|
|
27
28
|
*/
|
|
28
|
-
|
|
29
29
|
export function getTableRowMd(scriptObj) {
|
|
30
30
|
const langMap = {
|
|
31
31
|
JAVASCRIPT: 'JavaSscript',
|
package/esm/ops/ScriptOps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptOps.js","names":["ExportImportUtils","getOneLineDescription","scriptObj","description","_id","context","name","getTableHeaderMd","markdown","getTableRowMd","langMap","JAVASCRIPT","GROOVY","language","titleCase","split","join"],"sources":["ops/ScriptOps.ts"],"sourcesContent":["import { ScriptSkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport { ExportImportUtils } from '@rockcarver/frodo-lib';\n\n/**\n * Get a one-line description of the script object\n * @param {ScriptSkeleton} scriptObj script object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(scriptObj: ScriptSkeleton): string {\n const description = `[${scriptObj._id['brightCyan']}] ${scriptObj.context} - ${scriptObj.name}`;\n return description;\n}\n\n/**\n * Get markdown table header\n * @returns {string} markdown table header\n */\nexport function getTableHeaderMd(): string {\n let markdown = '';\n markdown += '| Name | Language | Type | Id |\\n';\n markdown += '| ---- | -------- | ---- | ---|';\n return markdown;\n}\n\n/**\n * Get a one-line description of the script object in markdown\n * @param {ScriptSkeleton} scriptObj script object to describe\n * @returns {string} markdown table row\n */\nexport function getTableRowMd(scriptObj: ScriptSkeleton): string {\n const langMap = { JAVASCRIPT: 'JavaSscript', GROOVY: 'Groovy' };\n const description = `| ${scriptObj.name} | ${\n langMap[scriptObj.language]\n } | ${ExportImportUtils.titleCase(\n scriptObj.context.split('_').join(' ')\n )} | \\`${scriptObj._id}\\` |`;\n return description;\n}\n"],"mappings":"AACA,SAASA,
|
|
1
|
+
{"version":3,"file":"ScriptOps.js","names":["ExportImportUtils","getOneLineDescription","scriptObj","description","_id","context","name","getTableHeaderMd","markdown","getTableRowMd","langMap","JAVASCRIPT","GROOVY","language","titleCase","split","join"],"sources":["ops/ScriptOps.ts"],"sourcesContent":["import { ScriptSkeleton } from '@rockcarver/frodo-lib/types/api/ApiTypes';\nimport { ExportImportUtils } from '@rockcarver/frodo-lib';\n\n/**\n * Get a one-line description of the script object\n * @param {ScriptSkeleton} scriptObj script object to describe\n * @returns {string} a one-line description\n */\nexport function getOneLineDescription(scriptObj: ScriptSkeleton): string {\n const description = `[${scriptObj._id['brightCyan']}] ${scriptObj.context} - ${scriptObj.name}`;\n return description;\n}\n\n/**\n * Get markdown table header\n * @returns {string} markdown table header\n */\nexport function getTableHeaderMd(): string {\n let markdown = '';\n markdown += '| Name | Language | Type | Id |\\n';\n markdown += '| ---- | -------- | ---- | ---|';\n return markdown;\n}\n\n/**\n * Get a one-line description of the script object in markdown\n * @param {ScriptSkeleton} scriptObj script object to describe\n * @returns {string} markdown table row\n */\nexport function getTableRowMd(scriptObj: ScriptSkeleton): string {\n const langMap = { JAVASCRIPT: 'JavaSscript', GROOVY: 'Groovy' };\n const description = `| ${scriptObj.name} | ${\n langMap[scriptObj.language]\n } | ${ExportImportUtils.titleCase(\n scriptObj.context.split('_').join(' ')\n )} | \\`${scriptObj._id}\\` |`;\n return description;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,uBAAuB;;AAEzD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqB,CAACC,SAAyB,EAAU;EACvE,MAAMC,WAAW,GAAI,IAAGD,SAAS,CAACE,GAAG,CAAC,YAAY,CAAE,KAAIF,SAAS,CAACG,OAAQ,MAAKH,SAAS,CAACI,IAAK,EAAC;EAC/F,OAAOH,WAAW;AACpB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASI,gBAAgB,GAAW;EACzC,IAAIC,QAAQ,GAAG,EAAE;EACjBA,QAAQ,IAAI,mCAAmC;EAC/CA,QAAQ,IAAI,iCAAiC;EAC7C,OAAOA,QAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAa,CAACP,SAAyB,EAAU;EAC/D,MAAMQ,OAAO,GAAG;IAAEC,UAAU,EAAE,aAAa;IAAEC,MAAM,EAAE;EAAS,CAAC;EAC/D,MAAMT,WAAW,GAAI,KAAID,SAAS,CAACI,IAAK,MACtCI,OAAO,CAACR,SAAS,CAACW,QAAQ,CAC3B,MAAKb,iBAAiB,CAACc,SAAS,CAC/BZ,SAAS,CAACG,OAAO,CAACU,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CACtC,QAAOd,SAAS,CAACE,GAAI,MAAK;EAC5B,OAAOD,WAAW;AACpB"}
|
package/esm/ops/ServiceOps.js
CHANGED
|
@@ -21,22 +21,19 @@ const {
|
|
|
21
21
|
const {
|
|
22
22
|
getRealmName
|
|
23
23
|
} = Utils;
|
|
24
|
+
|
|
24
25
|
/**
|
|
25
26
|
* List services
|
|
26
27
|
*/
|
|
27
|
-
|
|
28
28
|
export async function listServices(long = false) {
|
|
29
29
|
try {
|
|
30
30
|
const services = await getListOfServices();
|
|
31
31
|
services.sort((a, b) => a._id.localeCompare(b._id));
|
|
32
|
-
|
|
33
32
|
if (long) {
|
|
34
33
|
const table = createTable(['Service Id', 'Service Name']);
|
|
35
|
-
|
|
36
34
|
for (const service of services) {
|
|
37
35
|
table.push([service._id, service.name]);
|
|
38
36
|
}
|
|
39
|
-
|
|
40
37
|
printMessage(table.toString(), 'data');
|
|
41
38
|
} else {
|
|
42
39
|
for (const service of services) {
|
|
@@ -48,45 +45,40 @@ export async function listServices(long = false) {
|
|
|
48
45
|
printMessage(error.stack, 'error');
|
|
49
46
|
}
|
|
50
47
|
}
|
|
48
|
+
|
|
51
49
|
/**
|
|
52
50
|
* Export all services to file
|
|
53
51
|
* @param {string} file file name
|
|
54
52
|
*/
|
|
55
|
-
|
|
56
53
|
export async function exportServicesToFile(file) {
|
|
57
54
|
const exportData = await exportServices();
|
|
58
55
|
let fileName = getTypedFilename(`all${titleCase(getRealmName(state.default.session.getRealm()))}Services`, `service`);
|
|
59
|
-
|
|
60
56
|
if (file) {
|
|
61
57
|
fileName = file;
|
|
62
58
|
}
|
|
63
|
-
|
|
64
59
|
saveJsonToFile(exportData, fileName);
|
|
65
60
|
}
|
|
61
|
+
|
|
66
62
|
/**
|
|
67
63
|
* Export service to file
|
|
68
64
|
* @param {string} serviceId service id
|
|
69
65
|
* @param {string} file file name
|
|
70
66
|
*/
|
|
71
|
-
|
|
72
67
|
export async function exportServiceToFile(serviceId, file) {
|
|
73
68
|
const exportData = await exportService(serviceId);
|
|
74
69
|
let fileName = getTypedFilename(serviceId, `service`);
|
|
75
|
-
|
|
76
70
|
if (file) {
|
|
77
71
|
fileName = file;
|
|
78
72
|
}
|
|
79
|
-
|
|
80
73
|
saveJsonToFile(exportData, fileName);
|
|
81
74
|
}
|
|
75
|
+
|
|
82
76
|
/**
|
|
83
77
|
* Export all services to separate files
|
|
84
78
|
*/
|
|
85
|
-
|
|
86
79
|
export async function exportServicesToFiles() {
|
|
87
80
|
debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);
|
|
88
81
|
const services = await getFullServices();
|
|
89
|
-
|
|
90
82
|
for (const service of services) {
|
|
91
83
|
const fileName = getTypedFilename(service._type._id, `service`);
|
|
92
84
|
const exportData = createServiceExportTemplate();
|
|
@@ -94,33 +86,29 @@ export async function exportServicesToFiles() {
|
|
|
94
86
|
debugMessage(`cli.ServiceOps.exportServicesToFiles: exporting ${service._type._id} to ${fileName}`);
|
|
95
87
|
saveJsonToFile(exportData, fileName);
|
|
96
88
|
}
|
|
97
|
-
|
|
98
89
|
debugMessage(`cli.ServiceOps.exportServicesToFiles: end.`);
|
|
99
90
|
}
|
|
91
|
+
|
|
100
92
|
/**
|
|
101
93
|
* Import a service from file
|
|
102
94
|
* @param {string} serviceId service id/name
|
|
103
95
|
* @param {string} file import file name
|
|
104
96
|
* @param {boolean} clean remove existing service
|
|
105
97
|
*/
|
|
106
|
-
|
|
107
98
|
export async function importServiceFromFile(serviceId, file, clean) {
|
|
108
99
|
debugMessage(`cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`);
|
|
109
100
|
const verbose = state.default.session.getVerbose();
|
|
110
101
|
fs.readFile(file, 'utf8', async (err, data) => {
|
|
111
102
|
if (err) throw err;
|
|
112
103
|
const importData = JSON.parse(data);
|
|
113
|
-
|
|
114
104
|
if (importData && importData.service[serviceId]) {
|
|
115
105
|
if (!verbose) showSpinner(`Importing ${serviceId}...`);
|
|
116
|
-
|
|
117
106
|
try {
|
|
118
107
|
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
119
108
|
await importService(serviceId, importData, clean);
|
|
120
109
|
succeedSpinner(`Imported ${serviceId}.`);
|
|
121
110
|
} catch (importError) {
|
|
122
111
|
var _importError$response, _importError$response2, _importError$response3, _importError$response4;
|
|
123
|
-
|
|
124
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;
|
|
125
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;
|
|
126
114
|
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
@@ -133,30 +121,27 @@ export async function importServiceFromFile(serviceId, file, clean) {
|
|
|
133
121
|
});
|
|
134
122
|
debugMessage(`cli.ServiceOps.importServiceFromFile: end [serviceId=${serviceId}, file=${file}]`);
|
|
135
123
|
}
|
|
124
|
+
|
|
136
125
|
/**
|
|
137
126
|
* Import first service from file
|
|
138
127
|
* @param {string} file import file name
|
|
139
128
|
* @param {boolean} clean remove existing service
|
|
140
129
|
*/
|
|
141
|
-
|
|
142
130
|
export async function importFirstServiceFromFile(file, clean) {
|
|
143
131
|
debugMessage(`cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`);
|
|
144
132
|
const verbose = state.default.session.getVerbose();
|
|
145
133
|
fs.readFile(file, 'utf8', async (err, data) => {
|
|
146
134
|
if (err) throw err;
|
|
147
135
|
const importData = JSON.parse(data);
|
|
148
|
-
|
|
149
136
|
if (importData && Object.keys(importData.service).length) {
|
|
150
137
|
const serviceId = Object.keys(importData.service)[0];
|
|
151
138
|
if (!verbose) showSpinner(`Importing ${serviceId}...`);
|
|
152
|
-
|
|
153
139
|
try {
|
|
154
140
|
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
155
141
|
await importService(serviceId, importData, clean);
|
|
156
142
|
succeedSpinner(`Imported ${serviceId}.`);
|
|
157
143
|
} catch (importError) {
|
|
158
144
|
var _importError$response5, _importError$response6, _importError$response7, _importError$response8;
|
|
159
|
-
|
|
160
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;
|
|
161
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;
|
|
162
147
|
if (verbose) showSpinner(`Importing ${serviceId}...`);
|
|
@@ -166,68 +151,62 @@ export async function importFirstServiceFromFile(file, clean) {
|
|
|
166
151
|
showSpinner(`Importing service...`);
|
|
167
152
|
failSpinner(`No service found in ${file}!`);
|
|
168
153
|
}
|
|
169
|
-
|
|
170
154
|
debugMessage(`cli.ServiceOps.importFirstServiceFromFile: end [file=${file}]`);
|
|
171
155
|
});
|
|
172
156
|
}
|
|
157
|
+
|
|
173
158
|
/**
|
|
174
159
|
* Import services from file
|
|
175
160
|
* @param {String} file file name
|
|
176
161
|
* @param {boolean} clean remove existing service
|
|
177
162
|
*/
|
|
178
|
-
|
|
179
163
|
export async function importServicesFromFile(file, clean) {
|
|
180
164
|
debugMessage(`cli.ServiceOps.importServiceFromFile: start [file=${file}]`);
|
|
181
165
|
fs.readFile(file, 'utf8', async (err, data) => {
|
|
182
166
|
if (err) throw err;
|
|
183
167
|
debugMessage(`cli.ServiceOps.importServiceFromFile: importing ${file}`);
|
|
184
168
|
const importData = JSON.parse(data);
|
|
185
|
-
|
|
186
169
|
try {
|
|
187
170
|
await importServices(importData, clean);
|
|
188
171
|
} catch (error) {
|
|
189
172
|
printMessage(`${error.message}`, 'error');
|
|
190
173
|
printMessage(error.response.status, 'error');
|
|
191
174
|
}
|
|
192
|
-
|
|
193
175
|
debugMessage(`cli.ServiceOps.importServiceFromFile: end [file=${file}]`);
|
|
194
176
|
});
|
|
195
177
|
}
|
|
178
|
+
|
|
196
179
|
/**
|
|
197
180
|
* Import all services from separate files
|
|
198
181
|
* @param {boolean} clean remove existing service
|
|
199
182
|
*/
|
|
200
|
-
|
|
201
183
|
export async function importServicesFromFiles(clean) {
|
|
202
184
|
debugMessage(`cli.ServiceOps.importServicesFromFiles: start`);
|
|
203
185
|
const names = fs.readdirSync(getWorkingDirectory());
|
|
204
186
|
const agentFiles = names.filter(name => name.toLowerCase().endsWith('.service.json'));
|
|
205
|
-
|
|
206
187
|
for (const file of agentFiles) {
|
|
207
188
|
await importServicesFromFile(file, clean);
|
|
208
189
|
}
|
|
209
|
-
|
|
210
190
|
debugMessage(`cli.ServiceOps.importServicesFromFiles: end`);
|
|
211
191
|
}
|
|
192
|
+
|
|
212
193
|
/**
|
|
213
194
|
* Delete a service by id/name
|
|
214
195
|
* @param {string} serviceId Reference to the service to delete
|
|
215
196
|
*/
|
|
216
|
-
|
|
217
197
|
export async function deleteService(serviceId) {
|
|
218
198
|
try {
|
|
219
199
|
await deleteFullService(serviceId);
|
|
220
200
|
} catch (error) {
|
|
221
201
|
var _error$response, _error$response$data;
|
|
222
|
-
|
|
223
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;
|
|
224
203
|
printMessage(`Delete service '${serviceId}': ${message}`, 'error');
|
|
225
204
|
}
|
|
226
205
|
}
|
|
206
|
+
|
|
227
207
|
/**
|
|
228
208
|
* Delete all services
|
|
229
209
|
*/
|
|
230
|
-
|
|
231
210
|
export async function deleteServices() {
|
|
232
211
|
await deleteFullServices();
|
|
233
212
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceOps.js","names":["fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","ExportImportUtils","Service","Utils","state","createServiceExportTemplate","deleteFullServices","deleteFullService","getListOfServices","getFullServices","exportServices","exportService","importServices","importService","getTypedFilename","getWorkingDirectory","saveJsonToFile","titleCase","getRealmName","listServices","long","services","sort","a","b","_id","localeCompare","table","service","push","name","toString","error","stack","exportServicesToFile","file","exportData","fileName","default","session","getRealm","exportServiceToFile","serviceId","exportServicesToFiles","_type","importServiceFromFile","clean","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importError","message","response","detail","importFirstServiceFromFile","Object","keys","length","importServicesFromFile","status","importServicesFromFiles","names","readdirSync","agentFiles","filter","toLowerCase","endsWith","deleteService","deleteServices"],"sources":["ops/ServiceOps.ts"],"sourcesContent":["import fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport {\n ExportImportUtils,\n Service,\n Utils,\n state,\n} from '@rockcarver/frodo-lib';\nimport { ServiceExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\n\nconst {\n createServiceExportTemplate,\n deleteFullServices,\n deleteFullService,\n getListOfServices,\n getFullServices,\n exportServices,\n exportService,\n importServices,\n importService,\n} = Service;\nconst { getTypedFilename, getWorkingDirectory, saveJsonToFile, titleCase } =\n ExportImportUtils;\nconst { getRealmName } = Utils;\n\n/**\n * List services\n */\nexport async function listServices(long = false) {\n try {\n const services = await getListOfServices();\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) {\n const exportData = await exportServices();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.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(serviceId: string, file: string) {\n const exportData = await exportService(serviceId);\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() {\n debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);\n const services = await getFullServices();\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) {\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`\n );\n const verbose = state.default.session.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);\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(file: string, clean: boolean) {\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`\n );\n const verbose = state.default.session.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);\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(file: string, clean: boolean) {\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);\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(clean: boolean) {\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);\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) {\n try {\n await deleteFullService(serviceId);\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() {\n await deleteFullServices();\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServiceOps.js","names":["fs","printMessage","createTable","debugMessage","showSpinner","succeedSpinner","failSpinner","ExportImportUtils","Service","Utils","state","createServiceExportTemplate","deleteFullServices","deleteFullService","getListOfServices","getFullServices","exportServices","exportService","importServices","importService","getTypedFilename","getWorkingDirectory","saveJsonToFile","titleCase","getRealmName","listServices","long","services","sort","a","b","_id","localeCompare","table","service","push","name","toString","error","stack","exportServicesToFile","file","exportData","fileName","default","session","getRealm","exportServiceToFile","serviceId","exportServicesToFiles","_type","importServiceFromFile","clean","verbose","getVerbose","readFile","err","data","importData","JSON","parse","importError","message","response","detail","importFirstServiceFromFile","Object","keys","length","importServicesFromFile","status","importServicesFromFiles","names","readdirSync","agentFiles","filter","toLowerCase","endsWith","deleteService","deleteServices"],"sources":["ops/ServiceOps.ts"],"sourcesContent":["import fs from 'fs';\nimport {\n printMessage,\n createTable,\n debugMessage,\n showSpinner,\n succeedSpinner,\n failSpinner,\n} from '../utils/Console';\nimport {\n ExportImportUtils,\n Service,\n Utils,\n state,\n} from '@rockcarver/frodo-lib';\nimport { ServiceExportInterface } from '@rockcarver/frodo-lib/types/ops/OpsTypes';\n\nconst {\n createServiceExportTemplate,\n deleteFullServices,\n deleteFullService,\n getListOfServices,\n getFullServices,\n exportServices,\n exportService,\n importServices,\n importService,\n} = Service;\nconst { getTypedFilename, getWorkingDirectory, saveJsonToFile, titleCase } =\n ExportImportUtils;\nconst { getRealmName } = Utils;\n\n/**\n * List services\n */\nexport async function listServices(long = false) {\n try {\n const services = await getListOfServices();\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) {\n const exportData = await exportServices();\n let fileName = getTypedFilename(\n `all${titleCase(getRealmName(state.default.session.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(serviceId: string, file: string) {\n const exportData = await exportService(serviceId);\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() {\n debugMessage(`cli.ServiceOps.exportServicesToFiles: start`);\n const services = await getFullServices();\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) {\n debugMessage(\n `cli.ServiceOps.importServiceFromFile: start [serviceId=${serviceId}, file=${file}]`\n );\n const verbose = state.default.session.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);\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(file: string, clean: boolean) {\n debugMessage(\n `cli.ServiceOps.importFirstServiceFromFile: start [file=${file}]`\n );\n const verbose = state.default.session.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);\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(file: string, clean: boolean) {\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);\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(clean: boolean) {\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);\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) {\n try {\n await deleteFullService(serviceId);\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() {\n await deleteFullServices();\n}\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,IAAI;AACnB,SACEC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,cAAc,EACdC,WAAW,QACN,kBAAkB;AACzB,SACEC,iBAAiB,EACjBC,OAAO,EACPC,KAAK,EACLC,KAAK,QACA,uBAAuB;AAG9B,MAAM;EACJC,2BAA2B;EAC3BC,kBAAkB;EAClBC,iBAAiB;EACjBC,iBAAiB;EACjBC,eAAe;EACfC,cAAc;EACdC,aAAa;EACbC,cAAc;EACdC;AACF,CAAC,GAAGX,OAAO;AACX,MAAM;EAAEY,gBAAgB;EAAEC,mBAAmB;EAAEC,cAAc;EAAEC;AAAU,CAAC,GACxEhB,iBAAiB;AACnB,MAAM;EAAEiB;AAAa,CAAC,GAAGf,KAAK;;AAE9B;AACA;AACA;AACA,OAAO,eAAegB,YAAY,CAACC,IAAI,GAAG,KAAK,EAAE;EAC/C,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMb,iBAAiB,EAAE;IAC1Ca,QAAQ,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,GAAG,CAACC,aAAa,CAACF,CAAC,CAACC,GAAG,CAAC,CAAC;IACnD,IAAIL,IAAI,EAAE;MACR,MAAMO,KAAK,GAAG/B,WAAW,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;MACzD,KAAK,MAAMgC,OAAO,IAAIP,QAAQ,EAAE;QAC9BM,KAAK,CAACE,IAAI,CAAC,CAACD,OAAO,CAACH,GAAG,EAAEG,OAAO,CAACE,IAAI,CAAC,CAAC;MACzC;MACAnC,YAAY,CAACgC,KAAK,CAACI,QAAQ,EAAE,EAAE,MAAM,CAAC;IACxC,CAAC,MAAM;MACL,KAAK,MAAMH,OAAO,IAAIP,QAAQ,EAAE;QAC9B1B,YAAY,CAAE,GAAEiC,OAAO,CAACH,GAAI,EAAC,EAAE,MAAM,CAAC;MACxC;IACF;EACF,CAAC,CAAC,OAAOO,KAAK,EAAE;IACdrC,YAAY,CAAE,0BAAyBqC,KAAM,EAAC,EAAE,OAAO,CAAC;IACxDrC,YAAY,CAACqC,KAAK,CAACC,KAAK,EAAE,OAAO,CAAC;EACpC;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeC,oBAAoB,CAACC,IAAI,EAAE;EAC/C,MAAMC,UAAU,GAAG,MAAM1B,cAAc,EAAE;EACzC,IAAI2B,QAAQ,GAAGvB,gBAAgB,CAC5B,MAAKG,SAAS,CAACC,YAAY,CAACd,KAAK,CAACkC,OAAO,CAACC,OAAO,CAACC,QAAQ,EAAE,CAAC,CAAE,UAAS,EACxE,SAAQ,CACV;EACD,IAAIL,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAnB,cAAc,CAACoB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeI,mBAAmB,CAACC,SAAiB,EAAEP,IAAY,EAAE;EACzE,MAAMC,UAAU,GAAG,MAAMzB,aAAa,CAAC+B,SAAS,CAAC;EACjD,IAAIL,QAAQ,GAAGvB,gBAAgB,CAAC4B,SAAS,EAAG,SAAQ,CAAC;EACrD,IAAIP,IAAI,EAAE;IACRE,QAAQ,GAAGF,IAAI;EACjB;EACAnB,cAAc,CAACoB,UAAU,EAAEC,QAAQ,CAAC;AACtC;;AAEA;AACA;AACA;AACA,OAAO,eAAeM,qBAAqB,GAAG;EAC5C9C,YAAY,CAAE,6CAA4C,CAAC;EAC3D,MAAMwB,QAAQ,GAAG,MAAMZ,eAAe,EAAE;EACxC,KAAK,MAAMmB,OAAO,IAAIP,QAAQ,EAAE;IAC9B,MAAMgB,QAAQ,GAAGvB,gBAAgB,CAACc,OAAO,CAACgB,KAAK,CAACnB,GAAG,EAAG,SAAQ,CAAC;IAC/D,MAAMW,UAAU,GAAG/B,2BAA2B,EAAE;IAChD+B,UAAU,CAACR,OAAO,CAACA,OAAO,CAACgB,KAAK,CAACnB,GAAG,CAAC,GAAGG,OAAO;IAC/C/B,YAAY,CACT,mDAAkD+B,OAAO,CAACgB,KAAK,CAACnB,GAAI,OAAMY,QAAS,EAAC,CACtF;IACDrB,cAAc,CAACoB,UAAU,EAAEC,QAAQ,CAAC;EACtC;EACAxC,YAAY,CAAE,4CAA2C,CAAC;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAegD,qBAAqB,CACzCH,SAAiB,EACjBP,IAAY,EACZW,KAAc,EACd;EACAjD,YAAY,CACT,0DAAyD6C,SAAU,UAASP,IAAK,GAAE,CACrF;EACD,MAAMY,OAAO,GAAG3C,KAAK,CAACkC,OAAO,CAACC,OAAO,CAACS,UAAU,EAAE;EAClDtD,EAAE,CAACuD,QAAQ,CAACd,IAAI,EAAE,MAAM,EAAE,OAAOe,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,MAAME,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACnC,IAAIC,UAAU,IAAIA,UAAU,CAACxB,OAAO,CAACc,SAAS,CAAC,EAAE;MAC/C,IAAI,CAACK,OAAO,EAAEjD,WAAW,CAAE,aAAY4C,SAAU,KAAI,CAAC;MACtD,IAAI;QACF,IAAIK,OAAO,EAAEjD,WAAW,CAAE,aAAY4C,SAAU,KAAI,CAAC;QACrD,MAAM7B,aAAa,CAAC6B,SAAS,EAAEU,UAAU,EAAEN,KAAK,CAAC;QACjD/C,cAAc,CAAE,YAAW2C,SAAU,GAAE,CAAC;MAC1C,CAAC,CAAC,OAAOa,WAAW,EAAE;QAAA;QACpB,MAAMC,OAAO,4BAAGD,WAAW,CAACE,QAAQ,oFAApB,sBAAsBN,IAAI,2DAA1B,uBAA4BK,OAAO;QACnD,MAAME,MAAM,6BAAGH,WAAW,CAACE,QAAQ,qFAApB,uBAAsBN,IAAI,2DAA1B,uBAA4BO,MAAM;QACjD,IAAIX,OAAO,EAAEjD,WAAW,CAAE,aAAY4C,SAAU,KAAI,CAAC;QACrD1C,WAAW,CAAE,GAAE0D,MAAM,GAAGF,OAAO,GAAG,KAAK,GAAGE,MAAM,GAAGF,OAAQ,EAAC,CAAC;MAC/D;IACF,CAAC,MAAM;MACL1D,WAAW,CAAE,aAAY4C,SAAU,KAAI,CAAC;MACxC1C,WAAW,CAAE,GAAE0C,SAAU,aAAY,CAAC;IACxC;EACF,CAAC,CAAC;EACF7C,YAAY,CACT,wDAAuD6C,SAAU,UAASP,IAAK,GAAE,CACnF;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAewB,0BAA0B,CAACxB,IAAY,EAAEW,KAAc,EAAE;EAC7EjD,YAAY,CACT,0DAAyDsC,IAAK,GAAE,CAClE;EACD,MAAMY,OAAO,GAAG3C,KAAK,CAACkC,OAAO,CAACC,OAAO,CAACS,UAAU,EAAE;EAClDtD,EAAE,CAACuD,QAAQ,CAACd,IAAI,EAAE,MAAM,EAAE,OAAOe,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClB,MAAME,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IACnC,IAAIC,UAAU,IAAIQ,MAAM,CAACC,IAAI,CAACT,UAAU,CAACxB,OAAO,CAAC,CAACkC,MAAM,EAAE;MACxD,MAAMpB,SAAS,GAAGkB,MAAM,CAACC,IAAI,CAACT,UAAU,CAACxB,OAAO,CAAC,CAAC,CAAC,CAAC;MACpD,IAAI,CAACmB,OAAO,EAAEjD,WAAW,CAAE,aAAY4C,SAAU,KAAI,CAAC;MACtD,IAAI;QACF,IAAIK,OAAO,EAAEjD,WAAW,CAAE,aAAY4C,SAAU,KAAI,CAAC;QACrD,MAAM7B,aAAa,CAAC6B,SAAS,EAAEU,UAAU,EAAEN,KAAK,CAAC;QACjD/C,cAAc,CAAE,YAAW2C,SAAU,GAAE,CAAC;MAC1C,CAAC,CAAC,OAAOa,WAAW,EAAE;QAAA;QACpB,MAAMC,OAAO,6BAAGD,WAAW,CAACE,QAAQ,qFAApB,uBAAsBN,IAAI,2DAA1B,uBAA4BK,OAAO;QACnD,MAAME,MAAM,6BAAGH,WAAW,CAACE,QAAQ,qFAApB,uBAAsBN,IAAI,2DAA1B,uBAA4BO,MAAM;QACjD,IAAIX,OAAO,EAAEjD,WAAW,CAAE,aAAY4C,SAAU,KAAI,CAAC;QACrD1C,WAAW,CAAE,GAAE0D,MAAM,GAAGF,OAAO,GAAG,KAAK,GAAGE,MAAM,GAAGF,OAAQ,EAAC,CAAC;MAC/D;IACF,CAAC,MAAM;MACL1D,WAAW,CAAE,sBAAqB,CAAC;MACnCE,WAAW,CAAE,uBAAsBmC,IAAK,GAAE,CAAC;IAC7C;IACAtC,YAAY,CACT,wDAAuDsC,IAAK,GAAE,CAChE;EACH,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe4B,sBAAsB,CAAC5B,IAAY,EAAEW,KAAc,EAAE;EACzEjD,YAAY,CAAE,qDAAoDsC,IAAK,GAAE,CAAC;EAC1EzC,EAAE,CAACuD,QAAQ,CAACd,IAAI,EAAE,MAAM,EAAE,OAAOe,GAAG,EAAEC,IAAI,KAAK;IAC7C,IAAID,GAAG,EAAE,MAAMA,GAAG;IAClBrD,YAAY,CAAE,mDAAkDsC,IAAK,EAAC,CAAC;IACvE,MAAMiB,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAA2B;IAC7D,IAAI;MACF,MAAMvC,cAAc,CAACwC,UAAU,EAAEN,KAAK,CAAC;IACzC,CAAC,CAAC,OAAOd,KAAK,EAAE;MACdrC,YAAY,CAAE,GAAEqC,KAAK,CAACwB,OAAQ,EAAC,EAAE,OAAO,CAAC;MACzC7D,YAAY,CAACqC,KAAK,CAACyB,QAAQ,CAACO,MAAM,EAAE,OAAO,CAAC;IAC9C;IACAnE,YAAY,CAAE,mDAAkDsC,IAAK,GAAE,CAAC;EAC1E,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAe8B,uBAAuB,CAACnB,KAAc,EAAE;EAC5DjD,YAAY,CAAE,+CAA8C,CAAC;EAC7D,MAAMqE,KAAK,GAAGxE,EAAE,CAACyE,WAAW,CAACpD,mBAAmB,EAAE,CAAC;EACnD,MAAMqD,UAAU,GAAGF,KAAK,CAACG,MAAM,CAAEvC,IAAI,IACnCA,IAAI,CAACwC,WAAW,EAAE,CAACC,QAAQ,CAAC,eAAe,CAAC,CAC7C;EACD,KAAK,MAAMpC,IAAI,IAAIiC,UAAU,EAAE;IAC7B,MAAML,sBAAsB,CAAC5B,IAAI,EAAEW,KAAK,CAAC;EAC3C;EACAjD,YAAY,CAAE,6CAA4C,CAAC;AAC7D;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAe2E,aAAa,CAAC9B,SAAiB,EAAE;EACrD,IAAI;IACF,MAAMnC,iBAAiB,CAACmC,SAAS,CAAC;EACpC,CAAC,CAAC,OAAOV,KAAK,EAAE;IAAA;IACd,MAAMwB,OAAO,sBAAGxB,KAAK,CAACyB,QAAQ,4EAAd,gBAAgBN,IAAI,yDAApB,qBAAsBK,OAAO;IAC7C7D,YAAY,CAAE,mBAAkB+C,SAAU,MAAKc,OAAQ,EAAC,EAAE,OAAO,CAAC;EACpE;AACF;;AAEA;AACA;AACA;AACA,OAAO,eAAeiB,cAAc,GAAG;EACrC,MAAMnE,kBAAkB,EAAE;AAC5B"}
|