unleash-server 5.7.2 → 5.8.1
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/dist/lib/addons/datadog-definition.js +1 -1
- package/dist/lib/addons/datadog-definition.js.map +1 -1
- package/dist/lib/addons/datadog.test.js +7 -0
- package/dist/lib/addons/datadog.test.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.test.js +16 -0
- package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
- package/dist/lib/addons/slack-app.test.js +2 -0
- package/dist/lib/addons/slack-app.test.js.map +1 -1
- package/dist/lib/addons/slack.test.js +9 -0
- package/dist/lib/addons/slack.test.js.map +1 -1
- package/dist/lib/addons/teams.test.js +6 -0
- package/dist/lib/addons/teams.test.js.map +1 -1
- package/dist/lib/addons/webhook.test.js +5 -0
- package/dist/lib/addons/webhook.test.js.map +1 -1
- package/dist/lib/app.js +4 -3
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/app.test.js +38 -0
- package/dist/lib/app.test.js.map +1 -1
- package/dist/lib/create-config.d.ts.map +1 -1
- package/dist/lib/create-config.js +3 -0
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/access-store.d.ts.map +1 -1
- package/dist/lib/db/access-store.js +26 -2
- package/dist/lib/db/access-store.js.map +1 -1
- package/dist/lib/db/access-store.test.js +13 -0
- package/dist/lib/db/access-store.test.js.map +1 -1
- package/dist/lib/db/account-store.d.ts.map +1 -1
- package/dist/lib/db/account-store.js +1 -0
- package/dist/lib/db/account-store.js.map +1 -1
- package/dist/lib/db/event-store.d.ts +1 -0
- package/dist/lib/db/event-store.d.ts.map +1 -1
- package/dist/lib/db/event-store.js +3 -0
- package/dist/lib/db/event-store.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.test.js +3 -0
- package/dist/lib/db/feature-strategy-store.test.js.map +1 -1
- package/dist/lib/db/feature-tag-store.d.ts +6 -5
- package/dist/lib/db/feature-tag-store.d.ts.map +1 -1
- package/dist/lib/db/feature-tag-store.js +15 -5
- package/dist/lib/db/feature-tag-store.js.map +1 -1
- package/dist/lib/db/index.d.ts.map +1 -1
- package/dist/lib/db/index.js +3 -1
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/db/user-store.d.ts.map +1 -1
- package/dist/lib/db/user-store.js +1 -0
- package/dist/lib/db/user-store.js.map +1 -1
- package/dist/lib/features/access/createAccessService.js +2 -2
- package/dist/lib/features/access/createAccessService.js.map +1 -1
- package/dist/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.js +1 -0
- package/dist/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.js.map +1 -1
- package/dist/lib/features/dependent-features/dependent-features-service.d.ts +4 -4
- package/dist/lib/features/dependent-features/dependent-features-service.d.ts.map +1 -1
- package/dist/lib/features/dependent-features/dependent-features-service.js +11 -8
- package/dist/lib/features/dependent-features/dependent-features-service.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-controller.d.ts.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-controller.js +1 -1
- package/dist/lib/features/export-import-toggles/export-import-controller.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-service.d.ts +2 -2
- package/dist/lib/features/export-import-toggles/export-import-service.d.ts.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-service.js +27 -17
- package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import.e2e.test.js +35 -5
- package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-search/createFeatureSearchService.d.ts.map +1 -1
- package/dist/lib/features/feature-search/createFeatureSearchService.js +6 -6
- package/dist/lib/features/feature-search/createFeatureSearchService.js.map +1 -1
- package/dist/lib/features/feature-search/fake-feature-search-store.d.ts +10 -0
- package/dist/lib/features/feature-search/fake-feature-search-store.d.ts.map +1 -0
- package/dist/lib/features/feature-search/fake-feature-search-store.js +9 -0
- package/dist/lib/features/feature-search/fake-feature-search-store.js.map +1 -0
- package/dist/lib/features/feature-search/feature-search-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-controller.js +4 -3
- package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-service.d.ts +2 -2
- package/dist/lib/features/feature-search/feature-search-service.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-service.js +9 -4
- package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-store-type.d.ts +9 -0
- package/dist/lib/features/feature-search/feature-search-store-type.d.ts.map +1 -0
- package/dist/lib/features/feature-search/feature-search-store-type.js +3 -0
- package/dist/lib/features/feature-search/feature-search-store-type.js.map +1 -0
- package/dist/lib/features/feature-search/feature-search-store.d.ts +24 -0
- package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -0
- package/dist/lib/features/feature-search/feature-search-store.js +323 -0
- package/dist/lib/features/feature-search/feature-search-store.js.map +1 -0
- package/dist/lib/features/feature-search/feature.search.e2e.test.js +101 -6
- package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js +2 -2
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js +2 -2
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts +1 -5
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +0 -3
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts +5 -2
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js +3 -0
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-controller.js +7 -7
- package/dist/lib/features/feature-toggle/feature-toggle-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +25 -23
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.js +79 -51
- package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts +10 -3
- package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-store.js +44 -13
- package/dist/lib/features/feature-toggle/feature-toggle-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts +0 -5
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +2 -201
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js +20 -16
- package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.js +4 -0
- package/dist/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js +24 -23
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js +17 -3
- package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js +17 -3
- package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.js +9 -3
- package/dist/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +21 -7
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts +5 -2
- package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts +2 -5
- package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
- package/dist/lib/features/index.d.ts +1 -0
- package/dist/lib/features/index.d.ts.map +1 -1
- package/dist/lib/features/index.js +1 -0
- package/dist/lib/features/index.js.map +1 -1
- package/dist/lib/features/maintenance/maintenance-controller.d.ts.map +1 -1
- package/dist/lib/features/maintenance/maintenance-controller.js +1 -1
- package/dist/lib/features/maintenance/maintenance-controller.js.map +1 -1
- package/dist/lib/features/maintenance/maintenance-service.d.ts +1 -1
- package/dist/lib/features/maintenance/maintenance-service.d.ts.map +1 -1
- package/dist/lib/features/maintenance/maintenance-service.js +2 -2
- package/dist/lib/features/maintenance/maintenance-service.js.map +1 -1
- package/dist/lib/features/maintenance/maintenance-service.test.js +1 -1
- package/dist/lib/features/maintenance/maintenance-service.test.js.map +1 -1
- package/dist/lib/features/playground/advanced-playground.test.js +0 -1
- package/dist/lib/features/playground/advanced-playground.test.js.map +1 -1
- package/dist/lib/features/playground/playground-service.d.ts.map +1 -1
- package/dist/lib/features/playground/playground-service.js +9 -11
- package/dist/lib/features/playground/playground-service.js.map +1 -1
- package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts.map +1 -1
- package/dist/lib/features/private-project/fakePrivateProjectChecker.js +2 -1
- package/dist/lib/features/private-project/fakePrivateProjectChecker.js.map +1 -1
- package/dist/lib/features/project/createProjectService.js +2 -2
- package/dist/lib/features/project/createProjectService.js.map +1 -1
- package/dist/lib/features/project-environments/createEnvironmentService.d.ts +6 -0
- package/dist/lib/features/project-environments/createEnvironmentService.d.ts.map +1 -0
- package/dist/lib/features/project-environments/createEnvironmentService.js +60 -0
- package/dist/lib/features/project-environments/createEnvironmentService.js.map +1 -0
- package/dist/lib/{services → features/project-environments}/environment-service.d.ts +6 -6
- package/dist/lib/features/project-environments/environment-service.d.ts.map +1 -0
- package/dist/lib/{services → features/project-environments}/environment-service.js +13 -10
- package/dist/lib/features/project-environments/environment-service.js.map +1 -0
- package/dist/lib/features/project-environments/environment-service.test.d.ts.map +1 -0
- package/dist/{test/e2e/services → lib/features/project-environments}/environment-service.test.js +24 -18
- package/dist/lib/features/project-environments/environment-service.test.js.map +1 -0
- package/dist/lib/{types/stores/environment-store.d.ts → features/project-environments/environment-store-type.d.ts} +3 -3
- package/dist/lib/features/project-environments/environment-store-type.d.ts.map +1 -0
- package/dist/lib/{types/stores/environment-store.js → features/project-environments/environment-store-type.js} +1 -1
- package/dist/lib/features/project-environments/environment-store-type.js.map +1 -0
- package/dist/lib/{db → features/project-environments}/environment-store.d.ts +4 -4
- package/dist/lib/features/project-environments/environment-store.d.ts.map +1 -0
- package/dist/lib/{db → features/project-environments}/environment-store.js +4 -4
- package/dist/lib/features/project-environments/environment-store.js.map +1 -0
- package/dist/lib/{routes/admin-api/project → features/project-environments}/environments.d.ts +5 -5
- package/dist/lib/features/project-environments/environments.d.ts.map +1 -0
- package/dist/lib/features/project-environments/environments.e2e.test.d.ts.map +1 -0
- package/dist/{test/e2e/api/admin/project → lib/features/project-environments}/environments.e2e.test.js +4 -4
- package/dist/lib/features/project-environments/environments.e2e.test.js.map +1 -0
- package/dist/lib/{routes/admin-api/project → features/project-environments}/environments.js +9 -9
- package/dist/lib/features/project-environments/environments.js.map +1 -0
- package/dist/{test/fixtures → lib/features/project-environments}/fake-environment-store.d.ts +2 -2
- package/dist/lib/features/project-environments/fake-environment-store.d.ts.map +1 -0
- package/dist/{test/fixtures → lib/features/project-environments}/fake-environment-store.js +1 -1
- package/dist/lib/features/project-environments/fake-environment-store.js.map +1 -0
- package/dist/lib/features/scheduler/scheduler-service.test.js +1 -1
- package/dist/lib/features/scheduler/scheduler-service.test.js.map +1 -1
- package/dist/lib/features/segment/segment-controller.d.ts +1 -1
- package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
- package/dist/lib/features/segment/segment-controller.js +1 -1
- package/dist/lib/features/segment/segment-controller.js.map +1 -1
- package/dist/lib/features/tag-type/tag-type-service.d.ts +3 -3
- package/dist/lib/features/tag-type/tag-type-service.d.ts.map +1 -1
- package/dist/lib/features/tag-type/tag-type-service.js +10 -6
- package/dist/lib/features/tag-type/tag-type-service.js.map +1 -1
- package/dist/lib/features/tag-type/tag-type.d.ts.map +1 -1
- package/dist/lib/features/tag-type/tag-type.js +3 -3
- package/dist/lib/features/tag-type/tag-type.js.map +1 -1
- package/dist/lib/metrics.d.ts +2 -0
- package/dist/lib/metrics.d.ts.map +1 -1
- package/dist/lib/metrics.js +42 -16
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/metrics.test.js +25 -1
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/api-token-middleware.js +6 -1
- package/dist/lib/middleware/api-token-middleware.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.test.js +25 -0
- package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
- package/dist/lib/middleware/cors-origin-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/cors-origin-middleware.js +5 -1
- package/dist/lib/middleware/cors-origin-middleware.js.map +1 -1
- package/dist/lib/middleware/cors-origin-middleware.test.js +7 -6
- package/dist/lib/middleware/cors-origin-middleware.test.js.map +1 -1
- package/dist/lib/middleware/secure-headers.d.ts.map +1 -1
- package/dist/lib/middleware/secure-headers.js +49 -1
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/openapi/index.d.ts.map +1 -1
- package/dist/lib/openapi/index.js +6 -3
- package/dist/lib/openapi/index.js.map +1 -1
- package/dist/lib/openapi/spec/create-user-response-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/create-user-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.d.ts +2563 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.js +143 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.js.map +1 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.d.ts +2 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.d.ts.map +1 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.js +17 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/event-schema.d.ts +7 -1
- package/dist/lib/openapi/spec/event-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/event-schema.js +6 -0
- package/dist/lib/openapi/spec/event-schema.js.map +1 -1
- package/dist/lib/openapi/spec/events-schema.d.ts +7 -1
- package/dist/lib/openapi/spec/events-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/export-query-schema.d.ts +22 -3
- package/dist/lib/openapi/spec/export-query-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/export-query-schema.js +14 -3
- package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
- package/dist/lib/openapi/spec/export-result-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-events-schema.d.ts +7 -1
- package/dist/lib/openapi/spec/feature-events-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts +15 -6
- package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-search-query-parameters.js +16 -6
- package/dist/lib/openapi/spec/feature-search-query-parameters.js.map +1 -1
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +1016 -0
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/feature-search-response-schema.js +177 -0
- package/dist/lib/openapi/spec/feature-search-response-schema.js.map +1 -0
- package/dist/lib/openapi/spec/feature-tag-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/feature-tag-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-tag-schema.js +6 -0
- package/dist/lib/openapi/spec/feature-tag-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-type-count-schema.d.ts +25 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.js +26 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.js.map +1 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.test.d.ts +2 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.test.d.ts.map +1 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.test.js +12 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/group-schema.d.ts +2 -0
- package/dist/lib/openapi/spec/group-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/group-user-model-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/group-user-model-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/groups-schema.d.ts +4 -0
- package/dist/lib/openapi/spec/groups-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts +12 -0
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/index.d.ts +3 -0
- package/dist/lib/openapi/spec/index.d.ts.map +1 -1
- package/dist/lib/openapi/spec/index.js +3 -0
- package/dist/lib/openapi/spec/index.js.map +1 -1
- package/dist/lib/openapi/spec/me-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/me-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.d.ts +26 -4
- package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.js +6 -4
- package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.test.js +7 -1
- package/dist/lib/openapi/spec/project-overview-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/public-signup-token-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +2 -0
- package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/search-events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/search-features-schema.d.ts +12 -4
- package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/search-features-schema.js +4 -4
- package/dist/lib/openapi/spec/search-features-schema.js.map +1 -1
- package/dist/lib/openapi/spec/{admin-strategies-schema.d.ts → segment-strategies-schema.d.ts} +37 -1
- package/dist/lib/openapi/spec/segment-strategies-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/{admin-strategies-schema.js → segment-strategies-schema.js} +42 -1
- package/dist/lib/openapi/spec/segment-strategies-schema.js.map +1 -0
- package/dist/lib/openapi/spec/segment-strategies-schema.test.d.ts +2 -0
- package/dist/lib/openapi/spec/segment-strategies-schema.test.d.ts.map +1 -0
- package/dist/lib/openapi/spec/{admin-strategies-schema.test.js → segment-strategies-schema.test.js} +1 -1
- package/dist/lib/openapi/spec/segment-strategies-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/state-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/state-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/ui-config-schema.d.ts +5 -0
- package/dist/lib/openapi/spec/ui-config-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/ui-config-schema.js +5 -0
- package/dist/lib/openapi/spec/ui-config-schema.js.map +1 -1
- package/dist/lib/openapi/spec/user-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/user-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/user-schema.js +1 -0
- package/dist/lib/openapi/spec/user-schema.js.map +1 -1
- package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +4 -0
- package/dist/lib/openapi/spec/users-groups-base-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/users-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/users-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/users-search-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/users-search-schema.d.ts.map +1 -1
- package/dist/lib/openapi/util/create-request-schema.d.ts.map +1 -1
- package/dist/lib/openapi/util/create-request-schema.js +3 -1
- package/dist/lib/openapi/util/create-request-schema.js.map +1 -1
- package/dist/lib/openapi/util/create-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/util/create-response-schema.js +6 -2
- package/dist/lib/openapi/util/create-response-schema.js.map +1 -1
- package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/addon.js +3 -3
- package/dist/lib/routes/admin-api/addon.js.map +1 -1
- package/dist/lib/routes/admin-api/api-token.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/api-token.js +2 -2
- package/dist/lib/routes/admin-api/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/config.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/config.js +2 -1
- package/dist/lib/routes/admin-api/config.js.map +1 -1
- package/dist/lib/routes/admin-api/context.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/context.js +3 -3
- package/dist/lib/routes/admin-api/context.js.map +1 -1
- package/dist/lib/routes/admin-api/events.test.js +13 -5
- package/dist/lib/routes/admin-api/events.test.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +2 -2
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/project/api-token.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/project/api-token.js +1 -1
- package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/project/{index.d.ts → project-api.d.ts} +4 -2
- package/dist/lib/routes/admin-api/project/project-api.d.ts.map +1 -0
- package/dist/lib/routes/admin-api/project/{index.js → project-api.js} +29 -3
- package/dist/lib/routes/admin-api/project/project-api.js.map +1 -0
- package/dist/lib/routes/admin-api/project/project-archive.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/project/project-archive.js +2 -2
- package/dist/lib/routes/admin-api/project/project-archive.js.map +1 -1
- package/dist/lib/routes/admin-api/project/variants.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/project/variants.js +1 -1
- package/dist/lib/routes/admin-api/project/variants.js.map +1 -1
- package/dist/lib/routes/admin-api/public-signup.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/public-signup.js +2 -2
- package/dist/lib/routes/admin-api/public-signup.js.map +1 -1
- package/dist/lib/routes/admin-api/state.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/state.js +1 -0
- package/dist/lib/routes/admin-api/state.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/strategy.js +5 -5
- package/dist/lib/routes/admin-api/strategy.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/tag.js +2 -2
- package/dist/lib/routes/admin-api/tag.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.test.js +2 -0
- package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/edge-api/index.d.ts +1 -0
- package/dist/lib/routes/edge-api/index.d.ts.map +1 -1
- package/dist/lib/routes/edge-api/index.js +25 -13
- package/dist/lib/routes/edge-api/index.js.map +1 -1
- package/dist/lib/routes/proxy-api/index.js +1 -1
- package/dist/lib/routes/proxy-api/index.js.map +1 -1
- package/dist/lib/schema/feature-schema.d.ts.map +1 -1
- package/dist/lib/schema/feature-schema.js +2 -0
- package/dist/lib/schema/feature-schema.js.map +1 -1
- package/dist/lib/server-impl.d.ts.map +1 -1
- package/dist/lib/server-impl.js +1 -0
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/access-service.d.ts +3 -1
- package/dist/lib/services/access-service.d.ts.map +1 -1
- package/dist/lib/services/access-service.js +8 -2
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/access-service.test.js +12 -2
- package/dist/lib/services/access-service.test.js.map +1 -1
- package/dist/lib/services/addon-service.d.ts +3 -3
- package/dist/lib/services/addon-service.d.ts.map +1 -1
- package/dist/lib/services/addon-service.js +8 -4
- package/dist/lib/services/addon-service.js.map +1 -1
- package/dist/lib/services/addon-service.test.js +64 -43
- package/dist/lib/services/addon-service.test.js.map +1 -1
- package/dist/lib/services/api-token-service.d.ts +4 -4
- package/dist/lib/services/api-token-service.d.ts.map +1 -1
- package/dist/lib/services/api-token-service.js +12 -9
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/api-token-service.test.js +5 -6
- package/dist/lib/services/api-token-service.test.js.map +1 -1
- package/dist/lib/services/client-metrics/instance-service.d.ts +2 -1
- package/dist/lib/services/client-metrics/instance-service.d.ts.map +1 -1
- package/dist/lib/services/client-metrics/instance-service.js +15 -17
- package/dist/lib/services/client-metrics/instance-service.js.map +1 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-store.d.ts +0 -5
- package/dist/lib/services/client-metrics/last-seen/last-seen-store.d.ts.map +1 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-store.js.map +1 -1
- package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.js +2 -2
- package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.js.map +1 -1
- package/dist/lib/services/context-service.d.ts +3 -3
- package/dist/lib/services/context-service.d.ts.map +1 -1
- package/dist/lib/services/context-service.js +14 -13
- package/dist/lib/services/context-service.js.map +1 -1
- package/dist/lib/services/email-service.d.ts +10 -3
- package/dist/lib/services/email-service.d.ts.map +1 -1
- package/dist/lib/services/email-service.js +98 -2
- package/dist/lib/services/email-service.js.map +1 -1
- package/dist/lib/services/email-service.test.js +41 -29
- package/dist/lib/services/email-service.test.js.map +1 -1
- package/dist/lib/services/favorites-service.d.ts.map +1 -1
- package/dist/lib/services/favorites-service.js +4 -0
- package/dist/lib/services/favorites-service.js.map +1 -1
- package/dist/lib/services/feature-tag-service.d.ts +4 -4
- package/dist/lib/services/feature-tag-service.d.ts.map +1 -1
- package/dist/lib/services/feature-tag-service.js +13 -7
- package/dist/lib/services/feature-tag-service.js.map +1 -1
- package/dist/lib/services/feature-type-service.d.ts.map +1 -1
- package/dist/lib/services/feature-type-service.js +1 -0
- package/dist/lib/services/feature-type-service.js.map +1 -1
- package/dist/lib/services/group-service.d.ts +4 -4
- package/dist/lib/services/group-service.d.ts.map +1 -1
- package/dist/lib/services/group-service.js +23 -18
- package/dist/lib/services/group-service.js.map +1 -1
- package/dist/lib/services/index.d.ts +1 -1
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +7 -3
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/pat-service.d.ts.map +1 -1
- package/dist/lib/services/pat-service.js +2 -0
- package/dist/lib/services/pat-service.js.map +1 -1
- package/dist/lib/services/project-health-service.js +1 -1
- package/dist/lib/services/project-health-service.js.map +1 -1
- package/dist/lib/services/project-service.d.ts +13 -12
- package/dist/lib/services/project-service.d.ts.map +1 -1
- package/dist/lib/services/project-service.js +81 -23
- package/dist/lib/services/project-service.js.map +1 -1
- package/dist/lib/services/proxy-service.d.ts +1 -1
- package/dist/lib/services/proxy-service.d.ts.map +1 -1
- package/dist/lib/services/proxy-service.js +2 -2
- package/dist/lib/services/proxy-service.js.map +1 -1
- package/dist/lib/services/public-signup-token-service.d.ts +2 -2
- package/dist/lib/services/public-signup-token-service.d.ts.map +1 -1
- package/dist/lib/services/public-signup-token-service.js +7 -3
- package/dist/lib/services/public-signup-token-service.js.map +1 -1
- package/dist/lib/services/segment-service.d.ts +1 -1
- package/dist/lib/services/segment-service.d.ts.map +1 -1
- package/dist/lib/services/segment-service.js +15 -14
- package/dist/lib/services/segment-service.js.map +1 -1
- package/dist/lib/services/setting-service.d.ts +2 -2
- package/dist/lib/services/setting-service.d.ts.map +1 -1
- package/dist/lib/services/setting-service.js +5 -2
- package/dist/lib/services/setting-service.js.map +1 -1
- package/dist/lib/services/state-service.d.ts +16 -11
- package/dist/lib/services/state-service.d.ts.map +1 -1
- package/dist/lib/services/state-service.js +46 -18
- package/dist/lib/services/state-service.js.map +1 -1
- package/dist/lib/services/state-service.test.js +75 -21
- package/dist/lib/services/state-service.test.js.map +1 -1
- package/dist/lib/services/strategy-service.d.ts +5 -5
- package/dist/lib/services/strategy-service.d.ts.map +1 -1
- package/dist/lib/services/strategy-service.js +11 -6
- package/dist/lib/services/strategy-service.js.map +1 -1
- package/dist/lib/services/tag-service.d.ts +2 -2
- package/dist/lib/services/tag-service.d.ts.map +1 -1
- package/dist/lib/services/tag-service.js +4 -2
- package/dist/lib/services/tag-service.js.map +1 -1
- package/dist/lib/services/user-service.d.ts.map +1 -1
- package/dist/lib/services/user-service.js +3 -0
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +12 -12
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/services/version-service.test.js +8 -2
- package/dist/lib/services/version-service.test.js.map +1 -1
- package/dist/lib/types/core.d.ts +3 -1
- package/dist/lib/types/core.d.ts.map +1 -1
- package/dist/lib/types/core.js +11 -0
- package/dist/lib/types/core.js.map +1 -1
- package/dist/lib/types/events.d.ts +51 -2
- package/dist/lib/types/events.d.ts.map +1 -1
- package/dist/lib/types/events.js +59 -42
- package/dist/lib/types/events.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +1 -1
- package/dist/lib/types/experimental.d.ts.map +1 -1
- package/dist/lib/types/experimental.js +9 -1
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/model.d.ts +30 -2
- package/dist/lib/types/model.d.ts.map +1 -1
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/option.d.ts +2 -0
- package/dist/lib/types/option.d.ts.map +1 -1
- package/dist/lib/types/services.d.ts +2 -1
- package/dist/lib/types/services.d.ts.map +1 -1
- package/dist/lib/types/stores/client-applications-store.d.ts +1 -0
- package/dist/lib/types/stores/client-applications-store.d.ts.map +1 -1
- package/dist/lib/types/stores/feature-tag-store.d.ts +7 -3
- package/dist/lib/types/stores/feature-tag-store.d.ts.map +1 -1
- package/dist/lib/types/stores.d.ts +4 -2
- package/dist/lib/types/stores.d.ts.map +1 -1
- package/dist/lib/util/extract-user.d.ts +5 -0
- package/dist/lib/util/extract-user.d.ts.map +1 -1
- package/dist/lib/util/extract-user.js +8 -1
- package/dist/lib/util/extract-user.js.map +1 -1
- package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.html.mustache +527 -0
- package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.plain.mustache +9 -0
- package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.html.mustache +522 -0
- package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.plain.mustache +6 -0
- package/dist/migrations/20231211121444-features-created-by.d.ts +3 -0
- package/dist/migrations/20231211121444-features-created-by.d.ts.map +1 -0
- package/dist/migrations/20231211121444-features-created-by.js +12 -0
- package/dist/migrations/20231211121444-features-created-by.js.map +1 -0
- package/dist/migrations/20231211122322-feature-types-created-by.d.ts +3 -0
- package/dist/migrations/20231211122322-feature-types-created-by.d.ts.map +1 -0
- package/dist/migrations/20231211122322-feature-types-created-by.js +12 -0
- package/dist/migrations/20231211122322-feature-types-created-by.js.map +1 -0
- package/dist/migrations/20231211122351-feature-tag-created-by.d.ts +3 -0
- package/dist/migrations/20231211122351-feature-tag-created-by.d.ts.map +1 -0
- package/dist/migrations/20231211122351-feature-tag-created-by.js +12 -0
- package/dist/migrations/20231211122351-feature-tag-created-by.js.map +1 -0
- package/dist/migrations/20231211122426-feature-strategies-created-by.d.ts +3 -0
- package/dist/migrations/20231211122426-feature-strategies-created-by.d.ts.map +1 -0
- package/dist/migrations/20231211122426-feature-strategies-created-by.js +12 -0
- package/dist/migrations/20231211122426-feature-strategies-created-by.js.map +1 -0
- package/dist/migrations/20231211132341-add-created-by-to-role-permission.d.ts +3 -0
- package/dist/migrations/20231211132341-add-created-by-to-role-permission.d.ts.map +1 -0
- package/dist/migrations/20231211132341-add-created-by-to-role-permission.js +8 -0
- package/dist/migrations/20231211132341-add-created-by-to-role-permission.js.map +1 -0
- package/dist/migrations/20231211133008-add-created-by-to-role-user.d.ts +3 -0
- package/dist/migrations/20231211133008-add-created-by-to-role-user.d.ts.map +1 -0
- package/dist/migrations/20231211133008-add-created-by-to-role-user.js +8 -0
- package/dist/migrations/20231211133008-add-created-by-to-role-user.js.map +1 -0
- package/dist/migrations/20231211133920-add-created-by-to-roles.d.ts +3 -0
- package/dist/migrations/20231211133920-add-created-by-to-roles.d.ts.map +1 -0
- package/dist/migrations/20231211133920-add-created-by-to-roles.js +8 -0
- package/dist/migrations/20231211133920-add-created-by-to-roles.js.map +1 -0
- package/dist/migrations/20231211134130-add-created-by-to-users.d.ts +3 -0
- package/dist/migrations/20231211134130-add-created-by-to-users.d.ts.map +1 -0
- package/dist/migrations/20231211134130-add-created-by-to-users.js +8 -0
- package/dist/migrations/20231211134130-add-created-by-to-users.js.map +1 -0
- package/dist/migrations/20231211134633-add-created-by-to-apitokens.d.ts +3 -0
- package/dist/migrations/20231211134633-add-created-by-to-apitokens.d.ts.map +1 -0
- package/dist/migrations/20231211134633-add-created-by-to-apitokens.js +8 -0
- package/dist/migrations/20231211134633-add-created-by-to-apitokens.js.map +1 -0
- package/dist/migrations/20231212094044-event-created-by-user-id.d.ts +3 -0
- package/dist/migrations/20231212094044-event-created-by-user-id.d.ts.map +1 -0
- package/dist/migrations/20231212094044-event-created-by-user-id.js +14 -0
- package/dist/migrations/20231212094044-event-created-by-user-id.js.map +1 -0
- package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.d.ts +3 -0
- package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.d.ts.map +1 -0
- package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.js +8 -0
- package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.js.map +1 -0
- package/dist/migrations/20231215105713-incoming-webhooks.d.ts +3 -0
- package/dist/migrations/20231215105713-incoming-webhooks.d.ts.map +1 -0
- package/dist/migrations/20231215105713-incoming-webhooks.js +34 -0
- package/dist/migrations/20231215105713-incoming-webhooks.js.map +1 -0
- package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.d.ts +3 -0
- package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.d.ts.map +1 -0
- package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.js +12 -0
- package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.js.map +1 -0
- package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.d.ts +3 -0
- package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.d.ts.map +1 -0
- package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.js +28 -0
- package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.js.map +1 -0
- package/dist/migrations/20231221143955-feedback-table.d.ts +3 -0
- package/dist/migrations/20231221143955-feedback-table.d.ts.map +1 -0
- package/dist/migrations/20231221143955-feedback-table.js +21 -0
- package/dist/migrations/20231221143955-feedback-table.js.map +1 -0
- package/dist/migrations/20231222071533-unleash-system-user.d.ts +3 -0
- package/dist/migrations/20231222071533-unleash-system-user.d.ts.map +1 -0
- package/dist/migrations/20231222071533-unleash-system-user.js +17 -0
- package/dist/migrations/20231222071533-unleash-system-user.js.map +1 -0
- package/dist/migrations/20240102142100-incoming-webhooks-created-by.d.ts +3 -0
- package/dist/migrations/20240102142100-incoming-webhooks-created-by.d.ts.map +1 -0
- package/dist/migrations/20240102142100-incoming-webhooks-created-by.js +11 -0
- package/dist/migrations/20240102142100-incoming-webhooks-created-by.js.map +1 -0
- package/dist/migrations/20240102205517-observable-events.d.ts +3 -0
- package/dist/migrations/20240102205517-observable-events.d.ts.map +1 -0
- package/dist/migrations/20240102205517-observable-events.js +27 -0
- package/dist/migrations/20240102205517-observable-events.js.map +1 -0
- package/dist/server-dev.js +20 -13
- package/dist/server-dev.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +1 -0
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/config.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/context.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/environment.test.js +1 -1
- package/dist/test/e2e/api/admin/environment.test.js.map +1 -1
- package/dist/test/e2e/api/admin/event.e2e.test.js +5 -0
- package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/instance-admin.e2e.test.js +12 -3
- package/dist/test/e2e/api/admin/instance-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/projects.e2e.test.js +17 -0
- package/dist/test/e2e/api/admin/project/projects.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js +22 -1
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/state.e2e.test.js +25 -13
- package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js +1 -1
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.e2e.test.js +12 -11
- package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +3 -2
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js +10 -10
- package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +7 -5
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js +3 -2
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/openapi/openapi.e2e.test.js +2 -1
- package/dist/test/e2e/api/openapi/openapi.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/proxy/proxy.e2e.test.d.ts.map +1 -1
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js +4 -3
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js.map +1 -1
- package/dist/test/e2e/dedupe-permissions.e2e.test.js +4 -3
- package/dist/test/e2e/dedupe-permissions.e2e.test.js.map +1 -1
- package/dist/test/e2e/favor-permission-name-over-id.e2e.test.js +4 -3
- package/dist/test/e2e/favor-permission-name-over-id.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/access-service.e2e.test.js +9 -4
- package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js +4 -3
- package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/group-service.e2e.test.js +3 -3
- package/dist/test/e2e/services/group-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/playground-service.test.d.ts.map +1 -1
- package/dist/test/e2e/services/playground-service.test.js +1 -0
- package/dist/test/e2e/services/playground-service.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js +9 -0
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-service.e2e.test.js +62 -44
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/setting-service.test.js +9 -8
- package/dist/test/e2e/services/setting-service.test.js.map +1 -1
- package/dist/test/e2e/services/state-service.e2e.test.js +5 -0
- package/dist/test/e2e/services/state-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js +11 -0
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-environment-store.e2e.test.js +8 -2
- package/dist/test/e2e/stores/feature-environment-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-tag-store.e2e.test.js +24 -9
- package/dist/test/e2e/stores/feature-tag-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/system-user-migration.test.d.ts +2 -0
- package/dist/test/e2e/system-user-migration.test.d.ts.map +1 -0
- package/dist/test/e2e/system-user-migration.test.js +65 -0
- package/dist/test/e2e/system-user-migration.test.js.map +1 -0
- package/dist/test/fixtures/fake-feature-tag-store.d.ts +1 -1
- package/dist/test/fixtures/fake-feature-tag-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-feature-tag-store.js +3 -2
- package/dist/test/fixtures/fake-feature-tag-store.js.map +1 -1
- package/dist/test/fixtures/store.d.ts.map +1 -1
- package/dist/test/fixtures/store.js +3 -1
- package/dist/test/fixtures/store.js.map +1 -1
- package/frontend/build/index.html +2 -3
- package/frontend/build/static/AdvancedPlayground-FxfPUa2V.js +13 -0
- package/frontend/build/static/CreateProject-aN-UGdcb.js +4 -0
- package/frontend/build/static/FeatureArchiveDialog-eHyhx7Yo.js +7 -0
- package/frontend/build/static/{FeatureMetricsChart-d6700d04.js → FeatureMetricsChart-ExGq1eXl.js} +2 -2
- package/frontend/build/static/FeatureViewLazyExport-S8mj8m0z.js +25 -0
- package/frontend/build/static/LazyAdminExport-fpVZFnP9.js +44 -0
- package/frontend/build/static/LazyProjectExport-_QSE5C5m.js +25 -0
- package/frontend/build/static/{NetworkOverview-f1b8bc51.js → NetworkOverview-ylTzmeDg.js} +53 -47
- package/frontend/build/static/NetworkTraffic-qj5h7JRk.js +1 -0
- package/frontend/build/static/{ReactJSONEditor-cee5845e.js → ReactJSONEditor-E59dRBYR.js} +66 -66
- package/frontend/build/static/RoleCell-TGTVkKHO.js +1 -0
- package/frontend/build/static/StrategyItemContainer-JoMPKX3L.js +1 -0
- package/frontend/build/static/chartjs-adapter-date-fns.esm-JSlDxtwH.js +23 -0
- package/frontend/build/static/{flowchart-elk-definition-170a3958-176ecefe.js → flowchart-elk-definition-170a3958-NkZoK_zv.js} +3 -3
- package/frontend/build/static/index-JVRlSBvr.js +501 -0
- package/frontend/build/static/{is_dark-bdf64838.js → is_dark-gjUQW15t.js} +1 -1
- package/frontend/build/static/{mindmap-definition-44684416-6e91e0f5.js → mindmap-definition-44684416-obuYUG0L.js} +2 -2
- package/frontend/build/static/not_operator_selected-Iyxw0Fyz.svg +5 -0
- package/frontend/build/static/not_operator_unselected-vtd9BSk1.svg +3 -0
- package/frontend/build/static/{timeline-definition-8e5a9bc6-d88c2258.js → timeline-definition-8e5a9bc6-33WsNwwr.js} +1 -1
- package/frontend/build/static/{unknownify-708e56b5.js → unknownify-YD2Teyht.js} +1 -1
- package/frontend/build/static/unleashHoliday-kBBu-_tQ.svg +33 -0
- package/frontend/build/static/unleashHolidayDark-fbGH80iu.svg +33 -0
- package/frontend/build/static/{useApiTokens-4c5c213b.js → useApiTokens-XTOY616x.js} +1 -1
- package/frontend/build/static/useProjectForm--jxh4Dtm.js +1 -0
- package/frontend/package.json +21 -15
- package/package.json +5 -5
- package/dist/lib/db/environment-store.d.ts.map +0 -1
- package/dist/lib/db/environment-store.js.map +0 -1
- package/dist/lib/openapi/spec/admin-strategies-schema.d.ts.map +0 -1
- package/dist/lib/openapi/spec/admin-strategies-schema.js.map +0 -1
- package/dist/lib/openapi/spec/admin-strategies-schema.test.d.ts +0 -2
- package/dist/lib/openapi/spec/admin-strategies-schema.test.d.ts.map +0 -1
- package/dist/lib/openapi/spec/admin-strategies-schema.test.js.map +0 -1
- package/dist/lib/routes/admin-api/project/environments.d.ts.map +0 -1
- package/dist/lib/routes/admin-api/project/environments.js.map +0 -1
- package/dist/lib/routes/admin-api/project/index.d.ts.map +0 -1
- package/dist/lib/routes/admin-api/project/index.js.map +0 -1
- package/dist/lib/services/environment-service.d.ts.map +0 -1
- package/dist/lib/services/environment-service.js.map +0 -1
- package/dist/lib/types/stores/environment-store.d.ts.map +0 -1
- package/dist/lib/types/stores/environment-store.js.map +0 -1
- package/dist/test/e2e/api/admin/project/environments.e2e.test.d.ts.map +0 -1
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +0 -1
- package/dist/test/e2e/services/environment-service.test.d.ts.map +0 -1
- package/dist/test/e2e/services/environment-service.test.js.map +0 -1
- package/dist/test/fixtures/fake-environment-store.d.ts.map +0 -1
- package/dist/test/fixtures/fake-environment-store.js.map +0 -1
- package/frontend/build/static/24_Negator off-764e9292.svg +0 -3
- package/frontend/build/static/24_Negator-3c95065e.svg +0 -3
- package/frontend/build/static/AdvancedPlayground-b2553abd.js +0 -13
- package/frontend/build/static/Box-bd72643d.js +0 -1
- package/frontend/build/static/CreateProject-b18786eb.js +0 -4
- package/frontend/build/static/Error-ef493ef3.js +0 -1
- package/frontend/build/static/FeatureArchiveDialog-ec518ad8.js +0 -7
- package/frontend/build/static/FeatureViewLazyExport-91172621.js +0 -10
- package/frontend/build/static/LazyAdminExport-4686a742.js +0 -38
- package/frontend/build/static/LazyProjectExport-e3e11f4e.js +0 -26
- package/frontend/build/static/NetworkTraffic-c8b752fe.js +0 -1
- package/frontend/build/static/RoleCell-91725c88.js +0 -1
- package/frontend/build/static/StrategyItemContainer-ad74b119.js +0 -1
- package/frontend/build/static/chartjs-adapter-date-fns.esm-054094c3.js +0 -24
- package/frontend/build/static/index-ae1bed58.js +0 -460
- package/frontend/build/static/useProjectForm-ff29595e.js +0 -1
- /package/dist/{test/e2e/services → lib/features/project-environments}/environment-service.test.d.ts +0 -0
- /package/dist/{test/e2e/api/admin/project → lib/features/project-environments}/environments.e2e.test.d.ts +0 -0
- /package/frontend/build/static/{24_Text format off-9a1401ab.svg → 24_Text format off-H08NRmYe.svg} +0 -0
- /package/frontend/build/static/{24_Text format-c0530280.svg → 24_Text format-rAPEECSE.svg} +0 -0
- /package/frontend/build/static/{Logo-android-218bddbb.svg → Logo-android-udpLXX1T.svg} +0 -0
- /package/frontend/build/static/{Logo-flutter-cc3c706f.svg → Logo-flutter-eDaat-tQ.svg} +0 -0
- /package/frontend/build/static/{Logo-go-02475b3d.svg → Logo-go-7IBXKeYU.svg} +0 -0
- /package/frontend/build/static/{Logo-java-6e556b26.svg → Logo-java-52SStktf.svg} +0 -0
- /package/frontend/build/static/{Logo-javascript-caebc06e.svg → Logo-javascript-FL9SH-qr.svg} +0 -0
- /package/frontend/build/static/{Logo-net-0a33abee.svg → Logo-net-bG0mn56S.svg} +0 -0
- /package/frontend/build/static/{Logo-node-318ed025.svg → Logo-node-h37os8v5.svg} +0 -0
- /package/frontend/build/static/{Logo-php-201f18c3.svg → Logo-php-Z_EVXL0a.svg} +0 -0
- /package/frontend/build/static/{Logo-python-4305760e.svg → Logo-python-_44ZKCSX.svg} +0 -0
- /package/frontend/build/static/{Logo-react-18e98687.svg → Logo-react-9krlaJef.svg} +0 -0
- /package/frontend/build/static/{Logo-ruby-58f46832.svg → Logo-ruby-ZZBHss3J.svg} +0 -0
- /package/frontend/build/static/{Logo-rust-c83a80f9.svg → Logo-rust-2dVdHYIX.svg} +0 -0
- /package/frontend/build/static/{Logo-svelte-97dcb624.svg → Logo-svelte-fn23y4Xh.svg} +0 -0
- /package/frontend/build/static/{Logo-swift-315f842b.svg → Logo-swift-dl73ozXW.svg} +0 -0
- /package/frontend/build/static/{Logo-vue-0de73099.svg → Logo-vue-XNczCeoD.svg} +0 -0
- /package/frontend/build/static/{arrowLeft-7271148c.svg → arrowLeft-iw13ytfI.svg} +0 -0
- /package/frontend/build/static/{arrowRight-0d07b41b.svg → arrowRight-jyAAywbz.svg} +0 -0
- /package/frontend/build/static/{changeRequestProcess-f2469ef4.svg → changeRequestProcess-m2Uj_v6I.svg} +0 -0
- /package/frontend/build/static/{cr-db7653ac.png → cr-24xlfR5T.png} +0 -0
- /package/frontend/build/static/{datadog-543762b6.svg → datadog--09MbZDg.svg} +0 -0
- /package/frontend/build/static/{demo-qr-c2ce85bd.png → demo-qr-kJaJsgg_.png} +0 -0
- /package/frontend/build/static/{demo-userid-69a28f5e.png → demo-userid-OFH-UWxt.png} +0 -0
- /package/frontend/build/static/{edge-daisy-chaining-012bfdef.svg → edge-daisy-chaining-gE7UbpD0.svg} +0 -0
- /package/frontend/build/static/{edge-mode-5d25949b.svg → edge-mode-sUiAy22Z.svg} +0 -0
- /package/frontend/build/static/{edge-offline-f6a0f761.svg → edge-offline-uschgqgm.svg} +0 -0
- /package/frontend/build/static/{email-1b13db1f.svg → email-9TVW6bxs.svg} +0 -0
- /package/frontend/build/static/{google-4c4465a1.svg → google-Rg4hsLIv.svg} +0 -0
- /package/frontend/build/static/{isenabled-false-85a17190.svg → isenabled-false-cfG0cxg8.svg} +0 -0
- /package/frontend/build/static/{isenabled-true-def895c4.svg → isenabled-true-QEbId32j.svg} +0 -0
- /package/frontend/build/static/{jira-1abe7cbf.svg → jira-JdG6Pbgg.svg} +0 -0
- /package/frontend/build/static/{jira-comment-d9eb9af9.svg → jira-comment-4uboD2FW.svg} +0 -0
- /package/frontend/build/static/{link-child-7239dd72.svg → link-child-b2rNaTp8.svg} +0 -0
- /package/frontend/build/static/{link-parent-29e03412.svg → link-parent-2mtl7FAF.svg} +0 -0
- /package/frontend/build/static/{logo-b574b8c7.svg → logo-aXkSdUlT.svg} +0 -0
- /package/frontend/build/static/{logoBg-3fc9c711.svg → logoBg-w1GxfZYY.svg} +0 -0
- /package/frontend/build/static/{logoDarkWithText-7b7859f1.svg → logoDarkWithText-9CJmQsUT.svg} +0 -0
- /package/frontend/build/static/{logoWhiteBg-dacde9ce.svg → logoWhiteBg-sKFgoO5r.svg} +0 -0
- /package/frontend/build/static/{logoWhiteTransparentHorizontal-32f9c398.svg → logoWhiteTransparentHorizontal-OccVQlof.svg} +0 -0
- /package/frontend/build/static/{logoWithWhiteText-954086cd.svg → logoWithWhiteText-8-1bzjd2.svg} +0 -0
- /package/frontend/build/static/{merge-afa8c386.svg → merge-uyE9K2XR.svg} +0 -0
- /package/frontend/build/static/{mobileGuidanceBg-0cc2cfdc.svg → mobileGuidanceBg-_XUYJ4bI.svg} +0 -0
- /package/frontend/build/static/{pro-enterprise-feature-badge-8ac467c3.svg → pro-enterprise-feature-badge-D2dwX2o5.svg} +0 -0
- /package/frontend/build/static/{pro-enterprise-feature-badge-light-81a18f9b.svg → pro-enterprise-feature-badge-light-JPGefdhP.svg} +0 -0
- /package/frontend/build/static/{projectIcon-0c6827a4.svg → projectIcon-patkU339.svg} +0 -0
- /package/frontend/build/static/{rollout-c922b6e9.svg → rollout-wL0vStZV.svg} +0 -0
- /package/frontend/build/static/{slack-36ce798a.svg → slack-LdHzcD3n.svg} +0 -0
- /package/frontend/build/static/{stars-5e0648cd.svg → stars-uZav8YWv.svg} +0 -0
- /package/frontend/build/static/{style-f10c9ed6.css → style-gSb9cHBe.css} +0 -0
- /package/frontend/build/static/{teams-4e30b51f.svg → teams-70Mfxcwa.svg} +0 -0
- /package/frontend/build/static/{texture-c29e66c0.png → texture-NpzjhzHk.png} +0 -0
- /package/frontend/build/static/{unleash-integration-949d8966.svg → unleash-integration-rcapuVXn.svg} +0 -0
- /package/frontend/build/static/{unleashLogoIconDarkAlpha-de056a82.gif → unleashLogoIconDarkAlpha-W77gtdw3.gif} +0 -0
- /package/frontend/build/static/{usage-line-00d00632.svg → usage-line-R4nA8fmB.svg} +0 -0
- /package/frontend/build/static/{usage-rate-cb18f02b.svg → usage-rate-510IagyJ.svg} +0 -0
- /package/frontend/build/static/{webhooks-b1b44207.svg → webhooks-p7bNIH7i.svg} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import EventEmitter from 'events';
|
|
3
|
+
import { LogProvider } from '../../logger';
|
|
4
|
+
import { IFeatureOverview, IFeatureSearchStore } from '../../types';
|
|
5
|
+
import { Db } from '../../db/db';
|
|
6
|
+
import { IFeatureSearchParams, IQueryParam } from '../feature-toggle/types/feature-toggle-strategies-store-type';
|
|
7
|
+
declare class FeatureSearchStore implements IFeatureSearchStore {
|
|
8
|
+
private db;
|
|
9
|
+
private logger;
|
|
10
|
+
private readonly timer;
|
|
11
|
+
constructor(db: Db, eventBus: EventEmitter, getLogger: LogProvider);
|
|
12
|
+
private static getEnvironment;
|
|
13
|
+
searchFeatures({ userId, searchParams, type, status, offset, limit, sortOrder, sortBy, favoritesFirst, }: IFeatureSearchParams, queryParams: IQueryParam[]): Promise<{
|
|
14
|
+
features: IFeatureOverview[];
|
|
15
|
+
total: number;
|
|
16
|
+
}>;
|
|
17
|
+
getAggregatedSearchData(rows: any): IFeatureOverview[];
|
|
18
|
+
private addTag;
|
|
19
|
+
private rowToTag;
|
|
20
|
+
private isTagRow;
|
|
21
|
+
private isNewTag;
|
|
22
|
+
}
|
|
23
|
+
export default FeatureSearchStore;
|
|
24
|
+
//# sourceMappingURL=feature-search-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-search-store.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/feature-search/feature-search-store.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAU,WAAW,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAEH,gBAAgB,EAChB,mBAAmB,EAGtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,OAAO,EACH,oBAAoB,EACpB,WAAW,EACd,MAAM,8DAA8D,CAAC;AAiBtE,cAAM,kBAAmB,YAAW,mBAAmB;IACnD,OAAO,CAAC,EAAE,CAAK;IAEf,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;gBAErB,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW;IAUlE,OAAO,CAAC,MAAM,CAAC,cAAc;IAavB,cAAc,CAChB,EACI,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,MAAM,EACN,cAAc,GACjB,EAAE,oBAAoB,EACvB,WAAW,EAAE,WAAW,EAAE,GAC3B,OAAO,CAAC;QACP,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;IA+NF,uBAAuB,CAAC,IAAI,KAAA,GAAG,gBAAgB,EAAE;IAwDjD,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,QAAQ;CAYnB;AAwID,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const metrics_helper_1 = __importDefault(require("../../util/metrics-helper"));
|
|
7
|
+
const metric_events_1 = require("../../metric-events");
|
|
8
|
+
const feature_toggle_store_1 = __importDefault(require("../feature-toggle/feature-toggle-store"));
|
|
9
|
+
const sortEnvironments = (overview) => {
|
|
10
|
+
return overview.map((data) => ({
|
|
11
|
+
...data,
|
|
12
|
+
environments: data.environments
|
|
13
|
+
.filter((f) => f.name)
|
|
14
|
+
.sort((a, b) => {
|
|
15
|
+
if (a.sortOrder === b.sortOrder) {
|
|
16
|
+
return a.name.localeCompare(b.name);
|
|
17
|
+
}
|
|
18
|
+
return a.sortOrder - b.sortOrder;
|
|
19
|
+
}),
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
22
|
+
class FeatureSearchStore {
|
|
23
|
+
constructor(db, eventBus, getLogger) {
|
|
24
|
+
this.db = db;
|
|
25
|
+
this.logger = getLogger('feature-search-store.ts');
|
|
26
|
+
this.timer = (action) => metrics_helper_1.default.wrapTimer(eventBus, metric_events_1.DB_TIME, {
|
|
27
|
+
store: 'feature-search',
|
|
28
|
+
action,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
static getEnvironment(r) {
|
|
32
|
+
return {
|
|
33
|
+
name: r.environment,
|
|
34
|
+
enabled: r.enabled,
|
|
35
|
+
type: r.environment_type,
|
|
36
|
+
sortOrder: r.environment_sort_order,
|
|
37
|
+
variantCount: r.variants?.length || 0,
|
|
38
|
+
lastSeenAt: r.env_last_seen_at,
|
|
39
|
+
hasStrategies: r.has_strategies,
|
|
40
|
+
hasEnabledStrategies: r.has_enabled_strategies,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async searchFeatures({ userId, searchParams, type, status, offset, limit, sortOrder, sortBy, favoritesFirst, }, queryParams) {
|
|
44
|
+
const stopTimer = this.timer('searchFeatures');
|
|
45
|
+
const validatedSortOrder = sortOrder === 'asc' || sortOrder === 'desc' ? sortOrder : 'asc';
|
|
46
|
+
const finalQuery = this.db
|
|
47
|
+
.with('ranked_features', (query) => {
|
|
48
|
+
query.from('features');
|
|
49
|
+
applyQueryParams(query, queryParams);
|
|
50
|
+
const hasSearchParams = searchParams?.length;
|
|
51
|
+
if (hasSearchParams) {
|
|
52
|
+
const sqlParameters = searchParams.map((item) => `%${item}%`);
|
|
53
|
+
const sqlQueryParameters = sqlParameters
|
|
54
|
+
.map(() => '?')
|
|
55
|
+
.join(',');
|
|
56
|
+
query.where((builder) => {
|
|
57
|
+
builder
|
|
58
|
+
.orWhereRaw(`(??) ILIKE ANY (ARRAY[${sqlQueryParameters}])`, ['features.name', ...sqlParameters])
|
|
59
|
+
.orWhereRaw(`(??) ILIKE ANY (ARRAY[${sqlQueryParameters}])`, ['features.description', ...sqlParameters]);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
if (type) {
|
|
63
|
+
query.whereIn('features.type', type);
|
|
64
|
+
}
|
|
65
|
+
if (status && status.length > 0) {
|
|
66
|
+
query.where((builder) => {
|
|
67
|
+
for (const [envName, envStatus] of status) {
|
|
68
|
+
builder.orWhere(function () {
|
|
69
|
+
this.where('feature_environments.environment', envName).andWhere('feature_environments.enabled', envStatus === 'enabled' ? true : false);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
query
|
|
75
|
+
.modify(feature_toggle_store_1.default.filterByArchived, false)
|
|
76
|
+
.leftJoin('feature_environments', 'feature_environments.feature_name', 'features.name')
|
|
77
|
+
.leftJoin('environments', 'feature_environments.environment', 'environments.name')
|
|
78
|
+
.leftJoin('feature_tag as ft', 'ft.feature_name', 'features.name')
|
|
79
|
+
.leftJoin('feature_strategies', 'feature_strategies.feature_name', 'features.name')
|
|
80
|
+
.leftJoin('feature_strategy_segment', 'feature_strategy_segment.feature_strategy_id', 'feature_strategies.id')
|
|
81
|
+
.leftJoin('segments', 'feature_strategy_segment.segment_id', 'segments.id');
|
|
82
|
+
query.leftJoin('last_seen_at_metrics', function () {
|
|
83
|
+
this.on('last_seen_at_metrics.environment', '=', 'environments.name').andOn('last_seen_at_metrics.feature_name', '=', 'features.name');
|
|
84
|
+
});
|
|
85
|
+
let selectColumns = [
|
|
86
|
+
'features.name as feature_name',
|
|
87
|
+
'features.description as description',
|
|
88
|
+
'features.type as type',
|
|
89
|
+
'features.project as project',
|
|
90
|
+
'features.created_at as created_at',
|
|
91
|
+
'features.stale as stale',
|
|
92
|
+
'features.last_seen_at as last_seen_at',
|
|
93
|
+
'features.impression_data as impression_data',
|
|
94
|
+
'feature_environments.enabled as enabled',
|
|
95
|
+
'feature_environments.environment as environment',
|
|
96
|
+
'feature_environments.variants as variants',
|
|
97
|
+
'environments.type as environment_type',
|
|
98
|
+
'environments.sort_order as environment_sort_order',
|
|
99
|
+
'ft.tag_value as tag_value',
|
|
100
|
+
'ft.tag_type as tag_type',
|
|
101
|
+
'segments.name as segment_name',
|
|
102
|
+
];
|
|
103
|
+
const lastSeenQuery = 'last_seen_at_metrics.last_seen_at';
|
|
104
|
+
selectColumns.push(`${lastSeenQuery} as env_last_seen_at`);
|
|
105
|
+
if (userId) {
|
|
106
|
+
query.leftJoin(`favorite_features`, function () {
|
|
107
|
+
this.on('favorite_features.feature', 'features.name').andOnVal('favorite_features.user_id', '=', userId);
|
|
108
|
+
});
|
|
109
|
+
selectColumns = [
|
|
110
|
+
...selectColumns,
|
|
111
|
+
this.db.raw('favorite_features.feature is not null as favorite'),
|
|
112
|
+
];
|
|
113
|
+
}
|
|
114
|
+
selectColumns = [
|
|
115
|
+
...selectColumns,
|
|
116
|
+
this.db.raw('EXISTS (SELECT 1 FROM feature_strategies WHERE feature_strategies.feature_name = features.name AND feature_strategies.environment = feature_environments.environment) as has_strategies'),
|
|
117
|
+
this.db.raw('EXISTS (SELECT 1 FROM feature_strategies WHERE feature_strategies.feature_name = features.name AND feature_strategies.environment = feature_environments.environment AND (feature_strategies.disabled IS NULL OR feature_strategies.disabled = false)) as has_enabled_strategies'),
|
|
118
|
+
];
|
|
119
|
+
const sortByMapping = {
|
|
120
|
+
name: 'features.name',
|
|
121
|
+
type: 'features.type',
|
|
122
|
+
stale: 'features.stale',
|
|
123
|
+
project: 'features.project',
|
|
124
|
+
};
|
|
125
|
+
let rankingSql = 'order by ';
|
|
126
|
+
if (favoritesFirst) {
|
|
127
|
+
rankingSql +=
|
|
128
|
+
'favorite_features.feature is not null desc, ';
|
|
129
|
+
}
|
|
130
|
+
if (sortBy.startsWith('environment:')) {
|
|
131
|
+
const [, envName] = sortBy.split(':');
|
|
132
|
+
rankingSql += this.db
|
|
133
|
+
.raw(`CASE WHEN feature_environments.environment = ? THEN feature_environments.enabled ELSE NULL END ${validatedSortOrder} NULLS LAST, features.created_at asc, features.name asc`, [envName])
|
|
134
|
+
.toString();
|
|
135
|
+
}
|
|
136
|
+
else if (sortBy === 'lastSeenAt') {
|
|
137
|
+
rankingSql += `${this.db
|
|
138
|
+
.raw(`coalesce(${lastSeenQuery}, features.last_seen_at) ${validatedSortOrder} nulls last`)
|
|
139
|
+
.toString()}, features.created_at asc, features.name asc`;
|
|
140
|
+
}
|
|
141
|
+
else if (sortByMapping[sortBy]) {
|
|
142
|
+
rankingSql += `${this.db
|
|
143
|
+
.raw(`?? ${validatedSortOrder}`, [
|
|
144
|
+
sortByMapping[sortBy],
|
|
145
|
+
])
|
|
146
|
+
.toString()}, features.created_at asc, features.name asc`;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
rankingSql += `features.created_at ${validatedSortOrder}, features.name asc`;
|
|
150
|
+
}
|
|
151
|
+
query
|
|
152
|
+
.select(selectColumns)
|
|
153
|
+
.denseRank('rank', this.db.raw(rankingSql));
|
|
154
|
+
})
|
|
155
|
+
.with('final_ranks', this.db.raw('select feature_name, row_number() over (order by min(rank)) as final_rank from ranked_features group by feature_name'))
|
|
156
|
+
.with('total_features', this.db.raw('select count(*) as total from final_ranks'))
|
|
157
|
+
.select('*')
|
|
158
|
+
.from('ranked_features')
|
|
159
|
+
.innerJoin('final_ranks', 'ranked_features.feature_name', 'final_ranks.feature_name')
|
|
160
|
+
.joinRaw('CROSS JOIN total_features')
|
|
161
|
+
.whereBetween('final_rank', [offset + 1, offset + limit]);
|
|
162
|
+
const rows = await finalQuery;
|
|
163
|
+
stopTimer();
|
|
164
|
+
if (rows.length > 0) {
|
|
165
|
+
const overview = this.getAggregatedSearchData(rows);
|
|
166
|
+
const features = sortEnvironments(overview);
|
|
167
|
+
return {
|
|
168
|
+
features,
|
|
169
|
+
total: Number(rows[0].total) || 0,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
return {
|
|
173
|
+
features: [],
|
|
174
|
+
total: 0,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
getAggregatedSearchData(rows) {
|
|
178
|
+
const entriesMap = new Map();
|
|
179
|
+
const orderedEntries = [];
|
|
180
|
+
rows.forEach((row) => {
|
|
181
|
+
let entry = entriesMap.get(row.feature_name);
|
|
182
|
+
if (!entry) {
|
|
183
|
+
// Create a new entry
|
|
184
|
+
entry = {
|
|
185
|
+
type: row.type,
|
|
186
|
+
description: row.description,
|
|
187
|
+
project: row.project,
|
|
188
|
+
favorite: row.favorite,
|
|
189
|
+
name: row.feature_name,
|
|
190
|
+
createdAt: row.created_at,
|
|
191
|
+
stale: row.stale,
|
|
192
|
+
impressionData: row.impression_data,
|
|
193
|
+
lastSeenAt: row.last_seen_at,
|
|
194
|
+
environments: [],
|
|
195
|
+
segments: row.segment_name ? [row.segment_name] : [],
|
|
196
|
+
};
|
|
197
|
+
entriesMap.set(row.feature_name, entry);
|
|
198
|
+
orderedEntries.push(entry);
|
|
199
|
+
}
|
|
200
|
+
// Add environment if not already present
|
|
201
|
+
if (!entry.environments.some((e) => e.name === row.environment)) {
|
|
202
|
+
entry.environments.push(FeatureSearchStore.getEnvironment(row));
|
|
203
|
+
}
|
|
204
|
+
// Add segment if not already present
|
|
205
|
+
if (row.segment_name &&
|
|
206
|
+
!entry.segments.includes(row.segment_name)) {
|
|
207
|
+
entry.segments.push(row.segment_name);
|
|
208
|
+
}
|
|
209
|
+
// Add tag if new
|
|
210
|
+
if (this.isNewTag(entry, row)) {
|
|
211
|
+
this.addTag(entry, row);
|
|
212
|
+
}
|
|
213
|
+
// Update lastSeenAt if more recent
|
|
214
|
+
if (!entry.lastSeenAt ||
|
|
215
|
+
new Date(row.env_last_seen_at) > new Date(entry.lastSeenAt)) {
|
|
216
|
+
entry.lastSeenAt = row.env_last_seen_at;
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
return orderedEntries;
|
|
220
|
+
}
|
|
221
|
+
addTag(featureToggle, row) {
|
|
222
|
+
const tags = featureToggle.tags || [];
|
|
223
|
+
const newTag = this.rowToTag(row);
|
|
224
|
+
featureToggle.tags = [...tags, newTag];
|
|
225
|
+
}
|
|
226
|
+
rowToTag(r) {
|
|
227
|
+
return {
|
|
228
|
+
value: r.tag_value,
|
|
229
|
+
type: r.tag_type,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
isTagRow(row) {
|
|
233
|
+
return row.tag_type && row.tag_value;
|
|
234
|
+
}
|
|
235
|
+
isNewTag(featureToggle, row) {
|
|
236
|
+
return (this.isTagRow(row) &&
|
|
237
|
+
!featureToggle.tags?.some((tag) => tag.type === row.tag_type && tag.value === row.tag_value));
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
const applyQueryParams = (query, queryParams) => {
|
|
241
|
+
const tagConditions = queryParams.filter((param) => param.field === 'tag');
|
|
242
|
+
const segmentConditions = queryParams.filter((param) => param.field === 'segment');
|
|
243
|
+
const genericConditions = queryParams.filter((param) => param.field !== 'tag');
|
|
244
|
+
applyGenericQueryParams(query, genericConditions);
|
|
245
|
+
applyMultiQueryParams(query, tagConditions, ['tag_type', 'tag_value'], createTagBaseQuery);
|
|
246
|
+
applyMultiQueryParams(query, segmentConditions, 'segments.name', createSegmentBaseQuery);
|
|
247
|
+
};
|
|
248
|
+
const applyGenericQueryParams = (query, queryParams) => {
|
|
249
|
+
queryParams.forEach((param) => {
|
|
250
|
+
switch (param.operator) {
|
|
251
|
+
case 'IS':
|
|
252
|
+
case 'IS_ANY_OF':
|
|
253
|
+
query.whereIn(param.field, param.values);
|
|
254
|
+
break;
|
|
255
|
+
case 'IS_NOT':
|
|
256
|
+
case 'IS_NONE_OF':
|
|
257
|
+
query.whereNotIn(param.field, param.values);
|
|
258
|
+
break;
|
|
259
|
+
case 'IS_BEFORE':
|
|
260
|
+
query.where(param.field, '<', param.values[0]);
|
|
261
|
+
break;
|
|
262
|
+
case 'IS_ON_OR_AFTER':
|
|
263
|
+
query.where(param.field, '>=', param.values[0]);
|
|
264
|
+
break;
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
};
|
|
268
|
+
const applyMultiQueryParams = (query, queryParams, fields, createBaseQuery) => {
|
|
269
|
+
queryParams.forEach((param) => {
|
|
270
|
+
const values = param.values.map((val) => (Array.isArray(fields) ? val.split(':') : [val]).map((s) => s.trim()));
|
|
271
|
+
const baseSubQuery = createBaseQuery(values);
|
|
272
|
+
switch (param.operator) {
|
|
273
|
+
case 'INCLUDE':
|
|
274
|
+
case 'INCLUDE_ANY_OF':
|
|
275
|
+
if (Array.isArray(fields)) {
|
|
276
|
+
query.whereIn(fields, values);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
query.whereIn(fields, values.map((v) => v[0]));
|
|
280
|
+
}
|
|
281
|
+
break;
|
|
282
|
+
case 'DO_NOT_INCLUDE':
|
|
283
|
+
case 'EXCLUDE_IF_ANY_OF':
|
|
284
|
+
query.whereNotIn('features.name', baseSubQuery);
|
|
285
|
+
break;
|
|
286
|
+
case 'INCLUDE_ALL_OF':
|
|
287
|
+
query.whereIn('features.name', (dbSubQuery) => {
|
|
288
|
+
baseSubQuery(dbSubQuery)
|
|
289
|
+
.groupBy('feature_name')
|
|
290
|
+
.havingRaw('COUNT(*) = ?', [values.length]);
|
|
291
|
+
});
|
|
292
|
+
break;
|
|
293
|
+
case 'EXCLUDE_ALL':
|
|
294
|
+
query.whereNotIn('features.name', (dbSubQuery) => {
|
|
295
|
+
baseSubQuery(dbSubQuery)
|
|
296
|
+
.groupBy('feature_name')
|
|
297
|
+
.havingRaw('COUNT(*) = ?', [values.length]);
|
|
298
|
+
});
|
|
299
|
+
break;
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
};
|
|
303
|
+
const createTagBaseQuery = (tags) => {
|
|
304
|
+
return (dbSubQuery) => {
|
|
305
|
+
return dbSubQuery
|
|
306
|
+
.from('feature_tag')
|
|
307
|
+
.select('feature_name')
|
|
308
|
+
.whereIn(['tag_type', 'tag_value'], tags);
|
|
309
|
+
};
|
|
310
|
+
};
|
|
311
|
+
const createSegmentBaseQuery = (segments) => {
|
|
312
|
+
return (dbSubQuery) => {
|
|
313
|
+
return dbSubQuery
|
|
314
|
+
.from('feature_strategies')
|
|
315
|
+
.leftJoin('feature_strategy_segment', 'feature_strategy_segment.feature_strategy_id', 'feature_strategies.id')
|
|
316
|
+
.leftJoin('segments', 'feature_strategy_segment.segment_id', 'segments.id')
|
|
317
|
+
.select('feature_name')
|
|
318
|
+
.whereIn('name', segments);
|
|
319
|
+
};
|
|
320
|
+
};
|
|
321
|
+
module.exports = FeatureSearchStore;
|
|
322
|
+
exports.default = FeatureSearchStore;
|
|
323
|
+
//# sourceMappingURL=feature-search-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-search-store.js","sourceRoot":"","sources":["../../../../src/lib/features/feature-search/feature-search-store.ts"],"names":[],"mappings":";;;;;AAEA,+EAAsD;AACtD,uDAA8C;AAS9C,kGAAwE;AASxE,MAAM,gBAAgB,GAAG,CAAC,QAA4B,EAAE,EAAE;IACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAsB,EAAE,EAAE,CAAC,CAAC;QAC7C,GAAG,IAAI;QACP,YAAY,EAAE,IAAI,CAAC,YAAY;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aACrB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE;gBAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACvC;YACD,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QACrC,CAAC,CAAC;KACT,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,kBAAkB;IAOpB,YAAY,EAAM,EAAE,QAAsB,EAAE,SAAsB;QAC9D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,CACpB,wBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,uBAAO,EAAE;YACvC,KAAK,EAAE,gBAAgB;YACvB,MAAM;SACT,CAAC,CAAC;IACX,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,CAAM;QAChC,OAAO;YACH,IAAI,EAAE,CAAC,CAAC,WAAW;YACnB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,gBAAgB;YACxB,SAAS,EAAE,CAAC,CAAC,sBAAsB;YACnC,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;YACrC,UAAU,EAAE,CAAC,CAAC,gBAAgB;YAC9B,aAAa,EAAE,CAAC,CAAC,cAAc;YAC/B,oBAAoB,EAAE,CAAC,CAAC,sBAAsB;SACjD,CAAC;IACN,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,EACI,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,MAAM,EACN,cAAc,GACK,EACvB,WAA0B;QAK1B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GACpB,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAEpE,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE;aACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEvB,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAErC,MAAM,eAAe,GAAG,YAAY,EAAE,MAAM,CAAC;YAC7C,IAAI,eAAe,EAAE;gBACjB,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CACxB,CAAC;gBACF,MAAM,kBAAkB,GAAG,aAAa;qBACnC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;qBACd,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEf,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;oBACpB,OAAO;yBACF,UAAU,CACP,yBAAyB,kBAAkB,IAAI,EAC/C,CAAC,eAAe,EAAE,GAAG,aAAa,CAAC,CACtC;yBACA,UAAU,CACP,yBAAyB,kBAAkB,IAAI,EAC/C,CAAC,sBAAsB,EAAE,GAAG,aAAa,CAAC,CAC7C,CAAC;gBACV,CAAC,CAAC,CAAC;aACN;YAED,IAAI,IAAI,EAAE;gBACN,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aACxC;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;oBACpB,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,EAAE;wBACvC,OAAO,CAAC,OAAO,CAAC;4BACZ,IAAI,CAAC,KAAK,CACN,kCAAkC,EAClC,OAAO,CACV,CAAC,QAAQ,CACN,8BAA8B,EAC9B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CACzC,CAAC;wBACN,CAAC,CAAC,CAAC;qBACN;gBACL,CAAC,CAAC,CAAC;aACN;YAED,KAAK;iBACA,MAAM,CAAC,8BAAkB,CAAC,gBAAgB,EAAE,KAAK,CAAC;iBAClD,QAAQ,CACL,sBAAsB,EACtB,mCAAmC,EACnC,eAAe,CAClB;iBACA,QAAQ,CACL,cAAc,EACd,kCAAkC,EAClC,mBAAmB,CACtB;iBACA,QAAQ,CACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,CAClB;iBACA,QAAQ,CACL,oBAAoB,EACpB,iCAAiC,EACjC,eAAe,CAClB;iBACA,QAAQ,CACL,0BAA0B,EAC1B,8CAA8C,EAC9C,uBAAuB,CAC1B;iBACA,QAAQ,CACL,UAAU,EACV,qCAAqC,EACrC,aAAa,CAChB,CAAC;YAEN,KAAK,CAAC,QAAQ,CAAC,sBAAsB,EAAE;gBACnC,IAAI,CAAC,EAAE,CACH,kCAAkC,EAClC,GAAG,EACH,mBAAmB,CACtB,CAAC,KAAK,CACH,mCAAmC,EACnC,GAAG,EACH,eAAe,CAClB,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,GAAG;gBAChB,+BAA+B;gBAC/B,qCAAqC;gBACrC,uBAAuB;gBACvB,6BAA6B;gBAC7B,mCAAmC;gBACnC,yBAAyB;gBACzB,uCAAuC;gBACvC,6CAA6C;gBAC7C,yCAAyC;gBACzC,iDAAiD;gBACjD,2CAA2C;gBAC3C,uCAAuC;gBACvC,mDAAmD;gBACnD,2BAA2B;gBAC3B,yBAAyB;gBACzB,+BAA+B;aACW,CAAC;YAE/C,MAAM,aAAa,GAAG,mCAAmC,CAAC;YAC1D,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,sBAAsB,CAAC,CAAC;YAE3D,IAAI,MAAM,EAAE;gBACR,KAAK,CAAC,QAAQ,CAAC,mBAAmB,EAAE;oBAChC,IAAI,CAAC,EAAE,CACH,2BAA2B,EAC3B,eAAe,CAClB,CAAC,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBACH,aAAa,GAAG;oBACZ,GAAG,aAAa;oBAChB,IAAI,CAAC,EAAE,CAAC,GAAG,CACP,mDAAmD,CACtD;iBACJ,CAAC;aACL;YAED,aAAa,GAAG;gBACZ,GAAG,aAAa;gBAChB,IAAI,CAAC,EAAE,CAAC,GAAG,CACP,yLAAyL,CAC5L;gBACD,IAAI,CAAC,EAAE,CAAC,GAAG,CACP,kRAAkR,CACrR;aACJ,CAAC;YAEF,MAAM,aAAa,GAAG;gBAClB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAE,kBAAkB;aAC9B,CAAC;YAEF,IAAI,UAAU,GAAG,WAAW,CAAC;YAC7B,IAAI,cAAc,EAAE;gBAChB,UAAU;oBACN,8CAA8C,CAAC;aACtD;YAED,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBACnC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtC,UAAU,IAAI,IAAI,CAAC,EAAE;qBAChB,GAAG,CACA,kGAAkG,kBAAkB,yDAAyD,EAC7K,CAAC,OAAO,CAAC,CACZ;qBACA,QAAQ,EAAE,CAAC;aACnB;iBAAM,IAAI,MAAM,KAAK,YAAY,EAAE;gBAChC,UAAU,IAAI,GAAG,IAAI,CAAC,EAAE;qBACnB,GAAG,CACA,YAAY,aAAa,4BAA4B,kBAAkB,aAAa,CACvF;qBACA,QAAQ,EAAE,8CAA8C,CAAC;aACjE;iBAAM,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;gBAC9B,UAAU,IAAI,GAAG,IAAI,CAAC,EAAE;qBACnB,GAAG,CAAC,MAAM,kBAAkB,EAAE,EAAE;oBAC7B,aAAa,CAAC,MAAM,CAAC;iBACxB,CAAC;qBACD,QAAQ,EAAE,8CAA8C,CAAC;aACjE;iBAAM;gBACH,UAAU,IAAI,uBAAuB,kBAAkB,qBAAqB,CAAC;aAChF;YAED,KAAK;iBACA,MAAM,CAAC,aAAa,CAAC;iBACrB,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC;aACD,IAAI,CACD,aAAa,EACb,IAAI,CAAC,EAAE,CAAC,GAAG,CACP,sHAAsH,CACzH,CACJ;aACA,IAAI,CACD,gBAAgB,EAChB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAC3D;aACA,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,iBAAiB,CAAC;aACvB,SAAS,CACN,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,CAC7B;aACA,OAAO,CAAC,2BAA2B,CAAC;aACpC,YAAY,CAAC,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC9B,SAAS,EAAE,CAAC;QACZ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC5C,OAAO;gBACH,QAAQ;gBACR,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;aACpC,CAAC;SACL;QAED,OAAO;YACH,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC;SACX,CAAC;IACN,CAAC;IAED,uBAAuB,CAAC,IAAI;QACxB,MAAM,UAAU,GAAkC,IAAI,GAAG,EAAE,CAAC;QAC5D,MAAM,cAAc,GAAuB,EAAE,CAAC;QAE9C,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE7C,IAAI,CAAC,KAAK,EAAE;gBACR,qBAAqB;gBACrB,KAAK,GAAG;oBACJ,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,IAAI,EAAE,GAAG,CAAC,YAAY;oBACtB,SAAS,EAAE,GAAG,CAAC,UAAU;oBACzB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,cAAc,EAAE,GAAG,CAAC,eAAe;oBACnC,UAAU,EAAE,GAAG,CAAC,YAAY;oBAC5B,YAAY,EAAE,EAAE;oBAChB,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;iBACvD,CAAC;gBACF,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACxC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9B;YAED,yCAAyC;YACzC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,CAAC,EAAE;gBAC7D,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;aACnE;YAED,qCAAqC;YACrC,IACI,GAAG,CAAC,YAAY;gBAChB,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAC5C;gBACE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACzC;YAED,iBAAiB;YACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aAC3B;YAED,mCAAmC;YACnC,IACI,CAAC,KAAK,CAAC,UAAU;gBACjB,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAC7D;gBACE,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,gBAAgB,CAAC;aAC3C;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEO,MAAM,CACV,aAAkC,EAClC,GAAwB;QAExB,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEO,QAAQ,CAAC,CAAM;QACnB,OAAO;YACH,KAAK,EAAE,CAAC,CAAC,SAAS;YAClB,IAAI,EAAE,CAAC,CAAC,QAAQ;SACnB,CAAC;IACN,CAAC;IAEO,QAAQ,CAAC,GAAwB;QACrC,OAAO,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC;IACzC,CAAC;IAEO,QAAQ,CACZ,aAAkC,EAClC,GAAwB;QAExB,OAAO,CACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAClB,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CACrB,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,SAAS,CAC/D,CACJ,CAAC;IACN,CAAC;CACJ;AAED,MAAM,gBAAgB,GAAG,CACrB,KAAwB,EACxB,WAA0B,EACtB,EAAE;IACN,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC3E,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CACvC,CAAC;IACF,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CACnC,CAAC;IACF,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAElD,qBAAqB,CACjB,KAAK,EACL,aAAa,EACb,CAAC,UAAU,EAAE,WAAW,CAAC,EACzB,kBAAkB,CACrB,CAAC;IACF,qBAAqB,CACjB,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,sBAAsB,CACzB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC5B,KAAwB,EACxB,WAA0B,EACtB,EAAE;IACN,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,QAAQ,KAAK,CAAC,QAAQ,EAAE;YACpB,KAAK,IAAI,CAAC;YACV,KAAK,WAAW;gBACZ,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM;YACV,KAAK,QAAQ,CAAC;YACd,KAAK,YAAY;gBACb,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM;YACV,KAAK,WAAW;gBACZ,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACV,KAAK,gBAAgB;gBACjB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM;SACb;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC1B,KAAwB,EACxB,WAA0B,EAC1B,MAAyB,EACzB,eAEyD,EACrD,EAAE;IACN,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,CAAC,CAAC,IAAI,EAAE,CACX,CACJ,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAE7C,QAAQ,KAAK,CAAC,QAAQ,EAAE;YACpB,KAAK,SAAS,CAAC;YACf,KAAK,gBAAgB;gBACjB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACvB,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBACjC;qBAAM;oBACH,KAAK,CAAC,OAAO,CACT,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAC;iBACL;gBACD,MAAM;YAEV,KAAK,gBAAgB,CAAC;YACtB,KAAK,mBAAmB;gBACpB,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBAChD,MAAM;YAEV,KAAK,gBAAgB;gBACjB,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE;oBAC1C,YAAY,CAAC,UAAU,CAAC;yBACnB,OAAO,CAAC,cAAc,CAAC;yBACvB,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;gBACH,MAAM;YAEV,KAAK,aAAa;gBACd,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE;oBAC7C,YAAY,CAAC,UAAU,CAAC;yBACnB,OAAO,CAAC,cAAc,CAAC;yBACvB,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;gBACH,MAAM;SACb;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAgB,EAAE,EAAE;IAC5C,OAAO,CAAC,UAA6B,EAAqB,EAAE;QACxD,OAAO,UAAU;aACZ,IAAI,CAAC,aAAa,CAAC;aACnB,MAAM,CAAC,cAAc,CAAC;aACtB,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,QAAkB,EAAE,EAAE;IAClD,OAAO,CAAC,UAA6B,EAAqB,EAAE;QACxD,OAAO,UAAU;aACZ,IAAI,CAAC,oBAAoB,CAAC;aAC1B,QAAQ,CACL,0BAA0B,EAC1B,8CAA8C,EAC9C,uBAAuB,CAC1B;aACA,QAAQ,CACL,UAAU,EACV,qCAAqC,EACrC,aAAa,CAChB;aACA,MAAM,CAAC,cAAc,CAAC;aACtB,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC;AACpC,kBAAe,kBAAkB,CAAC"}
|
|
@@ -83,6 +83,16 @@ const filterFeaturesByState = async (state, expectedCode = 200) => {
|
|
|
83
83
|
.get(`/api/admin/search/features?state=${state}`)
|
|
84
84
|
.expect(expectedCode);
|
|
85
85
|
};
|
|
86
|
+
const filterFeaturesByOperators = async (state, tag, createdAt, expectedCode = 200) => {
|
|
87
|
+
return app.request
|
|
88
|
+
.get(`/api/admin/search/features?createdAt=${createdAt}&state=${state}&tag=${tag}`)
|
|
89
|
+
.expect(expectedCode);
|
|
90
|
+
};
|
|
91
|
+
const filterFeaturesByCreated = async (createdAt, expectedCode = 200) => {
|
|
92
|
+
return app.request
|
|
93
|
+
.get(`/api/admin/search/features?createdAt=${createdAt}`)
|
|
94
|
+
.expect(expectedCode);
|
|
95
|
+
};
|
|
86
96
|
const filterFeaturesByEnvironmentStatus = async (environmentStatuses, expectedCode = 200) => {
|
|
87
97
|
const statuses = environmentStatuses
|
|
88
98
|
.map((status) => `status[]=${status}`)
|
|
@@ -198,6 +208,9 @@ test('should filter features by tag', async () => {
|
|
|
198
208
|
{ name: 'my_feature_c' },
|
|
199
209
|
],
|
|
200
210
|
});
|
|
211
|
+
await filterFeaturesByTag('EXCLUDE_ALL:simple', 400);
|
|
212
|
+
await filterFeaturesByTag('EXCLUDE_ALL:simple,simple', 400);
|
|
213
|
+
await filterFeaturesByTag('EXCLUDE_ALL:simple,simple:jest', 400);
|
|
201
214
|
});
|
|
202
215
|
test('should filter features by environment status', async () => {
|
|
203
216
|
await app.createFeature('my_feature_a');
|
|
@@ -268,6 +281,7 @@ test('should sort features', async () => {
|
|
|
268
281
|
await app.createFeature('my_feature_b');
|
|
269
282
|
await app.enableFeature('my_feature_c', 'default');
|
|
270
283
|
await app.favoriteFeature('my_feature_b');
|
|
284
|
+
await (0, test_helper_1.insertLastSeenAt)('my_feature_c', db.rawDatabase, 'default');
|
|
271
285
|
const { body: ascName } = await sortFeatures({
|
|
272
286
|
sortBy: 'name',
|
|
273
287
|
sortOrder: 'asc',
|
|
@@ -341,6 +355,39 @@ test('should sort features', async () => {
|
|
|
341
355
|
],
|
|
342
356
|
total: 3,
|
|
343
357
|
});
|
|
358
|
+
const { body: lastSeenAscSort } = await sortFeatures({
|
|
359
|
+
sortBy: 'lastSeenAt',
|
|
360
|
+
sortOrder: 'asc',
|
|
361
|
+
});
|
|
362
|
+
expect(lastSeenAscSort).toMatchObject({
|
|
363
|
+
features: [
|
|
364
|
+
{ name: 'my_feature_c' },
|
|
365
|
+
{ name: 'my_feature_a' },
|
|
366
|
+
{ name: 'my_feature_b' },
|
|
367
|
+
],
|
|
368
|
+
total: 3,
|
|
369
|
+
});
|
|
370
|
+
});
|
|
371
|
+
test('should sort features when feature names are numbers', async () => {
|
|
372
|
+
await app.createFeature('my_feature_a');
|
|
373
|
+
await app.createFeature('my_feature_c');
|
|
374
|
+
await app.createFeature('my_feature_b');
|
|
375
|
+
await app.createFeature('1234');
|
|
376
|
+
await app.favoriteFeature('my_feature_b');
|
|
377
|
+
const { body: favoriteSortByName } = await sortFeatures({
|
|
378
|
+
sortBy: 'name',
|
|
379
|
+
sortOrder: 'asc',
|
|
380
|
+
favoritesFirst: 'true',
|
|
381
|
+
});
|
|
382
|
+
expect(favoriteSortByName).toMatchObject({
|
|
383
|
+
features: [
|
|
384
|
+
{ name: 'my_feature_b' },
|
|
385
|
+
{ name: '1234' },
|
|
386
|
+
{ name: 'my_feature_a' },
|
|
387
|
+
{ name: 'my_feature_c' },
|
|
388
|
+
],
|
|
389
|
+
total: 4,
|
|
390
|
+
});
|
|
344
391
|
});
|
|
345
392
|
test('should paginate correctly when using tags', async () => {
|
|
346
393
|
await app.createFeature('my_feature_a');
|
|
@@ -377,7 +424,7 @@ test('should paginate correctly when using tags', async () => {
|
|
|
377
424
|
total: 4,
|
|
378
425
|
});
|
|
379
426
|
});
|
|
380
|
-
test('should not return duplicate entries when sorting by
|
|
427
|
+
test('should not return duplicate entries when sorting by environments', async () => {
|
|
381
428
|
await app.createFeature('my_feature_a');
|
|
382
429
|
await app.createFeature('my_feature_b');
|
|
383
430
|
await app.createFeature('my_feature_c');
|
|
@@ -468,6 +515,7 @@ test('should search features by project with operators', async () => {
|
|
|
468
515
|
});
|
|
469
516
|
await db.stores.featureToggleStore.create('project_b', {
|
|
470
517
|
name: 'my_feature_b',
|
|
518
|
+
createdByUserId: 9999,
|
|
471
519
|
});
|
|
472
520
|
await db.stores.projectStore.create({
|
|
473
521
|
name: 'project_c',
|
|
@@ -476,6 +524,7 @@ test('should search features by project with operators', async () => {
|
|
|
476
524
|
});
|
|
477
525
|
await db.stores.featureToggleStore.create('project_c', {
|
|
478
526
|
name: 'my_feature_c',
|
|
527
|
+
createdByUserId: 9999,
|
|
479
528
|
});
|
|
480
529
|
const { body } = await searchFeatures({
|
|
481
530
|
project: 'IS:default',
|
|
@@ -496,7 +545,7 @@ test('should search features by project with operators', async () => {
|
|
|
496
545
|
features: [{ name: 'my_feature_a' }, { name: 'my_feature_c' }],
|
|
497
546
|
});
|
|
498
547
|
const { body: isNotAnyBody } = await searchFeatures({
|
|
499
|
-
project: '
|
|
548
|
+
project: 'IS_NONE_OF:default,project_c',
|
|
500
549
|
});
|
|
501
550
|
expect(isNotAnyBody).toMatchObject({
|
|
502
551
|
features: [{ name: 'my_feature_b' }],
|
|
@@ -586,9 +635,18 @@ test('should filter features by segment', async () => {
|
|
|
586
635
|
});
|
|
587
636
|
});
|
|
588
637
|
test('should search features by state with operators', async () => {
|
|
589
|
-
await app.createFeature({
|
|
590
|
-
|
|
591
|
-
|
|
638
|
+
await app.createFeature({
|
|
639
|
+
name: 'my_feature_a',
|
|
640
|
+
stale: false,
|
|
641
|
+
});
|
|
642
|
+
await app.createFeature({
|
|
643
|
+
name: 'my_feature_b',
|
|
644
|
+
stale: true,
|
|
645
|
+
});
|
|
646
|
+
await app.createFeature({
|
|
647
|
+
name: 'my_feature_c',
|
|
648
|
+
stale: true,
|
|
649
|
+
});
|
|
592
650
|
const { body } = await filterFeaturesByState('IS:active');
|
|
593
651
|
expect(body).toMatchObject({
|
|
594
652
|
features: [{ name: 'my_feature_a' }],
|
|
@@ -605,9 +663,46 @@ test('should search features by state with operators', async () => {
|
|
|
605
663
|
{ name: 'my_feature_c' },
|
|
606
664
|
],
|
|
607
665
|
});
|
|
608
|
-
const { body: isNotAnyBody } = await filterFeaturesByState('
|
|
666
|
+
const { body: isNotAnyBody } = await filterFeaturesByState('IS_NONE_OF:active, stale');
|
|
609
667
|
expect(isNotAnyBody).toMatchObject({
|
|
610
668
|
features: [],
|
|
611
669
|
});
|
|
612
670
|
});
|
|
671
|
+
test('should search features by created date with operators', async () => {
|
|
672
|
+
await app.createFeature({
|
|
673
|
+
name: 'my_feature_a',
|
|
674
|
+
createdAt: '2023-01-27T15:21:39.975Z',
|
|
675
|
+
});
|
|
676
|
+
await app.createFeature({
|
|
677
|
+
name: 'my_feature_b',
|
|
678
|
+
createdAt: '2023-01-29T15:21:39.975Z',
|
|
679
|
+
});
|
|
680
|
+
const { body } = await filterFeaturesByCreated('IS_BEFORE:2023-01-28');
|
|
681
|
+
expect(body).toMatchObject({
|
|
682
|
+
features: [{ name: 'my_feature_a' }],
|
|
683
|
+
});
|
|
684
|
+
const { body: afterBody } = await filterFeaturesByCreated('IS_ON_OR_AFTER:2023-01-28');
|
|
685
|
+
expect(afterBody).toMatchObject({
|
|
686
|
+
features: [{ name: 'my_feature_b' }],
|
|
687
|
+
});
|
|
688
|
+
});
|
|
689
|
+
test('should filter features by combined operators', async () => {
|
|
690
|
+
await app.createFeature({
|
|
691
|
+
name: 'my_feature_a',
|
|
692
|
+
createdAt: '2023-01-27T15:21:39.975Z',
|
|
693
|
+
stale: true,
|
|
694
|
+
});
|
|
695
|
+
await app.createFeature({
|
|
696
|
+
name: 'my_feature_b',
|
|
697
|
+
createdAt: '2023-01-29T15:21:39.975Z',
|
|
698
|
+
});
|
|
699
|
+
await app.addTag('my_feature_b', {
|
|
700
|
+
type: 'simple',
|
|
701
|
+
value: 'my_tag',
|
|
702
|
+
});
|
|
703
|
+
const { body } = await filterFeaturesByOperators('IS_NOT:active', 'DO_NOT_INCLUDE:simple:my_tag', 'IS_BEFORE:2023-01-28');
|
|
704
|
+
expect(body).toMatchObject({
|
|
705
|
+
features: [{ name: 'my_feature_a' }],
|
|
706
|
+
});
|
|
707
|
+
});
|
|
613
708
|
//# sourceMappingURL=feature.search.e2e.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature.search.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/feature-search/feature.search.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feature.search.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/feature-search/feature.search.e2e.test.ts"],"names":[],"mappings":";;;;;AAAA,4FAA0E;AAC1E,uEAI+C;AAC/C,iFAAyD;AAEzD,uCAA8D;AAC9D,qCAAyC;AAEzC,IAAI,GAAiB,CAAC;AACtB,IAAI,EAAW,CAAC;AAChB,IAAI,MAAsB,CAAC;AAE3B,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,EAAE,GAAG,MAAM,IAAA,uBAAM,EAAC,gBAAgB,EAAE,mBAAS,CAAC,CAAC;IAC/C,GAAG,GAAG,MAAM,IAAA,8BAAgB,EACxB,EAAE,CAAC,MAAM,EACT;QACI,YAAY,EAAE;YACV,KAAK,EAAE;gBACH,sBAAsB,EAAE,IAAI;gBAC5B,gBAAgB,EAAE,IAAI;aACzB;SACJ;KACJ,EACD,EAAE,CAAC,WAAW,CACjB,CAAC;IACF,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IAEnB,MAAM,GAAG,CAAC,OAAO;SACZ,IAAI,CAAC,kBAAkB,CAAC;SACxB,IAAI,CAAC;QACF,KAAK,EAAE,oBAAoB;KAC9B,CAAC;SACD,MAAM,CAAC,GAAG,CAAC,CAAC;IAEjB,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;KACtB,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAE7D,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;KACrB,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,wBAAwB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAChB,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;IAC/C,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,KAAK,EACxB,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,GAAG,YAAY,EAAgC,EACpE,YAAY,GAAG,GAAG,EACpB,EAAE;IACA,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,oCAAoC,KAAK,YAAY,OAAO,EAAE,CAAC;SACnE,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EACtB,EACI,MAAM,GAAG,EAAE,EACX,SAAS,GAAG,EAAE,EACd,OAAO,GAAG,SAAS,EACnB,cAAc,GAAG,OAAO,GACG,EAC/B,YAAY,GAAG,GAAG,EACpB,EAAE;IACA,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CACA,qCAAqC,MAAM,cAAc,SAAS,eAAe,OAAO,mBAAmB,cAAc,EAAE,CAC9H;SACA,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,KAAK,EAClC,EACI,KAAK,GAAG,EAAE,EACV,OAAO,GAAG,SAAS,EACnB,MAAM,GAAG,GAAG,EACZ,KAAK,GAAG,IAAI,GACe,EAC/B,YAAY,GAAG,GAAG,EACpB,EAAE;IACA,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CACA,oCAAoC,KAAK,eAAe,OAAO,WAAW,MAAM,UAAU,KAAK,EAAE,CACpG;SACA,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAAe,EAAE,YAAY,GAAG,GAAG,EAAE,EAAE;IACvE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,8BAA8B,UAAU,EAAE,CAAC;SAC/C,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,GAAW,EAAE,YAAY,GAAG,GAAG,EAAE,EAAE;IAClE,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,kCAAkC,GAAG,EAAE,CAAC;SAC5C,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EAAE,OAAe,EAAE,YAAY,GAAG,GAAG,EAAE,EAAE;IAC1E,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,sCAAsC,OAAO,EAAE,CAAC;SACpD,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,KAAa,EAAE,YAAY,GAAG,GAAG,EAAE,EAAE;IACtE,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,oCAAoC,KAAK,EAAE,CAAC;SAChD,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,KAAK,EACnC,KAAa,EACb,GAAW,EACX,SAAiB,EACjB,YAAY,GAAG,GAAG,EACpB,EAAE;IACA,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CACA,wCAAwC,SAAS,UAAU,KAAK,QAAQ,GAAG,EAAE,CAChF;SACA,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACjC,SAAiB,EACjB,YAAY,GAAG,GAAG,EACpB,EAAE;IACA,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,wCAAwC,SAAS,EAAE,CAAC;SACxD,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,KAAK,EAC3C,mBAA6B,EAC7B,YAAY,GAAG,GAAG,EACpB,EAAE;IACA,MAAM,QAAQ,GAAG,mBAAmB;SAC/B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,MAAM,EAAE,CAAC;SACrC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,8BAA8B,QAAQ,EAAE,CAAC;SAC7C,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,KAAK,EAAE,YAAY,GAAG,GAAG,EAAE,EAAE;IAClE,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;IACvD,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAErC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAE5D,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAC9D,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;IAC3C,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAExC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,GAC5C,MAAM,wBAAwB,CAAC;QAC3B,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;KACb,CAAC,CAAC;IAEP,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;QAC5B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAC9D,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,GAC9C,MAAM,wBAAwB,CAAC;QAC3B,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;KACb,CAAC,CAAC;IAEP,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;QAC7B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAC9D,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,SAAS;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,cAAc;KACvB,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,oBAAoB,CAAC;QACxC,cAAc;QACd,aAAa;KAChB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC7C,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO;KACjB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO;KACjB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;KAClB,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IAEpE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,mBAAmB,CACtD,8BAA8B,CACjC,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,mBAAmB,CACpD,4CAA4C,CAC/C,CAAC;IAEF,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;QAC/B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,mBAAmB,CACpD,4CAA4C,CAC/C,CAAC;IAEF,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;QAC/B,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,mBAAmB,CACtD,+CAA+C,CAClD,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,mBAAmB,CAClD,yCAAyC,CAC5C,CAAC;IAEF,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;QAC7B,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;KACJ,CAAC,CAAC;IAEH,MAAM,mBAAmB,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,mBAAmB,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,mBAAmB,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAEnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,iCAAiC,CAAC;QACrD,iBAAiB;QACjB,yBAAyB;QACzB,qBAAqB;KACxB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,YAAY;KACtB,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE;oBACF;wBACI,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,QAAQ;qBAClB;oBACD;wBACI,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,YAAY;qBACtB;iBACJ;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;IAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAExC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC;QAClC,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,oBAAoB;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;IACpD,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAExC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gCAAgC,EAAE,CAAC;IAE1D,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACjE,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAE1C,MAAM,IAAA,8BAAgB,EAAC,cAAc,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAElE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC;QACzC,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;QAC1B,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC;QAC1C,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,MAAM;KACpB,CAAC,CAAC;IAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC;QAC3B,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,MAAM,YAAY,CAAC;QAClD,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;KAChB,CAAC,CAAC;IAEH,MAAM,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC;QACnC,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,MAAM,YAAY,CAAC;QACpD,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC;QACrC,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,MAAM,YAAY,CAAC;QACrD,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE,MAAM;KACpB,CAAC,CAAC;IAEH,MAAM,CAAC,mBAAmB,CAAC,CAAC,aAAa,CAAC;QACtC,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,MAAM,YAAY,CAAC;QAC7D,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,MAAM;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,2BAA2B,CAAC,CAAC,aAAa,CAAC;QAC9C,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,YAAY,CAAC;QACjD,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC;QAClC,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;IACnE,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAE1C,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,MAAM,YAAY,CAAC;QACpD,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,MAAM;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC;QACrC,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,MAAM,EAAE;YAChB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAExC,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;KACrB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,YAAY;KACtB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,YAAY;KACtB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,YAAY;KACtB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,wBAAwB,CAAC;QACxD,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;KACb,CAAC,CAAC;IAEH,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;QAC7B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAC9D,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;IAChF,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACtD,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEtD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC;QAChC,MAAM,EAAE,wBAAwB;QAChC,SAAS,EAAE,MAAM;KACpB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,YAAY,CAAC;QAC/C,MAAM,EAAE,wBAAwB;QAChC,SAAS,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC;QAChC,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;QACD,KAAK,EAAE,CAAC;KACX,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,WAAW,GAAG,mBAAmB,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,WAAW;KACd,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC;QAClC,KAAK,EAAE,OAAO;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,cAAc;gBACpB,WAAW;gBACX,OAAO,EAAE,uBAAe;aAC3B;SACJ;KACJ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,WAAW,GAAG,mBAAmB,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,WAAW;KACd,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAExC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC;QAClC,KAAK,EAAE,SAAS;KACnB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,cAAc;gBACpB,WAAW;aACd;YACD,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,cAAc,CAAC;QAC9C,KAAK,EAAE,KAAK;KACf,CAAC,CAAC;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;QAC7B,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;KACJ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAExC,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QAChC,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,EAAE;QACf,EAAE,EAAE,WAAW;KAClB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE;QACnD,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,IAAI;KACxB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;QAChC,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,EAAE;QACf,EAAE,EAAE,WAAW;KAClB,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE;QACnD,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,IAAI;KACxB,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC;QAClC,OAAO,EAAE,YAAY;KACxB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,cAAc,CAAC;QAC7C,OAAO,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;QAC5B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC;QAC/C,OAAO,EAAE,6BAA6B;KACzC,CAAC,CAAC;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC;QAC9B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,cAAc,CAAC;QAChD,OAAO,EAAE,8BAA8B;KAC1C,CAAC,CAAC;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;QAC/B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;IAC1E,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC;QAChD,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,EAAE;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,uBAAuB,CAC7B;QACI,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;KAC3B,EACD,kBAAW,EACX,cAAc,CACjB,CAAC;IACF,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAEvD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;aAC7B;SACJ;KACJ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;IACjD,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC;QACjD,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,EAAE;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,uBAAuB,CAC7B;QACI,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;KAC5B,EACD,kBAAW,EACX,cAAc,CACjB,CAAC;IACF,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC;QACjD,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,EAAE;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,uBAAuB,CAC7B;QACI,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;KAC5B,EACD,kBAAW,EACX,cAAc,CACjB,CAAC;IACF,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,uBAAuB,CAC7B;QACI,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;KAC5B,EACD,kBAAW,EACX,cAAc,CACjB,CAAC;IACF,MAAM,GAAG,CAAC,uBAAuB,CAC7B;QACI,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;KAC5B,EACD,kBAAW,EACX,cAAc,CACjB,CAAC;IAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IAEvE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,uBAAuB,CAC1D,6BAA6B,CAChC,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,uBAAuB,CACxD,2CAA2C,CAC9C,CAAC;IAEF,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;QAC/B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,uBAAuB,CACxD,2CAA2C,CAC9C,CAAC;IAEF,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;QAC/B,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,uBAAuB,CAC1D,8CAA8C,CACjD,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC;QACjC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,uBAAuB,CACtD,wCAAwC,CAC3C,CAAC;IAEF,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;QAC7B,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;KACJ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAC9D,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,KAAK;KACf,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,IAAI;KACd,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;QAC5B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACjE,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,qBAAqB,CACrD,yBAAyB,CAC5B,CAAC;IACF,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC;QAC9B,QAAQ,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;YACxB,EAAE,IAAI,EAAE,cAAc,EAAE;SAC3B;KACJ,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,CACtD,0BAA0B,CAC7B,CAAC;IACF,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;QAC/B,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;IACrE,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,0BAA0B;KACxC,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,0BAA0B;KACxC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,uBAAuB,CACrD,2BAA2B,CAC9B,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;QAC5B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,0BAA0B;QACrC,KAAK,EAAE,IAAI;KACd,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,aAAa,CAAC;QACpB,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,0BAA0B;KACxC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;KAClB,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,yBAAyB,CAC5C,eAAe,EACf,8BAA8B,EAC9B,sBAAsB,CACzB,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|