unleash-server 7.2.3 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -33
- package/dist/lib/addons/datadog.js +1 -1
- package/dist/lib/addons/datadog.js.map +1 -1
- package/dist/lib/addons/datadog.test.js +11 -11
- package/dist/lib/addons/datadog.test.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md-events.d.ts.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md-events.js +11 -1
- package/dist/lib/addons/feature-event-formatter-md-events.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.test.js +8 -6
- package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
- package/dist/lib/addons/new-relic-definition.js +1 -1
- package/dist/lib/addons/new-relic-definition.js.map +1 -1
- package/dist/lib/addons/new-relic.js +4 -4
- package/dist/lib/addons/new-relic.js.map +1 -1
- package/dist/lib/addons/new-relic.test.js +4 -4
- package/dist/lib/addons/new-relic.test.js.map +1 -1
- package/dist/lib/addons/slack-app-definition.d.ts.map +1 -1
- package/dist/lib/addons/slack-app-definition.js +3 -1
- package/dist/lib/addons/slack-app-definition.js.map +1 -1
- package/dist/lib/addons/slack-app.test.js +1 -2
- package/dist/lib/addons/slack-app.test.js.map +1 -1
- package/dist/lib/addons/slack.js +1 -1
- package/dist/lib/addons/slack.js.map +1 -1
- package/dist/lib/addons/slack.test.js +1 -1
- package/dist/lib/addons/slack.test.js.map +1 -1
- package/dist/lib/addons/teams-definition.d.ts.map +1 -1
- package/dist/lib/addons/teams-definition.js +3 -1
- package/dist/lib/addons/teams-definition.js.map +1 -1
- package/dist/lib/addons/teams.js +1 -1
- package/dist/lib/addons/teams.js.map +1 -1
- package/dist/lib/addons/teams.test.js +1 -1
- package/dist/lib/addons/teams.test.js.map +1 -1
- package/dist/lib/addons/webhook-definition.d.ts.map +1 -1
- package/dist/lib/addons/webhook-definition.js +4 -2
- package/dist/lib/addons/webhook-definition.js.map +1 -1
- package/dist/lib/addons/webhook.js +1 -1
- package/dist/lib/addons/webhook.js.map +1 -1
- package/dist/lib/addons/webhook.test.js +3 -3
- package/dist/lib/addons/webhook.test.js.map +1 -1
- package/dist/lib/app.js +2 -2
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/app.test.js +2 -2
- 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 +8 -0
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/create-config.test.js +9 -2
- package/dist/lib/create-config.test.js.map +1 -1
- package/dist/lib/db/access-store.d.ts +1 -2
- package/dist/lib/db/access-store.d.ts.map +1 -1
- package/dist/lib/db/access-store.js +2 -3
- package/dist/lib/db/access-store.js.map +1 -1
- package/dist/lib/db/access-store.test.js +5 -1
- package/dist/lib/db/access-store.test.js.map +1 -1
- package/dist/lib/db/api-token-store.d.ts +1 -2
- package/dist/lib/db/api-token-store.d.ts.map +1 -1
- package/dist/lib/db/api-token-store.js +1 -2
- package/dist/lib/db/api-token-store.js.map +1 -1
- package/dist/lib/db/client-applications-store.d.ts.map +1 -1
- package/dist/lib/db/client-applications-store.js +32 -2
- package/dist/lib/db/client-applications-store.js.map +1 -1
- package/dist/lib/db/favorite-features-store.d.ts +1 -3
- package/dist/lib/db/favorite-features-store.d.ts.map +1 -1
- package/dist/lib/db/favorite-features-store.js +1 -3
- package/dist/lib/db/favorite-features-store.js.map +1 -1
- package/dist/lib/db/favorite-projects-store.d.ts +2 -3
- package/dist/lib/db/favorite-projects-store.d.ts.map +1 -1
- package/dist/lib/db/favorite-projects-store.js +20 -4
- package/dist/lib/db/favorite-projects-store.js.map +1 -1
- package/dist/lib/db/feature-environment-store.d.ts +1 -2
- package/dist/lib/db/feature-environment-store.d.ts.map +1 -1
- package/dist/lib/db/feature-environment-store.js +1 -2
- package/dist/lib/db/feature-environment-store.js.map +1 -1
- package/dist/lib/db/feature-type-store.d.ts +1 -2
- package/dist/lib/db/feature-type-store.d.ts.map +1 -1
- package/dist/lib/db/feature-type-store.js +1 -2
- package/dist/lib/db/feature-type-store.js.map +1 -1
- package/dist/lib/db/project-stats-store.d.ts +1 -2
- package/dist/lib/db/project-stats-store.d.ts.map +1 -1
- package/dist/lib/db/project-stats-store.js +1 -2
- package/dist/lib/db/project-stats-store.js.map +1 -1
- package/dist/lib/db/public-signup-token-store.d.ts +1 -2
- package/dist/lib/db/public-signup-token-store.d.ts.map +1 -1
- package/dist/lib/db/public-signup-token-store.js +1 -2
- package/dist/lib/db/public-signup-token-store.js.map +1 -1
- package/dist/lib/db/reset-token-store.d.ts +2 -3
- package/dist/lib/db/reset-token-store.d.ts.map +1 -1
- package/dist/lib/db/reset-token-store.js +31 -6
- package/dist/lib/db/reset-token-store.js.map +1 -1
- package/dist/lib/db/user-feedback-store.d.ts +1 -1
- package/dist/lib/db/user-feedback-store.d.ts.map +1 -1
- package/dist/lib/db/user-feedback-store.js +1 -1
- package/dist/lib/db/user-feedback-store.js.map +1 -1
- package/dist/lib/db/user-splash-store.d.ts +1 -1
- package/dist/lib/db/user-splash-store.d.ts.map +1 -1
- package/dist/lib/db/user-splash-store.js +1 -1
- package/dist/lib/db/user-splash-store.js.map +1 -1
- package/dist/lib/default-custom-auth-deny-all.js +1 -1
- package/dist/lib/default-custom-auth-deny-all.js.map +1 -1
- package/dist/lib/domain/project-health/project-health.js +1 -1
- package/dist/lib/domain/project-health/project-health.js.map +1 -1
- package/dist/lib/error/unleash-error.test.js +4 -1
- package/dist/lib/error/unleash-error.test.js.map +1 -1
- package/dist/lib/events/index.d.ts +6 -1
- package/dist/lib/events/index.d.ts.map +1 -1
- package/dist/lib/events/index.js +10 -0
- package/dist/lib/events/index.js.map +1 -1
- package/dist/lib/features/access/createAccessService.d.ts +5 -1
- package/dist/lib/features/access/createAccessService.d.ts.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.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.d.ts +1 -2
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.js +1 -2
- package/dist/lib/features/client-feature-toggles/client-feature-toggle-service.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js +4 -2
- package/dist/lib/features/client-feature-toggles/client-feature-toggle.controller.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.js +1 -1
- package/dist/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.js.map +1 -1
- package/dist/lib/features/context/context-field-store.d.ts +1 -3
- package/dist/lib/features/context/context-field-store.d.ts.map +1 -1
- package/dist/lib/features/context/context-field-store.js +1 -3
- package/dist/lib/features/context/context-field-store.js.map +1 -1
- package/dist/lib/features/context/context-service.d.ts +1 -3
- package/dist/lib/features/context/context-service.d.ts.map +1 -1
- package/dist/lib/features/context/context-service.js +2 -4
- package/dist/lib/features/context/context-service.js.map +1 -1
- package/dist/lib/features/context/context.d.ts +1 -2
- package/dist/lib/features/context/context.d.ts.map +1 -1
- package/dist/lib/features/context/context.js +5 -6
- package/dist/lib/features/context/context.js.map +1 -1
- package/dist/lib/features/dependent-features/fake-dependent-features-read-model.d.ts +1 -1
- package/dist/lib/features/dependent-features/fake-dependent-features-read-model.d.ts.map +1 -1
- package/dist/lib/features/dependent-features/fake-dependent-features-read-model.js +1 -1
- package/dist/lib/features/dependent-features/fake-dependent-features-read-model.js.map +1 -1
- package/dist/lib/features/environments/environments-controller.d.ts +1 -2
- package/dist/lib/features/environments/environments-controller.d.ts.map +1 -1
- package/dist/lib/features/environments/environments-controller.js +2 -3
- package/dist/lib/features/environments/environments-controller.js.map +1 -1
- package/dist/lib/features/events/event-created-by-migration.test.js +3 -3
- package/dist/lib/features/events/event-created-by-migration.test.js.map +1 -1
- package/dist/lib/features/events/event-search-controller.js +1 -1
- package/dist/lib/features/events/event-search-controller.js.map +1 -1
- package/dist/lib/features/events/event-service.test.js.map +1 -1
- package/dist/lib/features/events/event-store.d.ts.map +1 -1
- package/dist/lib/features/events/event-store.js +8 -6
- package/dist/lib/features/events/event-store.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js +1 -1
- package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-controller.d.ts +0 -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 +5 -6
- package/dist/lib/features/export-import-toggles/export-import-controller.js.map +1 -1
- package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.d.ts +1 -1
- package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.d.ts.map +1 -1
- package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.js +1 -1
- package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-read-model.js.map +1 -1
- package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-store.js +1 -1
- package/dist/lib/features/feature-lifecycle/fake-feature-lifecycle-store.js.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-store.d.ts.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-store.js +3 -2
- package/dist/lib/features/feature-lifecycle/feature-lifecycle-store.js.map +1 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle.e2e.test.js +4 -1
- package/dist/lib/features/feature-lifecycle/feature-lifecycle.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-links/fake-feature-links-read-model.d.ts +1 -1
- package/dist/lib/features/feature-links/fake-feature-links-read-model.d.ts.map +1 -1
- package/dist/lib/features/feature-links/fake-feature-links-read-model.js +1 -1
- package/dist/lib/features/feature-links/fake-feature-links-read-model.js.map +1 -1
- package/dist/lib/features/feature-links/feature-link-service.js +2 -2
- package/dist/lib/features/feature-links/feature-link-service.js.map +1 -1
- package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js +10 -2
- package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js.map +1 -1
- package/dist/lib/features/feature-search/fake-feature-search-store.d.ts +1 -1
- package/dist/lib/features/feature-search/fake-feature-search-store.d.ts.map +1 -1
- package/dist/lib/features/feature-search/fake-feature-search-store.js +1 -1
- package/dist/lib/features/feature-search/fake-feature-search-store.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-service.d.ts +1 -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 +1 -2
- package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-store.d.ts +1 -3
- package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-store.js +1 -3
- package/dist/lib/features/feature-search/feature-search-store.js.map +1 -1
- package/dist/lib/features/feature-search/feature.search.e2e.test.js +1 -1
- package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js +1 -1
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts +3 -4
- package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.js +2 -3
- package/dist/lib/features/feature-toggle/converters/feature-toggle-row-converter.js.map +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js +1 -12
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
- package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.d.ts +1 -1
- package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.js +1 -1
- package/dist/lib/features/feature-toggle/fake-feature-collaborators-read-model.js.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts +5 -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 +6 -6
- 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 +8 -8
- 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 +10 -12
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.js +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-features-read-model.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 +4 -3
- package/dist/lib/features/feature-toggle/feature-toggle-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +3 -10
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.js +10 -26
- package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-store.js +7 -3
- 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 +1 -3
- 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 +1 -3
- 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 +0 -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 +0 -1
- package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js +1 -1
- 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 +1 -1
- 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 +2 -2
- 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.e2e.test.js +3 -3
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-controller.js +2 -2
- package/dist/lib/features/frontend-api/frontend-api-controller.js.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-repository.d.ts +1 -3
- package/dist/lib/features/frontend-api/frontend-api-repository.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-repository.js +6 -6
- package/dist/lib/features/frontend-api/frontend-api-repository.js.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-service.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-service.js +3 -1
- package/dist/lib/features/frontend-api/frontend-api-service.js.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-service.test.js +2 -2
- package/dist/lib/features/frontend-api/frontend-api.concurrency.e2e.test.js +1 -1
- package/dist/lib/features/frontend-api/frontend-api.concurrency.e2e.test.js.map +1 -1
- package/dist/lib/features/frontend-api/global-frontend-api-cache.d.ts +0 -2
- package/dist/lib/features/frontend-api/global-frontend-api-cache.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/global-frontend-api-cache.js +0 -7
- package/dist/lib/features/frontend-api/global-frontend-api-cache.js.map +1 -1
- package/dist/lib/features/frontend-api/proxy-repository.js +1 -1
- package/dist/lib/features/frontend-api/proxy-repository.js.map +1 -1
- package/dist/lib/features/instance-stats/createInstanceStatsService.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/createInstanceStatsService.js +8 -2
- package/dist/lib/features/instance-stats/createInstanceStatsService.js.map +1 -1
- package/dist/lib/features/instance-stats/getEdgeInstances.d.ts +6 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.d.ts.map +1 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.d.ts +2 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.d.ts.map +1 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js +146 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.e2e.test.js.map +1 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.js +48 -0
- package/dist/lib/features/instance-stats/getEdgeInstances.js.map +1 -0
- package/dist/lib/features/instance-stats/getProductionChanges.e2e.test.js +2 -2
- package/dist/lib/features/instance-stats/getProductionChanges.e2e.test.js.map +1 -1
- package/dist/lib/features/instance-stats/getReadOnlyUsers.d.ts +5 -0
- package/dist/lib/features/instance-stats/getReadOnlyUsers.d.ts.map +1 -0
- package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.d.ts +2 -0
- package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.d.ts.map +1 -0
- package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.js +36 -0
- package/dist/lib/features/instance-stats/getReadOnlyUsers.e2e.test.js.map +1 -0
- package/dist/lib/features/instance-stats/getReadOnlyUsers.js +24 -0
- package/dist/lib/features/instance-stats/getReadOnlyUsers.js.map +1 -0
- package/dist/lib/features/instance-stats/instance-stats-service.d.ts +6 -2
- package/dist/lib/features/instance-stats/instance-stats-service.d.ts.map +1 -1
- package/dist/lib/features/instance-stats/instance-stats-service.js +9 -4
- package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -1
- package/dist/lib/features/instance-stats/instance-stats-service.test.js +9 -6
- package/dist/lib/features/instance-stats/instance-stats-service.test.js.map +1 -1
- package/dist/lib/features/integration-events/integration-events-service.d.ts +1 -3
- package/dist/lib/features/integration-events/integration-events-service.d.ts.map +1 -1
- package/dist/lib/features/integration-events/integration-events-service.js +1 -3
- package/dist/lib/features/integration-events/integration-events-service.js.map +1 -1
- package/dist/lib/features/maintenance/maintenance-controller.d.ts +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.js +1 -1
- package/dist/lib/features/maintenance/maintenance-service.js.map +1 -1
- package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.js +10 -10
- package/dist/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.js.map +1 -1
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.d.ts +1 -3
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.d.ts.map +1 -1
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js +2 -4
- package/dist/lib/features/metrics/client-metrics/client-metrics-store-v2.js.map +1 -1
- package/dist/lib/features/metrics/client-metrics/client-metrics.d.ts +0 -1
- package/dist/lib/features/metrics/client-metrics/client-metrics.d.ts.map +1 -1
- package/dist/lib/features/metrics/client-metrics/client-metrics.js +0 -1
- package/dist/lib/features/metrics/client-metrics/client-metrics.js.map +1 -1
- package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.d.ts +10 -10
- package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.d.ts.map +1 -1
- package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.js +13 -11
- package/dist/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.js.map +1 -1
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.d.ts +1 -1
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.d.ts.map +1 -1
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js +3 -3
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js.map +1 -1
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js +2 -2
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.test.js.map +1 -1
- package/dist/lib/features/metrics/custom/custom-metrics-controller.d.ts +2 -2
- package/dist/lib/features/metrics/custom/custom-metrics-controller.d.ts.map +1 -1
- package/dist/lib/features/metrics/custom/custom-metrics-controller.js +2 -2
- package/dist/lib/features/metrics/custom/custom-metrics-controller.js.map +1 -1
- package/dist/lib/features/metrics/impact/metrics-translator.js +3 -1
- package/dist/lib/features/metrics/impact/metrics-translator.js.map +1 -1
- package/dist/lib/features/metrics/instance/instance-service.d.ts.map +1 -1
- package/dist/lib/features/metrics/instance/instance-service.js +1 -0
- package/dist/lib/features/metrics/instance/instance-service.js.map +1 -1
- package/dist/lib/features/metrics/instance/instance-service.test.js +2 -2
- package/dist/lib/features/metrics/instance/instance-service.test.js.map +1 -1
- package/dist/lib/features/metrics/instance/metrics.d.ts +1 -0
- package/dist/lib/features/metrics/instance/metrics.d.ts.map +1 -1
- package/dist/lib/features/metrics/instance/metrics.js +22 -6
- package/dist/lib/features/metrics/instance/metrics.js.map +1 -1
- package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.d.ts +1 -1
- package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.d.ts.map +1 -1
- package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.js +1 -1
- package/dist/lib/features/metrics/last-seen/fake-last-seen-read-model.js.map +1 -1
- package/dist/lib/features/metrics/shared/schema.test.js +0 -1
- package/dist/lib/features/metrics/shared/schema.test.js.map +1 -1
- package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.d.ts +2 -2
- package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.d.ts.map +1 -1
- package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.js +2 -2
- package/dist/lib/features/metrics/sizes/fake-largest-resources-read-model.js.map +1 -1
- package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.d.ts +1 -2
- package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.d.ts.map +1 -1
- package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.js +1 -2
- package/dist/lib/features/metrics/unknown-flags/unknown-flags-service.js.map +1 -1
- package/dist/lib/features/onboarding/fake-onboarding-store.d.ts +2 -2
- package/dist/lib/features/onboarding/fake-onboarding-store.d.ts.map +1 -1
- package/dist/lib/features/onboarding/fake-onboarding-store.js +2 -2
- package/dist/lib/features/onboarding/fake-onboarding-store.js.map +1 -1
- package/dist/lib/features/onboarding/onboarding-service.d.ts +1 -3
- package/dist/lib/features/onboarding/onboarding-service.d.ts.map +1 -1
- package/dist/lib/features/onboarding/onboarding-service.js +2 -4
- package/dist/lib/features/onboarding/onboarding-service.js.map +1 -1
- package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.d.ts +3 -3
- package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.d.ts.map +1 -1
- package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.js +3 -3
- package/dist/lib/features/personal-dashboard/fake-personal-dashboard-read-model.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/constraint.js +1 -1
- package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/repository/index.js +1 -1
- package/dist/lib/features/playground/feature-evaluator/repository/index.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.d.ts +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.js +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.js +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/strategy.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.d.ts +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.d.ts.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.js +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.js.map +1 -1
- package/dist/lib/features/playground/offline-unleash-client.test.js +6 -2
- package/dist/lib/features/playground/offline-unleash-client.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 +3 -2
- package/dist/lib/features/playground/playground-service.js.map +1 -1
- package/dist/lib/features/playground/playground.test.js +1 -1
- package/dist/lib/features/playground/playground.test.js.map +1 -1
- package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts +3 -3
- package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts.map +1 -1
- package/dist/lib/features/private-project/fakePrivateProjectChecker.js +3 -3
- package/dist/lib/features/private-project/fakePrivateProjectChecker.js.map +1 -1
- package/dist/lib/features/private-project/privateProjectStore.d.ts +1 -2
- package/dist/lib/features/private-project/privateProjectStore.d.ts.map +1 -1
- package/dist/lib/features/private-project/privateProjectStore.js +1 -2
- package/dist/lib/features/private-project/privateProjectStore.js.map +1 -1
- package/dist/lib/features/project/fake-project-flag-creators-read-model.d.ts +1 -1
- package/dist/lib/features/project/fake-project-flag-creators-read-model.d.ts.map +1 -1
- package/dist/lib/features/project/fake-project-flag-creators-read-model.js +1 -1
- package/dist/lib/features/project/fake-project-flag-creators-read-model.js.map +1 -1
- package/dist/lib/features/project/project-controller.d.ts +1 -1
- package/dist/lib/features/project/project-controller.d.ts.map +1 -1
- package/dist/lib/features/project/project-controller.js +1 -1
- package/dist/lib/features/project/project-controller.js.map +1 -1
- package/dist/lib/features/project/project-read-model.d.ts +1 -2
- package/dist/lib/features/project/project-read-model.d.ts.map +1 -1
- package/dist/lib/features/project/project-read-model.js +1 -2
- package/dist/lib/features/project/project-read-model.js.map +1 -1
- package/dist/lib/features/project/project-service.e2e.test.js +10 -3
- package/dist/lib/features/project/project-service.e2e.test.js.map +1 -1
- package/dist/lib/features/project/project-store.d.ts +2 -3
- package/dist/lib/features/project/project-store.d.ts.map +1 -1
- package/dist/lib/features/project/project-store.js +43 -3
- package/dist/lib/features/project/project-store.js.map +1 -1
- package/dist/lib/features/project/projects.e2e.test.js +1 -1
- package/dist/lib/features/project/projects.e2e.test.js.map +1 -1
- package/dist/lib/features/project-environments/environment-service.d.ts +1 -0
- package/dist/lib/features/project-environments/environment-service.d.ts.map +1 -1
- package/dist/lib/features/project-environments/environment-service.js +4 -1
- package/dist/lib/features/project-environments/environment-service.js.map +1 -1
- package/dist/lib/features/project-environments/fake-environment-store.d.ts +3 -3
- package/dist/lib/features/project-environments/fake-environment-store.d.ts.map +1 -1
- package/dist/lib/features/project-environments/fake-environment-store.js +5 -5
- package/dist/lib/features/project-environments/fake-environment-store.js.map +1 -1
- package/dist/lib/features/project-insights/project-insights-service.e2e.test.js +1 -1
- package/dist/lib/features/project-insights/project-insights-service.e2e.test.js.map +1 -1
- package/dist/lib/features/project-status/projects-status.e2e.test.js +1 -1
- package/dist/lib/features/project-status/projects-status.e2e.test.js.map +1 -1
- package/dist/lib/features/scheduler/job-service.js +1 -1
- package/dist/lib/features/scheduler/job-service.js.map +1 -1
- package/dist/lib/features/scheduler/job-service.test.js +1 -1
- package/dist/lib/features/scheduler/job-service.test.js.map +1 -1
- package/dist/lib/features/scheduler/job-store.d.ts +0 -1
- package/dist/lib/features/scheduler/job-store.d.ts.map +1 -1
- package/dist/lib/features/scheduler/job-store.js +0 -1
- package/dist/lib/features/scheduler/job-store.js.map +1 -1
- package/dist/lib/features/scheduler/schedule-services.js +1 -1
- package/dist/lib/features/scheduler/schedule-services.js.map +1 -1
- package/dist/lib/features/segment/admin-segment.e2e.test.js +7 -25
- package/dist/lib/features/segment/admin-segment.e2e.test.js.map +1 -1
- package/dist/lib/features/segment/fake-segment-read-model.d.ts +2 -2
- package/dist/lib/features/segment/fake-segment-read-model.d.ts.map +1 -1
- package/dist/lib/features/segment/fake-segment-read-model.js +2 -2
- package/dist/lib/features/segment/fake-segment-read-model.js.map +1 -1
- package/dist/lib/features/segment/segment-controller.d.ts +1 -2
- package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
- package/dist/lib/features/segment/segment-controller.js +1 -2
- package/dist/lib/features/segment/segment-controller.js.map +1 -1
- package/dist/lib/features/segment/segment-service.d.ts +0 -1
- package/dist/lib/features/segment/segment-service.d.ts.map +1 -1
- package/dist/lib/features/segment/segment-service.js +0 -1
- package/dist/lib/features/segment/segment-service.js.map +1 -1
- package/dist/lib/features/tag-type/fake-tag-type-store.d.ts.map +1 -1
- package/dist/lib/features/tag-type/fake-tag-type-store.js +3 -1
- package/dist/lib/features/tag-type/fake-tag-type-store.js.map +1 -1
- package/dist/lib/features/tag-type/tag-type.d.ts +1 -2
- package/dist/lib/features/tag-type/tag-type.d.ts.map +1 -1
- package/dist/lib/features/tag-type/tag-type.js +1 -2
- package/dist/lib/features/tag-type/tag-type.js.map +1 -1
- package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.d.ts +4 -4
- package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.d.ts.map +1 -1
- package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.js +4 -4
- package/dist/lib/features/traffic-data-usage/fake-traffic-data-usage-store.js.map +1 -1
- package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.d.ts +1 -2
- package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.d.ts.map +1 -1
- package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.js +3 -4
- package/dist/lib/features/traffic-data-usage/traffic-data-usage-store.js.map +1 -1
- package/dist/lib/features/ui-observability-controller/ui-observability-controller.js +1 -1
- package/dist/lib/features/ui-observability-controller/ui-observability-controller.js.map +1 -1
- package/dist/lib/features/unique-connection/unique-connection-service.d.ts +0 -1
- package/dist/lib/features/unique-connection/unique-connection-service.d.ts.map +1 -1
- package/dist/lib/features/unique-connection/unique-connection-service.js +0 -1
- package/dist/lib/features/unique-connection/unique-connection-service.js.map +1 -1
- package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.d.ts +2 -2
- package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.d.ts.map +1 -1
- package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.js +2 -2
- package/dist/lib/features/user-subscriptions/fake-user-subscriptions-read-model.js.map +1 -1
- package/dist/lib/features/user-subscriptions/user-subscriptions-read-model.test.js +1 -1
- package/dist/lib/features/user-subscriptions/user-subscriptions-read-model.test.js.map +1 -1
- package/dist/lib/features/user-subscriptions/user-subscriptions-service.d.ts +1 -2
- package/dist/lib/features/user-subscriptions/user-subscriptions-service.d.ts.map +1 -1
- package/dist/lib/features/user-subscriptions/user-subscriptions-service.js +1 -2
- package/dist/lib/features/user-subscriptions/user-subscriptions-service.js.map +1 -1
- package/dist/lib/features/users/user-store.d.ts +1 -2
- package/dist/lib/features/users/user-store.d.ts.map +1 -1
- package/dist/lib/features/users/user-store.js +1 -2
- package/dist/lib/features/users/user-store.js.map +1 -1
- package/dist/lib/features/users/user-updates-read-model.d.ts +1 -2
- package/dist/lib/features/users/user-updates-read-model.d.ts.map +1 -1
- package/dist/lib/features/users/user-updates-read-model.js +1 -2
- package/dist/lib/features/users/user-updates-read-model.js.map +1 -1
- package/dist/lib/logger.test.js +2 -2
- package/dist/lib/logger.test.js.map +1 -1
- package/dist/lib/metrics.d.ts.map +1 -1
- package/dist/lib/metrics.js +8 -2
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/metrics.test.js +14 -8
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.js +1 -1
- package/dist/lib/middleware/api-token-middleware.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.test.js +4 -1
- package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
- package/dist/lib/middleware/audit-middleware.js +1 -1
- package/dist/lib/middleware/audit-middleware.js.map +1 -1
- package/dist/lib/middleware/catch-all-error-handler.js +1 -1
- package/dist/lib/middleware/catch-all-error-handler.js.map +1 -1
- package/dist/lib/middleware/content_type_checker.test.js +3 -6
- package/dist/lib/middleware/content_type_checker.test.js.map +1 -1
- package/dist/lib/middleware/cors-origin-middleware.js +1 -1
- package/dist/lib/middleware/cors-origin-middleware.js.map +1 -1
- package/dist/lib/middleware/demo-authentication.js +3 -3
- package/dist/lib/middleware/demo-authentication.js.map +1 -1
- package/dist/lib/middleware/no-authentication.js +3 -3
- package/dist/lib/middleware/no-authentication.js.map +1 -1
- package/dist/lib/middleware/origin-middleware.d.ts +1 -1
- package/dist/lib/middleware/origin-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/origin-middleware.js +2 -9
- package/dist/lib/middleware/origin-middleware.js.map +1 -1
- package/dist/lib/middleware/origin-middleware.test.js +0 -16
- package/dist/lib/middleware/origin-middleware.test.js.map +1 -1
- package/dist/lib/middleware/oss-authentication.test.js +2 -2
- package/dist/lib/middleware/oss-authentication.test.js.map +1 -1
- package/dist/lib/middleware/pat-middleware.js +1 -1
- package/dist/lib/middleware/pat-middleware.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.js +1 -1
- package/dist/lib/middleware/rbac-middleware.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.test.js +7 -3
- package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
- package/dist/lib/middleware/response-time-metrics.js +1 -1
- package/dist/lib/middleware/response-time-metrics.js.map +1 -1
- package/dist/lib/middleware/response-time-metrics.test.js +4 -1
- package/dist/lib/middleware/response-time-metrics.test.js.map +1 -1
- package/dist/lib/middleware/secure-headers.js +1 -1
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/openapi/meta-schema-rules.test.js +1 -1
- package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
- package/dist/lib/openapi/spec/addon-create-update-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/addon-create-update-schema.js +6 -6
- package/dist/lib/openapi/spec/addon-create-update-schema.js.map +1 -1
- package/dist/lib/openapi/spec/addon-parameter-schema.js +1 -1
- package/dist/lib/openapi/spec/addon-parameter-schema.js.map +1 -1
- package/dist/lib/openapi/spec/addon-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/addon-schema.js +1 -1
- package/dist/lib/openapi/spec/addon-schema.js.map +1 -1
- package/dist/lib/openapi/spec/addon-type-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/addon-type-schema.js +2 -2
- package/dist/lib/openapi/spec/addon-type-schema.js.map +1 -1
- package/dist/lib/openapi/spec/addons-schema.d.ts +5 -5
- package/dist/lib/openapi/spec/addons-schema.js +2 -2
- package/dist/lib/openapi/spec/addons-schema.js.map +1 -1
- package/dist/lib/openapi/spec/admin-segment-schema.d.ts +6 -4
- package/dist/lib/openapi/spec/admin-segment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/admin-segment-schema.js +1 -1
- package/dist/lib/openapi/spec/admin-segment-schema.js.map +1 -1
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +14 -14
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +28 -28
- package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +61 -59
- package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/api-token-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/api-token-schema.js +1 -1
- package/dist/lib/openapi/spec/api-token-schema.js.map +1 -1
- package/dist/lib/openapi/spec/api-token-schema.test.js +5 -1
- package/dist/lib/openapi/spec/api-token-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/api-tokens-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/api-tokens-schema.js +1 -1
- package/dist/lib/openapi/spec/api-tokens-schema.js.map +1 -1
- package/dist/lib/openapi/spec/application-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/application-schema.js +1 -1
- package/dist/lib/openapi/spec/application-schema.js.map +1 -1
- package/dist/lib/openapi/spec/applications-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/bulk-metrics-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/bulk-registration-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/bulk-registration-schema.js +2 -2
- package/dist/lib/openapi/spec/bulk-registration-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-feature-schema.d.ts +20 -18
- package/dist/lib/openapi/spec/client-feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/client-feature-schema.js +3 -3
- package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-features-delta-schema.d.ts +37 -35
- package/dist/lib/openapi/spec/client-features-delta-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/client-features-schema.d.ts +38 -36
- package/dist/lib/openapi/spec/client-features-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/client-features-schema.js +1 -1
- package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-metrics-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/client-metrics-schema.js +1 -1
- package/dist/lib/openapi/spec/client-metrics-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-segment-schema.d.ts +5 -3
- package/dist/lib/openapi/spec/client-segment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/clone-feature-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/clone-feature-schema.js +1 -1
- package/dist/lib/openapi/spec/clone-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/constraint-schema.d.ts +7 -5
- package/dist/lib/openapi/spec/constraint-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/constraint-schema.js +2 -2
- package/dist/lib/openapi/spec/constraint-schema.js.map +1 -1
- package/dist/lib/openapi/spec/constraint-schema.test.js +2 -0
- package/dist/lib/openapi/spec/constraint-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/context-field-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/context-field-schema.js +2 -2
- package/dist/lib/openapi/spec/context-field-schema.js.map +1 -1
- package/dist/lib/openapi/spec/context-fields-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/create-api-token-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/create-api-token-schema.js +1 -1
- package/dist/lib/openapi/spec/create-api-token-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-application-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/create-application-schema.js +1 -1
- package/dist/lib/openapi/spec/create-application-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-context-field-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/create-feature-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/create-feature-schema.js +1 -1
- package/dist/lib/openapi/spec/create-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +9 -7
- package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/create-feature-strategy-schema.js +1 -1
- package/dist/lib/openapi/spec/create-feature-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-pat-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/create-pat-schema.js +1 -1
- package/dist/lib/openapi/spec/create-pat-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-strategy-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/create-strategy-schema.js +2 -2
- package/dist/lib/openapi/spec/create-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-strategy-variant-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/create-strategy-variant-schema.js +3 -3
- package/dist/lib/openapi/spec/create-strategy-variant-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-tag-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/create-tag-schema.js +1 -1
- package/dist/lib/openapi/spec/create-tag-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-user-response-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/create-user-response-schema.js +1 -1
- package/dist/lib/openapi/spec/create-user-response-schema.js.map +1 -1
- package/dist/lib/openapi/spec/edge-token-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/edge-token-schema.js +3 -3
- package/dist/lib/openapi/spec/edge-token-schema.js.map +1 -1
- package/dist/lib/openapi/spec/environment-project-schema.d.ts +15 -13
- package/dist/lib/openapi/spec/environment-project-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/environment-project-schema.js +1 -1
- package/dist/lib/openapi/spec/environment-project-schema.js.map +1 -1
- package/dist/lib/openapi/spec/environment-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/environment-schema.js +1 -1
- package/dist/lib/openapi/spec/environment-schema.js.map +1 -1
- package/dist/lib/openapi/spec/environments-project-schema.d.ts +26 -24
- package/dist/lib/openapi/spec/environments-project-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/environments-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/event-schema.d.ts +7 -7
- package/dist/lib/openapi/spec/event-schema.js +1 -1
- package/dist/lib/openapi/spec/event-schema.js.map +1 -1
- package/dist/lib/openapi/spec/event-search-response-schema.d.ts +9 -9
- package/dist/lib/openapi/spec/events-schema.d.ts +9 -9
- package/dist/lib/openapi/spec/export-query-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/export-query-schema.js +1 -1
- package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
- package/dist/lib/openapi/spec/export-result-schema.d.ts +1986 -529
- package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/export-result-schema.js +6 -0
- package/dist/lib/openapi/spec/export-result-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-environment-schema.d.ts +372 -107
- package/dist/lib/openapi/spec/feature-environment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-environment-schema.js +12 -0
- package/dist/lib/openapi/spec/feature-environment-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-events-schema.d.ts +9 -9
- package/dist/lib/openapi/spec/feature-schema.d.ts +950 -215
- package/dist/lib/openapi/spec/feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-schema.js +17 -0
- package/dist/lib/openapi/spec/feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts +729 -213
- package/dist/lib/openapi/spec/feature-search-environment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +745 -229
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +9 -7
- package/dist/lib/openapi/spec/feature-strategy-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-strategy-schema.js +1 -1
- package/dist/lib/openapi/spec/feature-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-tag-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/feature-tag-schema.js +2 -2
- package/dist/lib/openapi/spec/feature-tag-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-type-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/feature-type-schema.js +2 -2
- package/dist/lib/openapi/spec/feature-type-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-types-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/feature-types-schema.js +1 -1
- package/dist/lib/openapi/spec/feature-types-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-variants-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/group-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/group-user-model-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/groups-schema.d.ts +5 -5
- package/dist/lib/openapi/spec/groups-schema.js +1 -1
- package/dist/lib/openapi/spec/groups-schema.js.map +1 -1
- package/dist/lib/openapi/spec/health-overview-schema.d.ts +1784 -535
- package/dist/lib/openapi/spec/health-overview-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/health-overview-schema.js +3 -3
- package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
- package/dist/lib/openapi/spec/health-report-schema.d.ts +1783 -534
- package/dist/lib/openapi/spec/health-report-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts +66 -27262
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/import-toggles-schema.js +40 -31
- package/dist/lib/openapi/spec/import-toggles-schema.js.map +1 -1
- package/dist/lib/openapi/spec/import-toggles-validate-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/import-toggles-validate-schema.js +1 -1
- package/dist/lib/openapi/spec/import-toggles-validate-schema.js.map +1 -1
- package/dist/lib/openapi/spec/index.d.ts +4 -0
- package/dist/lib/openapi/spec/index.d.ts.map +1 -1
- package/dist/lib/openapi/spec/index.js +4 -0
- package/dist/lib/openapi/spec/index.js.map +1 -1
- package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +13 -0
- package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js +13 -0
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
- package/dist/lib/openapi/spec/integration-event-schema.d.ts +12 -12
- package/dist/lib/openapi/spec/integration-events-schema.d.ts +24 -24
- package/dist/lib/openapi/spec/me-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/metric-query-schema.d.ts +44 -0
- package/dist/lib/openapi/spec/metric-query-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/metric-query-schema.js +42 -0
- package/dist/lib/openapi/spec/metric-query-schema.js.map +1 -0
- package/dist/lib/openapi/spec/pat-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/pat-schema.js +1 -1
- package/dist/lib/openapi/spec/pat-schema.js.map +1 -1
- package/dist/lib/openapi/spec/pats-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/pats-schema.js +1 -1
- package/dist/lib/openapi/spec/pats-schema.js.map +1 -1
- package/dist/lib/openapi/spec/permission-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/permission-schema.js +1 -1
- package/dist/lib/openapi/spec/permission-schema.js.map +1 -1
- package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.js +1 -1
- package/dist/lib/openapi/spec/personal-dashboard-project-details-schema.js.map +1 -1
- package/dist/lib/openapi/spec/personal-dashboard-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/personal-dashboard-schema.js +1 -1
- package/dist/lib/openapi/spec/personal-dashboard-schema.js.map +1 -1
- package/dist/lib/openapi/spec/playground-constraint-schema.d.ts +5 -3
- package/dist/lib/openapi/spec/playground-constraint-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/playground-feature-schema.d.ts +17 -15
- package/dist/lib/openapi/spec/playground-feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/playground-response-schema.d.ts +33 -31
- package/dist/lib/openapi/spec/playground-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/playground-response-schema.test.js +1 -1
- package/dist/lib/openapi/spec/playground-response-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/playground-segment-schema.d.ts +5 -3
- package/dist/lib/openapi/spec/playground-segment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +10 -8
- package/dist/lib/openapi/spec/playground-strategy-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/profile-schema.d.ts +947 -214
- package/dist/lib/openapi/spec/profile-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-environment-schema.d.ts +9 -9
- package/dist/lib/openapi/spec/project-feature-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/project-features-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/project-insights-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/project-insights-schema.js +2 -2
- package/dist/lib/openapi/spec/project-insights-schema.js.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.d.ts +1781 -532
- package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.js +2 -2
- package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
- package/dist/lib/openapi/spec/project-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/project-schema.js +2 -2
- package/dist/lib/openapi/spec/project-schema.js.map +1 -1
- package/dist/lib/openapi/spec/projects-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/public-signup-token-create-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/public-signup-token-create-schema.js +1 -1
- package/dist/lib/openapi/spec/public-signup-token-create-schema.js.map +1 -1
- package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/public-signup-token-schema.js +1 -1
- package/dist/lib/openapi/spec/public-signup-token-schema.js.map +1 -1
- package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/push-variants-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/ready-check-schema.d.ts +19 -0
- package/dist/lib/openapi/spec/ready-check-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/ready-check-schema.js +17 -0
- package/dist/lib/openapi/spec/ready-check-schema.js.map +1 -0
- package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts +45 -25
- package/dist/lib/openapi/spec/release-plan-milestone-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/release-plan-milestone-schema.js +12 -1
- package/dist/lib/openapi/spec/release-plan-milestone-schema.js.map +1 -1
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts +15 -13
- package/dist/lib/openapi/spec/release-plan-milestone-strategy-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/release-plan-schema.d.ts +283 -48
- package/dist/lib/openapi/spec/release-plan-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/release-plan-schema.js +13 -0
- package/dist/lib/openapi/spec/release-plan-schema.js.map +1 -1
- package/dist/lib/openapi/spec/release-plan-template-schema.d.ts +68 -48
- package/dist/lib/openapi/spec/release-plan-template-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/safeguard-schema.d.ts +149 -0
- package/dist/lib/openapi/spec/safeguard-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/safeguard-schema.js +59 -0
- package/dist/lib/openapi/spec/safeguard-schema.js.map +1 -0
- package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.d.ts +24 -0
- package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.js +22 -0
- package/dist/lib/openapi/spec/safeguard-trigger-condition-schema.js.map +1 -0
- package/dist/lib/openapi/spec/search-features-schema.d.ts +1578 -548
- package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/segment-schema.d.ts +5 -3
- package/dist/lib/openapi/spec/segment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/segments-schema.d.ts +9 -7
- package/dist/lib/openapi/spec/segments-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/segments-schema.js +1 -1
- package/dist/lib/openapi/spec/segments-schema.js.map +1 -1
- package/dist/lib/openapi/spec/strategies-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/strategy-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/strategy-schema.js +1 -1
- package/dist/lib/openapi/spec/strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/strategy-variant-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/tag-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/tag-schema.js +2 -2
- package/dist/lib/openapi/spec/tag-schema.js.map +1 -1
- package/dist/lib/openapi/spec/tag-with-version-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/tags-bulk-add-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/tags-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/update-context-field-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/update-context-field-schema.js +1 -1
- package/dist/lib/openapi/spec/update-context-field-schema.js.map +1 -1
- package/dist/lib/openapi/spec/update-feature-schema.d.ts +6 -4
- package/dist/lib/openapi/spec/update-feature-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/update-feature-schema.js +1 -1
- package/dist/lib/openapi/spec/update-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts +6 -4
- package/dist/lib/openapi/spec/update-feature-strategy-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/update-feature-strategy-schema.js +1 -1
- package/dist/lib/openapi/spec/update-feature-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.js +1 -1
- package/dist/lib/openapi/spec/update-feature-type-lifetime-schema.js.map +1 -1
- package/dist/lib/openapi/spec/update-strategy-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/update-strategy-schema.js +1 -1
- package/dist/lib/openapi/spec/update-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/update-tags-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +5 -3
- package/dist/lib/openapi/spec/upsert-segment-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/upsert-segment-schema.test.js +6 -2
- package/dist/lib/openapi/spec/upsert-segment-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/user-access-overview-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/user-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/user-schema.js +1 -1
- package/dist/lib/openapi/spec/user-schema.js.map +1 -1
- package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/users-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/users-schema.js +1 -1
- package/dist/lib/openapi/spec/users-schema.js.map +1 -1
- package/dist/lib/openapi/spec/users-search-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/validated-edge-tokens-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/variant-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/variant-schema.js +3 -3
- package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
- package/dist/lib/openapi/spec/variants-schema.d.ts +3 -3
- package/dist/lib/openapi/util/openapi-tags.d.ts +40 -40
- package/dist/lib/openapi/util/openapi-tags.js +20 -20
- package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
- package/dist/lib/openapi/validate.d.ts +2 -2
- package/dist/lib/openapi/validate.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/addon.d.ts +1 -2
- package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/addon.js +1 -2
- package/dist/lib/routes/admin-api/addon.js.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/event.d.ts +1 -1
- package/dist/lib/routes/admin-api/event.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/event.js +1 -1
- package/dist/lib/routes/admin-api/event.js.map +1 -1
- package/dist/lib/routes/admin-api/events.test.js +1 -1
- package/dist/lib/routes/admin-api/events.test.js.map +1 -1
- package/dist/lib/routes/admin-api/feature-type.d.ts +1 -2
- package/dist/lib/routes/admin-api/feature-type.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/feature-type.js +2 -3
- package/dist/lib/routes/admin-api/feature-type.js.map +1 -1
- package/dist/lib/routes/admin-api/instance-admin.d.ts +1 -3
- package/dist/lib/routes/admin-api/instance-admin.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/instance-admin.js +8 -4
- package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/metrics.d.ts +2 -3
- package/dist/lib/routes/admin-api/metrics.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/metrics.js +2 -3
- package/dist/lib/routes/admin-api/metrics.js.map +1 -1
- package/dist/lib/routes/admin-api/project/api-token.d.ts +0 -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 +3 -4
- package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/project/health-report.js +1 -1
- package/dist/lib/routes/admin-api/project/health-report.js.map +1 -1
- package/dist/lib/routes/admin-api/public-signup.d.ts +2 -4
- package/dist/lib/routes/admin-api/public-signup.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/public-signup.js +2 -4
- package/dist/lib/routes/admin-api/public-signup.js.map +1 -1
- package/dist/lib/routes/admin-api/search/index.d.ts +1 -1
- package/dist/lib/routes/admin-api/search/index.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/search/index.js +1 -1
- package/dist/lib/routes/admin-api/search/index.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.d.ts +1 -2
- package/dist/lib/routes/admin-api/strategy.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/strategy.js +7 -8
- package/dist/lib/routes/admin-api/strategy.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.test.js +25 -1
- package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.d.ts +2 -4
- package/dist/lib/routes/admin-api/tag.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/tag.js +4 -6
- package/dist/lib/routes/admin-api/tag.js.map +1 -1
- package/dist/lib/routes/admin-api/telemetry.d.ts +1 -1
- package/dist/lib/routes/admin-api/telemetry.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/telemetry.js +1 -1
- package/dist/lib/routes/admin-api/telemetry.js.map +1 -1
- package/dist/lib/routes/admin-api/user/pat.js +3 -3
- package/dist/lib/routes/admin-api/user/pat.js.map +1 -1
- package/dist/lib/routes/admin-api/user/user.test.js +2 -2
- package/dist/lib/routes/admin-api/user/user.test.js.map +1 -1
- package/dist/lib/routes/admin-api/user-admin.d.ts +3 -3
- package/dist/lib/routes/admin-api/user-admin.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/user-admin.js +4 -4
- package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/user-feedback.d.ts +0 -1
- package/dist/lib/routes/admin-api/user-feedback.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/user-feedback.js +2 -3
- package/dist/lib/routes/admin-api/user-feedback.js.map +1 -1
- package/dist/lib/routes/admin-api/user-splash.d.ts +0 -1
- package/dist/lib/routes/admin-api/user-splash.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/user-splash.js +0 -1
- package/dist/lib/routes/admin-api/user-splash.js.map +1 -1
- package/dist/lib/routes/auth/reset-password-controller.d.ts +0 -1
- package/dist/lib/routes/auth/reset-password-controller.d.ts.map +1 -1
- package/dist/lib/routes/auth/reset-password-controller.js +0 -1
- package/dist/lib/routes/auth/reset-password-controller.js.map +1 -1
- package/dist/lib/routes/auth/simple-password-provider.d.ts +0 -1
- package/dist/lib/routes/auth/simple-password-provider.d.ts.map +1 -1
- package/dist/lib/routes/auth/simple-password-provider.js +0 -1
- package/dist/lib/routes/auth/simple-password-provider.js.map +1 -1
- package/dist/lib/routes/auth/simple-password-provider.test.js +2 -2
- package/dist/lib/routes/auth/simple-password-provider.test.js.map +1 -1
- package/dist/lib/routes/backstage.js +3 -3
- package/dist/lib/routes/backstage.js.map +1 -1
- package/dist/lib/routes/health-check.d.ts +0 -2
- package/dist/lib/routes/health-check.d.ts.map +1 -1
- package/dist/lib/routes/health-check.js +0 -2
- package/dist/lib/routes/health-check.js.map +1 -1
- package/dist/lib/routes/health-check.test.js +2 -2
- package/dist/lib/routes/health-check.test.js.map +1 -1
- package/dist/lib/routes/index.d.ts.map +1 -1
- package/dist/lib/routes/index.js +2 -0
- package/dist/lib/routes/index.js.map +1 -1
- package/dist/lib/routes/logout.test.js +5 -5
- package/dist/lib/routes/logout.test.js.map +1 -1
- package/dist/lib/routes/public-invite.d.ts +0 -1
- package/dist/lib/routes/public-invite.d.ts.map +1 -1
- package/dist/lib/routes/public-invite.js +0 -1
- package/dist/lib/routes/public-invite.js.map +1 -1
- package/dist/lib/routes/ready-check.d.ts +14 -0
- package/dist/lib/routes/ready-check.d.ts.map +1 -0
- package/dist/lib/routes/ready-check.js +86 -0
- package/dist/lib/routes/ready-check.js.map +1 -0
- package/dist/lib/schema/constraint-value-types.d.ts +1 -1
- package/dist/lib/schema/constraint-value-types.d.ts.map +1 -1
- package/dist/lib/server-impl.d.ts +6 -6
- package/dist/lib/server-impl.d.ts.map +1 -1
- package/dist/lib/server-impl.js +14 -4
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/access-service.d.ts +2 -1
- package/dist/lib/services/access-service.d.ts.map +1 -1
- package/dist/lib/services/access-service.js +20 -1
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/access-service.test.js +21 -4
- package/dist/lib/services/access-service.test.js.map +1 -1
- package/dist/lib/services/account-service.d.ts.map +1 -1
- package/dist/lib/services/account-service.js +1 -0
- package/dist/lib/services/account-service.js.map +1 -1
- package/dist/lib/services/addon-service.d.ts +2 -2
- package/dist/lib/services/addon-service.d.ts.map +1 -1
- package/dist/lib/services/addon-service.js +22 -21
- package/dist/lib/services/addon-service.js.map +1 -1
- package/dist/lib/services/addon-service.test.js +1 -1
- package/dist/lib/services/addon-service.test.js.map +1 -1
- package/dist/lib/services/api-token-service.limit.test.js.map +1 -1
- package/dist/lib/services/api-token-service.test.js +2 -2
- package/dist/lib/services/api-token-service.test.js.map +1 -1
- package/dist/lib/services/client-spec-service.d.ts +1 -2
- package/dist/lib/services/client-spec-service.d.ts.map +1 -1
- package/dist/lib/services/client-spec-service.js +1 -2
- package/dist/lib/services/client-spec-service.js.map +1 -1
- package/dist/lib/services/favorites-service.d.ts +1 -3
- package/dist/lib/services/favorites-service.d.ts.map +1 -1
- package/dist/lib/services/favorites-service.js +2 -4
- package/dist/lib/services/favorites-service.js.map +1 -1
- package/dist/lib/services/feature-tag-service.d.ts.map +1 -1
- package/dist/lib/services/feature-tag-service.js +1 -0
- package/dist/lib/services/feature-tag-service.js.map +1 -1
- package/dist/lib/services/group-service.d.ts +2 -2
- package/dist/lib/services/group-service.d.ts.map +1 -1
- package/dist/lib/services/group-service.js +3 -2
- package/dist/lib/services/group-service.js.map +1 -1
- package/dist/lib/services/health-service.d.ts +1 -3
- package/dist/lib/services/health-service.d.ts.map +1 -1
- package/dist/lib/services/health-service.js +1 -2
- package/dist/lib/services/health-service.js.map +1 -1
- package/dist/lib/services/index.js +1 -1
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/openapi-service.js +7 -5
- package/dist/lib/services/openapi-service.js.map +1 -1
- package/dist/lib/services/public-signup-token-service.d.ts +0 -1
- package/dist/lib/services/public-signup-token-service.d.ts.map +1 -1
- package/dist/lib/services/public-signup-token-service.js +0 -1
- package/dist/lib/services/public-signup-token-service.js.map +1 -1
- package/dist/lib/services/reset-token-service.js +3 -3
- package/dist/lib/services/reset-token-service.js.map +1 -1
- package/dist/lib/services/strategy-service.d.ts +4 -2
- package/dist/lib/services/strategy-service.d.ts.map +1 -1
- package/dist/lib/services/strategy-service.js +15 -3
- package/dist/lib/services/strategy-service.js.map +1 -1
- package/dist/lib/services/user-service.js +2 -2
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +5 -1
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/services/user-splash-service.d.ts.map +1 -1
- package/dist/lib/services/user-splash-service.js +7 -1
- package/dist/lib/services/user-splash-service.js.map +1 -1
- package/dist/lib/services/version-service.d.ts +8 -1
- package/dist/lib/services/version-service.d.ts.map +1 -1
- package/dist/lib/services/version-service.js +5 -1
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/services/version-service.test.js +44 -0
- package/dist/lib/services/version-service.test.js.map +1 -1
- package/dist/lib/types/events.d.ts +5 -18
- package/dist/lib/types/events.d.ts.map +1 -1
- package/dist/lib/types/events.js +6 -15
- 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 +12 -12
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/option.d.ts +8 -0
- package/dist/lib/types/option.d.ts.map +1 -1
- package/dist/lib/ui-config/ui-config-controller.d.ts +2 -8
- package/dist/lib/ui-config/ui-config-controller.d.ts.map +1 -1
- package/dist/lib/ui-config/ui-config-controller.js +3 -59
- package/dist/lib/ui-config/ui-config-controller.js.map +1 -1
- package/dist/lib/ui-config/ui-config-service.d.ts.map +1 -1
- package/dist/lib/ui-config/ui-config-service.js.map +1 -1
- package/dist/lib/ui-config/ui-config.test.js +2 -2
- package/dist/lib/ui-config/ui-config.test.js.map +1 -1
- package/dist/lib/users/inactive/fakes/fake-inactive-users-store.d.ts.map +1 -1
- package/dist/lib/users/inactive/fakes/fake-inactive-users-store.js +1 -0
- package/dist/lib/users/inactive/fakes/fake-inactive-users-store.js.map +1 -1
- package/dist/lib/users/inactive/inactive-users-store.d.ts +1 -3
- package/dist/lib/users/inactive/inactive-users-store.d.ts.map +1 -1
- package/dist/lib/users/inactive/inactive-users-store.js +1 -3
- package/dist/lib/users/inactive/inactive-users-store.js.map +1 -1
- package/dist/lib/util/anonymise.test.js.map +1 -1
- package/dist/lib/util/batchExecute.d.ts.map +1 -1
- package/dist/lib/util/batchExecute.js +3 -1
- package/dist/lib/util/batchExecute.js.map +1 -1
- package/dist/lib/util/flag-resolver.d.ts.map +1 -1
- package/dist/lib/util/flag-resolver.js +11 -3
- package/dist/lib/util/flag-resolver.js.map +1 -1
- package/dist/lib/util/flag-resolver.test.js +66 -15
- package/dist/lib/util/flag-resolver.test.js.map +1 -1
- package/dist/lib/util/graceful-shutdown.js +1 -1
- package/dist/lib/util/graceful-shutdown.js.map +1 -1
- package/dist/lib/util/parseEnvVar.d.ts +2 -0
- package/dist/lib/util/parseEnvVar.d.ts.map +1 -1
- package/dist/lib/util/parseEnvVar.js +21 -1
- package/dist/lib/util/parseEnvVar.js.map +1 -1
- package/dist/lib/util/parseEnvVar.test.js +24 -1
- package/dist/lib/util/parseEnvVar.test.js.map +1 -1
- package/dist/lib/util/postgres-version-checker.test.js +17 -5
- package/dist/lib/util/postgres-version-checker.test.js.map +1 -1
- package/dist/lib/util/semver.js +1 -1
- package/dist/lib/util/semver.js.map +1 -1
- package/dist/lib/util/validateJsonString.js +1 -1
- package/dist/lib/util/validateJsonString.js.map +1 -1
- package/dist/mailtemplates/getting-started/getting-started.html.mustache +1 -1
- package/dist/migrations/20251027094509-milestone-progression-natural-pk.d.ts +3 -0
- package/dist/migrations/20251027094509-milestone-progression-natural-pk.d.ts.map +1 -0
- package/dist/migrations/20251027094509-milestone-progression-natural-pk.js +22 -0
- package/dist/migrations/20251027094509-milestone-progression-natural-pk.js.map +1 -0
- package/dist/migrations/20251103114221-milestone-progression-paused-at.d.ts +3 -0
- package/dist/migrations/20251103114221-milestone-progression-paused-at.d.ts.map +1 -0
- package/dist/migrations/20251103114221-milestone-progression-paused-at.js +14 -0
- package/dist/migrations/20251103114221-milestone-progression-paused-at.js.map +1 -0
- package/dist/migrations/20251105153729-create-safeguards-table.d.ts +3 -0
- package/dist/migrations/20251105153729-create-safeguards-table.d.ts.map +1 -0
- package/dist/migrations/20251105153729-create-safeguards-table.js +17 -0
- package/dist/migrations/20251105153729-create-safeguards-table.js.map +1 -0
- package/dist/migrations/20251118131212-edge-observability-hosting.d.ts +3 -0
- package/dist/migrations/20251118131212-edge-observability-hosting.d.ts.map +1 -0
- package/dist/migrations/20251118131212-edge-observability-hosting.js +14 -0
- package/dist/migrations/20251118131212-edge-observability-hosting.js.map +1 -0
- package/dist/migrations/20251209090115-add-default-release-plan-template.d.ts +3 -0
- package/dist/migrations/20251209090115-add-default-release-plan-template.d.ts.map +1 -0
- package/dist/migrations/20251209090115-add-default-release-plan-template.js +45 -0
- package/dist/migrations/20251209090115-add-default-release-plan-template.js.map +1 -0
- package/dist/server-dev.js +3 -7
- package/dist/server-dev.js.map +1 -1
- package/dist/test/arbitraries.test.d.ts.map +1 -1
- package/dist/test/arbitraries.test.js +1 -0
- package/dist/test/arbitraries.test.js.map +1 -1
- package/dist/test/config/create-config.test.js +2 -2
- package/dist/test/config/create-config.test.js.map +1 -1
- package/dist/test/e2e/api/admin/addon.e2e.test.js +4 -1
- package/dist/test/e2e/api/admin/addon.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +6 -3
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.e2e.test.js +12 -3
- package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js +8 -8
- package/dist/test/e2e/api/admin/conditional-middleware.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature-type.test.js +4 -1
- package/dist/test/e2e/api/admin/feature-type.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feedback.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/feedback.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/playground.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/playground.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js +5 -1
- package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js +12 -12
- package/dist/test/e2e/api/admin/public-signup-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/splash.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/splash.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user/pat.e2e.test.d.ts +1 -1
- package/dist/test/e2e/api/admin/user/pat.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.d.ts +2 -0
- package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.d.ts.map +1 -0
- package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.js +173 -0
- package/dist/test/e2e/api/client/bulk-metrics-rejections.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/client/feature.auth-none.e2e.test.js +1 -1
- package/dist/test/e2e/api/client/feature.auth-none.e2e.test.js.map +1 -1
- 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 +1 -1
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metrics.e2e.test.js +2 -1
- package/dist/test/e2e/api/client/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/register.e2e.test.js +4 -4
- package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
- package/dist/test/e2e/custom-auth.test.js +2 -2
- package/dist/test/e2e/custom-auth.test.js.map +1 -1
- package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js +4 -4
- package/dist/test/e2e/features-created-by-user-id-data-migration.e2e.test.js.map +1 -1
- package/dist/test/e2e/helpers/database-init.d.ts +1 -1
- package/dist/test/e2e/helpers/database-init.d.ts.map +1 -1
- package/dist/test/e2e/helpers/database-init.js +1 -1
- package/dist/test/e2e/helpers/database-init.js.map +1 -1
- package/dist/test/e2e/ready.e2e.test.d.ts +2 -0
- package/dist/test/e2e/ready.e2e.test.d.ts.map +1 -0
- package/dist/test/e2e/ready.e2e.test.js +66 -0
- package/dist/test/e2e/ready.e2e.test.js.map +1 -0
- package/dist/test/e2e/seed/segment.seed.js +2 -2
- package/dist/test/e2e/seed/segment.seed.js.map +1 -1
- package/dist/test/e2e/services/access-service.e2e.test.js +34 -2
- package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
- 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/playground-service.test.js +18 -12
- package/dist/test/e2e/services/playground-service.test.js.map +1 -1
- package/dist/test/e2e/services/setting-service.test.js +2 -2
- package/dist/test/e2e/services/setting-service.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-application-store.e2e.test.js +22 -23
- package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-instance-store.e2e.test.js +2 -2
- package/dist/test/e2e/stores/client-instance-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/context-field-store.e2e.test.js +2 -2
- package/dist/test/e2e/stores/context-field-store.e2e.test.js.map +1 -1
- package/dist/test/fixtures/access-service-mock.d.ts +13 -13
- package/dist/test/fixtures/access-service-mock.d.ts.map +1 -1
- package/dist/test/fixtures/access-service-mock.js +13 -13
- package/dist/test/fixtures/access-service-mock.js.map +1 -1
- package/dist/test/fixtures/fake-access-store.d.ts +38 -34
- package/dist/test/fixtures/fake-access-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-access-store.js +37 -35
- package/dist/test/fixtures/fake-access-store.js.map +1 -1
- package/dist/test/fixtures/fake-account-store.d.ts +2 -2
- package/dist/test/fixtures/fake-account-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-account-store.js +2 -2
- package/dist/test/fixtures/fake-account-store.js.map +1 -1
- package/dist/test/fixtures/fake-client-applications-store.d.ts +2 -2
- package/dist/test/fixtures/fake-client-applications-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-client-applications-store.js +6 -4
- package/dist/test/fixtures/fake-client-applications-store.js.map +1 -1
- package/dist/test/fixtures/fake-client-instance-store.d.ts +1 -1
- package/dist/test/fixtures/fake-client-instance-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-client-instance-store.js +4 -2
- package/dist/test/fixtures/fake-client-instance-store.js.map +1 -1
- package/dist/test/fixtures/fake-event-store.d.ts +3 -3
- package/dist/test/fixtures/fake-event-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-event-store.js +3 -3
- package/dist/test/fixtures/fake-event-store.js.map +1 -1
- package/dist/test/fixtures/fake-favorite-features-store.d.ts +5 -5
- package/dist/test/fixtures/fake-favorite-features-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-favorite-features-store.js +5 -5
- package/dist/test/fixtures/fake-favorite-features-store.js.map +1 -1
- package/dist/test/fixtures/fake-favorite-projects-store.d.ts +5 -5
- package/dist/test/fixtures/fake-favorite-projects-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-favorite-projects-store.js +5 -5
- package/dist/test/fixtures/fake-favorite-projects-store.js.map +1 -1
- package/dist/test/fixtures/fake-feature-environment-store.d.ts +9 -9
- package/dist/test/fixtures/fake-feature-environment-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-feature-environment-store.js +19 -19
- package/dist/test/fixtures/fake-feature-environment-store.js.map +1 -1
- 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 +2 -2
- package/dist/test/fixtures/fake-feature-tag-store.js.map +1 -1
- package/dist/test/fixtures/fake-group-store.d.ts +16 -16
- package/dist/test/fixtures/fake-group-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-group-store.js +16 -16
- package/dist/test/fixtures/fake-group-store.js.map +1 -1
- package/dist/test/fixtures/fake-impact-metrics.d.ts +12 -4
- package/dist/test/fixtures/fake-impact-metrics.d.ts.map +1 -1
- package/dist/test/fixtures/fake-impact-metrics.js +50 -26
- package/dist/test/fixtures/fake-impact-metrics.js.map +1 -1
- package/dist/test/fixtures/fake-pat-store.d.ts +9 -9
- package/dist/test/fixtures/fake-pat-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-pat-store.js +9 -9
- package/dist/test/fixtures/fake-pat-store.js.map +1 -1
- package/dist/test/fixtures/fake-project-store.d.ts +11 -11
- package/dist/test/fixtures/fake-project-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-project-store.js +16 -16
- package/dist/test/fixtures/fake-project-store.js.map +1 -1
- package/dist/test/fixtures/fake-public-signup-store.d.ts +2 -2
- package/dist/test/fixtures/fake-public-signup-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-public-signup-store.js +2 -2
- package/dist/test/fixtures/fake-public-signup-store.js.map +1 -1
- package/dist/test/fixtures/fake-role-store.d.ts +9 -9
- package/dist/test/fixtures/fake-role-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-role-store.js +9 -9
- package/dist/test/fixtures/fake-role-store.js.map +1 -1
- package/dist/test/fixtures/fake-strategies-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-strategies-store.js +0 -2
- package/dist/test/fixtures/fake-strategies-store.js.map +1 -1
- package/dist/test/fixtures/fake-tag-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-tag-store.js +4 -2
- package/dist/test/fixtures/fake-tag-store.js.map +1 -1
- package/dist/test/fixtures/fake-user-feedback-store.d.ts +6 -6
- package/dist/test/fixtures/fake-user-feedback-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-user-feedback-store.js +6 -6
- package/dist/test/fixtures/fake-user-feedback-store.js.map +1 -1
- package/dist/test/fixtures/fake-user-splash-store.d.ts +6 -6
- package/dist/test/fixtures/fake-user-splash-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-user-splash-store.js +6 -6
- package/dist/test/fixtures/fake-user-splash-store.js.map +1 -1
- package/dist/test/fixtures/fake-user-store.d.ts +2 -2
- package/dist/test/fixtures/fake-user-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-user-store.js +2 -2
- package/dist/test/fixtures/fake-user-store.js.map +1 -1
- package/dist/test/fixtures/permissions.js +1 -1
- package/dist/test/fixtures/permissions.js.map +1 -1
- package/frontend/build/index.html +2 -2
- package/frontend/build/static/{AdvancedPlayground-HWcSRQrt.js → AdvancedPlayground-CmMV64it.js} +2 -2
- package/frontend/build/static/BackendConnections-MqHimHCS.js +1 -0
- package/frontend/build/static/{CreateProject-3uUrdDWJ.js → CreateProject-ChlGOrPC.js} +1 -1
- package/frontend/build/static/EnterpriseEdge-cJFso1xz.js +1 -0
- package/frontend/build/static/FeatureMetricsChart-Bt6HiI-s.js +2 -0
- package/frontend/build/static/FeatureStaleDialog-DZEtcHDT.js +7 -0
- package/frontend/build/static/FeatureViewLazyExport-BPB1jWYz.js +10 -0
- package/frontend/build/static/{FlagMetricsChart-DFDJ4xPh.js → FlagMetricsChart-CvsBPrQG.js} +2 -2
- package/frontend/build/static/FrontendNetworkTrafficUsage-D8l5Nldl.js +1 -0
- package/frontend/build/static/GridLayoutWrapper-2osRRgh4.js +3 -0
- package/frontend/build/static/ImpactMetricsPage-Chv_7_jx.js +1 -0
- package/frontend/build/static/LazyAdminExport-BOTczpO1.js +38 -0
- package/frontend/build/static/LazyProjectExport-DPAYnCIy.js +728 -0
- package/frontend/build/static/{LifecycleChartComponent-BOcT_Zpy.js → LifecycleChartComponent-DubZNJlv.js} +3 -3
- package/frontend/build/static/{LineChartComponent-CudSs6ri.js → LineChartComponent-CY-8M35z.js} +1 -1
- package/frontend/build/static/{MarkCompletedDialogue-4XT7ryE9.js → MarkCompletedDialogue-BwS_OP77.js} +1 -1
- package/frontend/build/static/NetworkOverview-p_eqqiwO.js +1 -0
- package/frontend/build/static/{NetworkPrometheusAPIWarning-Cy93jJcu.js → NetworkPrometheusAPIWarning-BhqdG7Dp.js} +1 -1
- package/frontend/build/static/{NetworkTraffic-BTN3OABv.js → NetworkTraffic-NxX5X_w8.js} +1 -1
- package/frontend/build/static/NetworkTrafficUsage-B-4F8Mzq.js +1 -0
- package/frontend/build/static/{PercentageDonut-CmWbqKEA.js → PercentageDonut-BoaVP9ed.js} +1 -1
- package/frontend/build/static/{ReactJSONEditor-xNDjbhPU.js → ReactJSONEditor-DfZdSwoC.js} +1 -1
- package/frontend/build/static/RoleCell-Da0TjMne.js +1 -0
- package/frontend/build/static/aggregateFeatureMetrics-yZy5qwho.js +1 -0
- package/frontend/build/static/banner-progression-B6JPzTEE.svg +52 -0
- package/frontend/build/static/enterpriseEdgeCloud-DzRtm8v6.svg +58 -0
- package/frontend/build/static/enterpriseEdgeSelfHosted-4bnmOQVF.svg +44 -0
- package/frontend/build/static/{formatTickValue-4OyGeZqN.js → formatTickValue-Csg87IVi.js} +2 -2
- package/frontend/build/static/index-BAMIkcom.js +542 -0
- package/frontend/build/static/{networkTrafficUsageHighlightPlugin-CT-MfVrm.js → networkTrafficUsageHighlightPlugin-Dje5Vuvo.js} +1 -1
- package/frontend/build/static/new-feature-badge-FwMmHlwT.svg +7 -0
- package/frontend/build/static/style-BfdqROT6.css +1 -0
- package/frontend/build/static/useApiTokens-Btk4Hd2u.js +1 -0
- package/frontend/package.json +4 -5
- package/package.json +45 -50
- package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts +0 -5
- package/dist/lib/features/release-plans/release-plan-read-model-type.d.ts.map +0 -1
- package/dist/lib/features/release-plans/release-plan-read-model-type.js +0 -2
- package/dist/lib/features/release-plans/release-plan-read-model-type.js.map +0 -1
- package/dist/lib/features/release-plans/release-plan-read-model.d.ts +0 -11
- package/dist/lib/features/release-plans/release-plan-read-model.d.ts.map +0 -1
- package/dist/lib/features/release-plans/release-plan-read-model.js +0 -133
- package/dist/lib/features/release-plans/release-plan-read-model.js.map +0 -1
- package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts +0 -2
- package/dist/lib/features/release-plans/release-plan-read-model.test.d.ts.map +0 -1
- package/dist/lib/features/release-plans/release-plan-read-model.test.js +0 -166
- package/dist/lib/features/release-plans/release-plan-read-model.test.js.map +0 -1
- package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts +0 -8
- package/dist/test/fixtures/fake/fake-release-plan-read-model.d.ts.map +0 -1
- package/dist/test/fixtures/fake/fake-release-plan-read-model.js +0 -9
- package/dist/test/fixtures/fake/fake-release-plan-read-model.js.map +0 -1
- package/frontend/build/static/BackendConnections-Cug76pb0.js +0 -1
- package/frontend/build/static/FeatureMetricsChart-DLvE4xPU.js +0 -2
- package/frontend/build/static/FeatureStaleDialog-BFWmPzw7.js +0 -7
- package/frontend/build/static/FeatureViewLazyExport-DfivW7sC.js +0 -10
- package/frontend/build/static/FrontendNetworkTrafficUsage-DVa2I8CC.js +0 -1
- package/frontend/build/static/GridLayoutWrapper-Mt7n_5lt.js +0 -3
- package/frontend/build/static/ImpactMetricsPage-B3ERxAH0.js +0 -1
- package/frontend/build/static/LazyAdminExport-s8FIvcqq.js +0 -38
- package/frontend/build/static/LazyProjectExport-DN00bJrc.js +0 -728
- package/frontend/build/static/NetworkConnectedEdges-CnEFuyuC.js +0 -1
- package/frontend/build/static/NetworkOverview-KDe9n7ZE.js +0 -1
- package/frontend/build/static/NetworkTrafficUsage-DwnXvons.js +0 -1
- package/frontend/build/static/RoleCell-DSglYWti.js +0 -1
- package/frontend/build/static/aggregateFeatureMetrics-B7oOoe9g.js +0 -1
- package/frontend/build/static/howToApplyReleaseTemplates-CkjJPTRh.png +0 -0
- package/frontend/build/static/howToApplyReleaseTemplatesDark-CfwfIMua.png +0 -0
- package/frontend/build/static/index-D02pkj6r.js +0 -542
- package/frontend/build/static/merge-C7IT0rZd.svg +0 -3
- package/frontend/build/static/metricsFormatters-7MLBOEud.js +0 -1
- package/frontend/build/static/style-BW9ZTER3.css +0 -1
- package/frontend/build/static/useApiTokens-wTDjjd8a.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-api-service.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/frontend-api-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"frontend-api-service.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/frontend-api-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ test('frontend api service fetching features from global cache', async () => {
|
|
|
15
15
|
type: 'release',
|
|
16
16
|
variants: [],
|
|
17
17
|
strategies: [
|
|
18
|
-
{ name: 'default', parameters:
|
|
18
|
+
{ name: 'default', parameters: {}, constraints: [] },
|
|
19
19
|
],
|
|
20
20
|
},
|
|
21
21
|
{
|
|
@@ -25,7 +25,7 @@ test('frontend api service fetching features from global cache', async () => {
|
|
|
25
25
|
type: 'release',
|
|
26
26
|
variants: [],
|
|
27
27
|
strategies: [
|
|
28
|
-
{ name: 'default', parameters:
|
|
28
|
+
{ name: 'default', parameters: {}, constraints: [] },
|
|
29
29
|
],
|
|
30
30
|
},
|
|
31
31
|
];
|
|
@@ -47,7 +47,7 @@ test('multiple parallel calls to api/frontend should not create multiple instanc
|
|
|
47
47
|
const address = app.server.address();
|
|
48
48
|
expect(address).not.toBeNull();
|
|
49
49
|
expect(address).toHaveProperty('port');
|
|
50
|
-
// @ts-
|
|
50
|
+
// @ts-expect-error - We've just checked that we have this property
|
|
51
51
|
const serverUrl = `http://localhost:${address.port}/api/frontend`;
|
|
52
52
|
await Promise.all(Array.from(Array(10).keys()).map(() => fetch(serverUrl, {
|
|
53
53
|
method: 'GET',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-api.concurrency.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/frontend-api.concurrency.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,wBAAwB,GAC3B,MAAM,0CAA0C,CAAC;AAClD,OAAO,MAEN,MAAM,4CAA4C,CAAC;AACpD,OAAO,SAAS,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,IAAI,GAAwB,CAAC;AAC7B,IAAI,EAAW,CAAC;AAChB,IAAI,YAAY,GAAa,EAAE,CAAC;AAEhC,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG;QACd,GAAG,UAAU;QACb,KAAK,EAAE,CAAC,GAAW,EAAE,GAAG,IAAW,EAAE,EAAE;YACnC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACnC,CAAC;KACJ,CAAC;IACF,GAAG,GAAG,MAAM,wBAAwB,CAChC,EAAE,CAAC,MAAM,EACT;QACI,kBAAkB,EAAE,CAAC,qBAAqB,CAAC;QAC3C,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;KAC7B,EACD,EAAE,CAAC,WAAW,CACjB,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACX,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;IAC1C,EAAE,CAAC,aAAa,EAAE,CAAC;AACvB,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,YAAY,GAAG,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACH,IAAI,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;IAC5F,MAAM,oBAAoB,GACtB,MAAM,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,0BAA0B,CAAC;QAC1D,IAAI,EAAE,YAAY,CAAC,QAAQ;QAC3B,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,cAAc,QAAQ,EAAE,EAAE;KACxC,CAAC,CAAC;IACP,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,
|
|
1
|
+
{"version":3,"file":"frontend-api.concurrency.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/frontend-api.concurrency.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ import type { IClientFeatureToggleReadModel } from './client-feature-toggle-read
|
|
|
7
7
|
type Config = Pick<IUnleashConfig, 'getLogger' | 'flagResolver' | 'eventBus'>;
|
|
8
8
|
export type GlobalFrontendApiCacheState = 'starting' | 'ready' | 'updated';
|
|
9
9
|
export declare class GlobalFrontendApiCache extends EventEmitter {
|
|
10
|
-
private readonly config;
|
|
11
10
|
private readonly logger;
|
|
12
11
|
private readonly clientFeatureToggleReadModel;
|
|
13
12
|
private readonly segmentReadModel;
|
|
@@ -15,7 +14,6 @@ export declare class GlobalFrontendApiCache extends EventEmitter {
|
|
|
15
14
|
private featuresByEnvironment;
|
|
16
15
|
private segments;
|
|
17
16
|
private status;
|
|
18
|
-
private timer;
|
|
19
17
|
constructor(config: Config, segmentReadModel: ISegmentReadModel, clientFeatureToggleReadModel: IClientFeatureToggleReadModel, configurationRevisionService: EventEmitter);
|
|
20
18
|
getSegment(id: number): Segment | undefined;
|
|
21
19
|
getToggle(name: string, token: IApiUser): FeatureInterface;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-frontend-api-cache.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/global-frontend-api-cache.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAER,iBAAiB,EACjB,cAAc,EACjB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"global-frontend-api-cache.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/global-frontend-api-cache.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAER,iBAAiB,EACjB,cAAc,EACjB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAEhG,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,GAAG,cAAc,GAAG,UAAU,CAAC,CAAC;AAI9E,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3E,qBAAa,sBAAuB,SAAQ,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAgC;IAE7E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAErD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAe;IAE5D,OAAO,CAAC,qBAAqB,CAA+B;IAE5D,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,MAAM,CAA2C;gBAGrD,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,iBAAiB,EACnC,4BAA4B,EAAE,6BAA6B,EAC3D,4BAA4B,EAAE,YAAY;IAe9C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI3C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,gBAAgB;IAO1D,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,gBAAgB,EAAE;IAO/C,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,uBAAuB;IAWlB,WAAW;YAgBV,cAAc;YAKd,cAAc;YAId,qBAAqB;IAInC,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,WAAW;CAkBtB"}
|
|
@@ -2,24 +2,17 @@ import EventEmitter from 'events';
|
|
|
2
2
|
import { mapFeatureForClient, mapSegmentsForClient, } from '../playground/offline-unleash-client.js';
|
|
3
3
|
import { ALL_ENVS, DEFAULT_ENV } from '../../util/constants.js';
|
|
4
4
|
import { UPDATE_REVISION } from '../feature-toggle/configuration-revision-service.js';
|
|
5
|
-
import metricsHelper from '../../util/metrics-helper.js';
|
|
6
|
-
import { FUNCTION_TIME } from '../../metric-events.js';
|
|
7
5
|
export class GlobalFrontendApiCache extends EventEmitter {
|
|
8
6
|
constructor(config, segmentReadModel, clientFeatureToggleReadModel, configurationRevisionService) {
|
|
9
7
|
super();
|
|
10
8
|
this.featuresByEnvironment = {};
|
|
11
9
|
this.segments = [];
|
|
12
10
|
this.status = 'starting';
|
|
13
|
-
this.config = config;
|
|
14
11
|
this.logger = config.getLogger('global-frontend-api-cache.ts');
|
|
15
12
|
this.clientFeatureToggleReadModel = clientFeatureToggleReadModel;
|
|
16
13
|
this.configurationRevisionService = configurationRevisionService;
|
|
17
14
|
this.segmentReadModel = segmentReadModel;
|
|
18
15
|
this.onUpdateRevisionEvent = this.onUpdateRevisionEvent.bind(this);
|
|
19
|
-
this.timer = (functionName) => metricsHelper.wrapTimer(config.eventBus, FUNCTION_TIME, {
|
|
20
|
-
className: 'GlobalFrontendApiCache',
|
|
21
|
-
functionName,
|
|
22
|
-
});
|
|
23
16
|
this.refreshData();
|
|
24
17
|
this.configurationRevisionService.on(UPDATE_REVISION, this.onUpdateRevisionEvent);
|
|
25
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-frontend-api-cache.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/global-frontend-api-cache.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AASlC,OAAO,EACH,mBAAmB,EACnB,oBAAoB,GACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"global-frontend-api-cache.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/global-frontend-api-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export class ProxyRepository extends EventEmitter {
|
|
|
31
31
|
return this.segments.find((segment) => segment.id === id);
|
|
32
32
|
}
|
|
33
33
|
getToggle(name) {
|
|
34
|
-
//@ts-
|
|
34
|
+
//@ts-expect-error (we must update the node SDK to allow undefined)
|
|
35
35
|
return this.features.find((feature) => feature.name === name);
|
|
36
36
|
}
|
|
37
37
|
getToggles() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-repository.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/proxy-repository.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAYlC,OAAO,EACH,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EACH,aAAa,EACb,6BAA6B,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAYzD,qEAAqE;AACrE,MAAM,OAAO,eACT,SAAQ,YAAY;IA2BpB,YACI,MAAc,EACd,MAAc,EACd,QAAkB,EAClB,KAAe;QAEf,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,4BAA4B;YAC7B,QAAQ,CAAC,4BAA4B,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAEvD,IAAI,CAAC,WAAW,GAAG,CAAC,YAAY,EAAE,EAAE,CAChC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE;YACpD,SAAS,EAAE,iBAAiB;YAC5B,YAAY;SACf,CAAC,CAAC;IACX,CAAC;IAED,yBAAyB;QACrB,gCAAgC;QAChC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,UAAU,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,
|
|
1
|
+
{"version":3,"file":"proxy-repository.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/proxy-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInstanceStatsService.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/createInstanceStatsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AASnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"createInstanceStatsService.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/createInstanceStatsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AASnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAmDzC,eAAO,MAAM,0BAA0B,GAAI,IAAI,EAAE,EAAE,QAAQ,cAAc,yBAmGxE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,QAAQ,cAAc,yBAmEpE,CAAC"}
|
|
@@ -37,8 +37,10 @@ import { FakeFeatureStrategiesReadModel } from '../feature-toggle/fake-feature-s
|
|
|
37
37
|
import { TrafficDataUsageStore } from '../traffic-data-usage/traffic-data-usage-store.js';
|
|
38
38
|
import { FakeTrafficDataUsageStore } from '../traffic-data-usage/fake-traffic-data-usage-store.js';
|
|
39
39
|
import { createFakeGetLicensedUsers, createGetLicensedUsers, } from './getLicensedUsers.js';
|
|
40
|
+
import { createFakeGetReadOnlyUsers, createGetReadOnlyUsers, } from './getReadOnlyUsers.js';
|
|
40
41
|
import { ReleasePlanStore } from '../release-plans/release-plan-store.js';
|
|
41
42
|
import { ReleasePlanTemplateStore } from '../release-plans/release-plan-template-store.js';
|
|
43
|
+
import { createFakeGetEdgeInstances, createGetEdgeInstances, } from './getEdgeInstances.js';
|
|
42
44
|
export const createInstanceStatsService = (db, config) => {
|
|
43
45
|
const { eventBus, getLogger, flagResolver } = config;
|
|
44
46
|
const featureToggleStore = new FeatureToggleStore(db, eventBus, getLogger, flagResolver);
|
|
@@ -85,8 +87,10 @@ export const createInstanceStatsService = (db, config) => {
|
|
|
85
87
|
const getActiveUsers = createGetActiveUsers(db);
|
|
86
88
|
const getProductionChanges = createGetProductionChanges(db);
|
|
87
89
|
const getLicencedUsers = createGetLicensedUsers(db);
|
|
90
|
+
const getReadOnlyUsers = createGetReadOnlyUsers(db);
|
|
91
|
+
const getEdgeInstances = createGetEdgeInstances(db);
|
|
88
92
|
const versionService = new VersionService(versionServiceStores, config);
|
|
89
|
-
const instanceStatsService = new InstanceStatsService(instanceStatsServiceStores, config, versionService, getActiveUsers, getProductionChanges, getLicencedUsers);
|
|
93
|
+
const instanceStatsService = new InstanceStatsService(instanceStatsServiceStores, config, versionService, getActiveUsers, getProductionChanges, getLicencedUsers, getReadOnlyUsers, getEdgeInstances);
|
|
90
94
|
return instanceStatsService;
|
|
91
95
|
};
|
|
92
96
|
export const createFakeInstanceStatsService = (config) => {
|
|
@@ -138,9 +142,11 @@ export const createFakeInstanceStatsService = (config) => {
|
|
|
138
142
|
const versionServiceStores = { settingStore };
|
|
139
143
|
const getActiveUsers = createFakeGetActiveUsers();
|
|
140
144
|
const getLicensedUsers = createFakeGetLicensedUsers();
|
|
145
|
+
const getReadOnlyUsers = createFakeGetReadOnlyUsers();
|
|
141
146
|
const getProductionChanges = createFakeGetProductionChanges();
|
|
147
|
+
const getEdgeInstances = createFakeGetEdgeInstances();
|
|
142
148
|
const versionService = new VersionService(versionServiceStores, config);
|
|
143
|
-
const instanceStatsService = new InstanceStatsService(instanceStatsServiceStores, config, versionService, getActiveUsers, getProductionChanges, getLicensedUsers);
|
|
149
|
+
const instanceStatsService = new InstanceStatsService(instanceStatsServiceStores, config, versionService, getActiveUsers, getProductionChanges, getLicensedUsers, getReadOnlyUsers, getEdgeInstances);
|
|
144
150
|
return instanceStatsService;
|
|
145
151
|
};
|
|
146
152
|
//# sourceMappingURL=createInstanceStatsService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInstanceStatsService.js","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/createInstanceStatsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACH,wBAAwB,EACxB,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,8BAA8B,EAC9B,0BAA0B,GAC7B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAClE,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,oBAAoB,MAAM,sDAAsD,CAAC;AACxF,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,sBAAsB,MAAM,sDAAsD,CAAC;AAC1F,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,oBAAoB,MAAM,mDAAmD,CAAC;AACrF,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,qBAAqB,MAAM,wCAAwC,CAAC;AAC3E,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,uBAAuB,MAAM,sDAAsD,CAAC;AAC3F,OAAO,wBAAwB,MAAM,2DAA2D,CAAC;AACjG,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,mBAAmB,MAAM,iDAAiD,CAAC;AAClF,OAAO,0BAA0B,MAAM,0DAA0D,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yDAAyD,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EACH,0BAA0B,EAC1B,sBAAsB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"createInstanceStatsService.js","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/createInstanceStatsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACH,wBAAwB,EACxB,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,8BAA8B,EAC9B,0BAA0B,GAC7B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,iBAAiB,MAAM,mCAAmC,CAAC;AAClE,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,oBAAoB,MAAM,sDAAsD,CAAC;AACxF,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,sBAAsB,MAAM,sDAAsD,CAAC;AAC1F,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,oBAAoB,MAAM,mDAAmD,CAAC;AACrF,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,qBAAqB,MAAM,wCAAwC,CAAC;AAC3E,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,uBAAuB,MAAM,sDAAsD,CAAC;AAC3F,OAAO,wBAAwB,MAAM,2DAA2D,CAAC;AACjG,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,mBAAmB,MAAM,iDAAiD,CAAC;AAClF,OAAO,0BAA0B,MAAM,0DAA0D,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yDAAyD,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EACH,0BAA0B,EAC1B,sBAAsB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,0BAA0B,EAC1B,sBAAsB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EACH,0BAA0B,EAC1B,sBAAsB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAM,EAAE,MAAsB,EAAE,EAAE;IACzE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IACrD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC7C,EAAE,EACF,QAAQ,EACR,SAAS,EACT,YAAY,CACf,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAC3C,EAAE,EACF,SAAS,EACT,YAAY,CACf,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,YAAY,CACjC,EAAE,EACF,QAAQ,EACR,SAAS,EACT,YAAY,CACf,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAC/C,EAAE,EACF,QAAQ,EACR,SAAS,CACZ,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,aAAa,CACnC,EAAE,EACF,QAAQ,EACR,SAAS,EACT,YAAY,CACf,CAAC;IACF,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CACjD,EAAE,EACF,QAAQ,EACR,SAAS,EACT,YAAY,CACf,CAAC;IAEF,MAAM,0BAA0B,GAAG,IAAI,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAEtE,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAEvE,MAAM,sBAAsB,GAAG,IAAI,oBAAoB,CACnD,EAAE,EACF,QAAQ,EACR,SAAS,EACT,YAAY,CACf,CAAC;IAEF,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,0BAA0B,GAAG;QAC/B,kBAAkB;QAClB,SAAS;QACT,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,UAAU;QACV,YAAY;QACZ,SAAS;QACT,YAAY;QACZ,mBAAmB;QACnB,UAAU;QACV,aAAa;QACb,oBAAoB;QACpB,0BAA0B;QAC1B,sBAAsB;QACtB,qBAAqB;QACrB,wBAAwB;QACxB,gBAAgB;KACnB,CAAC;IACF,MAAM,oBAAoB,GAAG,EAAE,YAAY,EAAE,CAAC;IAC9C,MAAM,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAExE,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CACjD,0BAA0B,EAC1B,MAAM,EACN,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,CACnB,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,MAAsB,EAAE,EAAE;IACrE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IACrD,MAAM,kBAAkB,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC5C,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAChD,MAAM,iBAAiB,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,aAAa,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAC5C,MAAM,mBAAmB,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC9C,MAAM,oBAAoB,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAC5D,MAAM,0BAA0B,GAAG,IAAI,8BAA8B,EAAE,CAAC;IACxE,MAAM,qBAAqB,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAC9D,MAAM,sBAAsB,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAChE,MAAM,wBAAwB,GAAG;QAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KACN,CAAC;IAC9B,MAAM,gBAAgB,GAAG;QACrB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KACd,CAAC;IACtB,MAAM,0BAA0B,GAAG;QAC/B,kBAAkB;QAClB,SAAS;QACT,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,iBAAiB;QACjB,UAAU;QACV,YAAY;QACZ,SAAS;QACT,YAAY;QACZ,mBAAmB;QACnB,UAAU;QACV,aAAa;QACb,oBAAoB;QACpB,0BAA0B;QAC1B,sBAAsB;QACtB,qBAAqB;QACrB,wBAAwB;QACxB,gBAAgB;KACnB,CAAC;IAEF,MAAM,oBAAoB,GAAG,EAAE,YAAY,EAAE,CAAC;IAC9C,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,gBAAgB,GAAG,0BAA0B,EAAE,CAAC;IACtD,MAAM,gBAAgB,GAAG,0BAA0B,EAAE,CAAC;IACtD,MAAM,oBAAoB,GAAG,8BAA8B,EAAE,CAAC;IAC9D,MAAM,gBAAgB,GAAG,0BAA0B,EAAE,CAAC;IACtD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAExE,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CACjD,0BAA0B,EAC1B,MAAM,EACN,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,CACnB,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Db } from '../../types/index.js';
|
|
2
|
+
export type EdgeInstanceUsage = Record<string, number>;
|
|
3
|
+
export type GetEdgeInstances = () => Promise<EdgeInstanceUsage>;
|
|
4
|
+
export declare const createGetEdgeInstances: (db: Db) => GetEdgeInstances;
|
|
5
|
+
export declare const createFakeGetEdgeInstances: (edgeInstances?: Awaited<ReturnType<GetEdgeInstances>>) => GetEdgeInstances;
|
|
6
|
+
//# sourceMappingURL=getEdgeInstances.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEdgeInstances.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getEdgeInstances.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAI/C,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,sBAAsB,GAC9B,IAAI,EAAE,KAAG,gBAgFT,CAAC;AAEN,eAAO,MAAM,0BAA0B,GAE/B,gBAAe,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAM,KAC1D,gBAE+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEdgeInstances.e2e.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getEdgeInstances.e2e.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { createGetEdgeInstances, } from './getEdgeInstances.js';
|
|
2
|
+
import dbInit from '../../../test/e2e/helpers/database-init.js';
|
|
3
|
+
import getLogger from '../../../test/fixtures/no-logger.js';
|
|
4
|
+
let db;
|
|
5
|
+
let getEdgeInstances;
|
|
6
|
+
const TABLE = 'edge_node_presence';
|
|
7
|
+
const getMonthRange = async (raw, offset) => {
|
|
8
|
+
const { rows } = await raw.raw(`
|
|
9
|
+
SELECT
|
|
10
|
+
(date_trunc('month', NOW()) - (? * INTERVAL '1 month'))::timestamptz AS start_ts,
|
|
11
|
+
(
|
|
12
|
+
CASE
|
|
13
|
+
WHEN ? = 0 THEN NOW()
|
|
14
|
+
ELSE (date_trunc('month', NOW()) - ((? - 1) * INTERVAL '1 month'))
|
|
15
|
+
END
|
|
16
|
+
)::timestamptz AS end_ts,
|
|
17
|
+
to_char((date_trunc('month', NOW()) - (? * INTERVAL '1 month')), 'YYYY-MM') AS key
|
|
18
|
+
`, [offset, offset, offset, offset]);
|
|
19
|
+
return rows[0];
|
|
20
|
+
};
|
|
21
|
+
const expectedForWindow = async (raw, startIso, endIso) => {
|
|
22
|
+
const { rows } = await raw.raw(`
|
|
23
|
+
WITH mw AS (
|
|
24
|
+
SELECT ?::timestamptz AS start_ts, ?::timestamptz AS end_ts
|
|
25
|
+
),
|
|
26
|
+
buckets AS (
|
|
27
|
+
SELECT bucket_ts, COUNT(DISTINCT node_ephem_id)::int AS active_nodes
|
|
28
|
+
FROM ${TABLE}
|
|
29
|
+
CROSS JOIN mw
|
|
30
|
+
WHERE bucket_ts >= mw.start_ts AND bucket_ts < mw.end_ts
|
|
31
|
+
GROUP BY bucket_ts
|
|
32
|
+
),
|
|
33
|
+
totals AS (
|
|
34
|
+
SELECT COALESCE(SUM(active_nodes), 0) AS total FROM buckets
|
|
35
|
+
)
|
|
36
|
+
SELECT COALESCE(
|
|
37
|
+
ROUND(
|
|
38
|
+
(totals.total::numeric)
|
|
39
|
+
/ NULLIF(FLOOR(EXTRACT(EPOCH FROM (mw.end_ts - mw.start_ts)) / 300)::int, 0),
|
|
40
|
+
3),
|
|
41
|
+
0
|
|
42
|
+
) AS val
|
|
43
|
+
FROM totals CROSS JOIN mw
|
|
44
|
+
`, [startIso, endIso]);
|
|
45
|
+
return Number(rows[0].val);
|
|
46
|
+
};
|
|
47
|
+
const countRowsInWindow = async (raw, startIso, endIso) => {
|
|
48
|
+
const { rows } = await raw.raw(`
|
|
49
|
+
SELECT COUNT(*)::int AS c
|
|
50
|
+
FROM ${TABLE}
|
|
51
|
+
WHERE bucket_ts >= ?::timestamptz AND bucket_ts < ?::timestamptz
|
|
52
|
+
`, [startIso, endIso]);
|
|
53
|
+
return Number(rows[0].c);
|
|
54
|
+
};
|
|
55
|
+
const insertSpreadAcrossMonth = async (raw, startIso, endIso, everyNth, nodesPerBucket) => {
|
|
56
|
+
await raw.raw(`
|
|
57
|
+
WITH series AS (
|
|
58
|
+
SELECT generate_series(
|
|
59
|
+
?::timestamptz,
|
|
60
|
+
(?::timestamptz - INTERVAL '5 minutes'),
|
|
61
|
+
INTERVAL '5 minutes'
|
|
62
|
+
) AS ts
|
|
63
|
+
),
|
|
64
|
+
picked AS (
|
|
65
|
+
SELECT ts
|
|
66
|
+
FROM series
|
|
67
|
+
WHERE (EXTRACT(EPOCH FROM ts) / 300)::bigint % ? = 0
|
|
68
|
+
)
|
|
69
|
+
INSERT INTO ${TABLE} (bucket_ts, node_ephem_id)
|
|
70
|
+
SELECT
|
|
71
|
+
p.ts,
|
|
72
|
+
'node-' || to_char(p.ts AT TIME ZONE 'UTC', 'YYYYMMDDHH24MI') || '-' || i::text
|
|
73
|
+
FROM picked p
|
|
74
|
+
CROSS JOIN generate_series(1, ?) AS i
|
|
75
|
+
ON CONFLICT (bucket_ts, node_ephem_id) DO NOTHING
|
|
76
|
+
`, [startIso, endIso, everyNth, nodesPerBucket]);
|
|
77
|
+
};
|
|
78
|
+
beforeAll(async () => {
|
|
79
|
+
db = await dbInit('edge_instances_series_e2e', getLogger);
|
|
80
|
+
await db.rawDatabase.raw(`SET TIME ZONE 'UTC'`);
|
|
81
|
+
getEdgeInstances = createGetEdgeInstances(db.rawDatabase);
|
|
82
|
+
});
|
|
83
|
+
afterEach(async () => {
|
|
84
|
+
await db.rawDatabase(TABLE).delete();
|
|
85
|
+
});
|
|
86
|
+
afterAll(async () => {
|
|
87
|
+
await db.destroy();
|
|
88
|
+
});
|
|
89
|
+
test('returns 12 months including current month with zeros when no data and keys match exact last-12 range', async () => {
|
|
90
|
+
const res = await getEdgeInstances();
|
|
91
|
+
const keys = Object.keys(res);
|
|
92
|
+
expect(keys.length).toBe(12);
|
|
93
|
+
for (let i = 0; i < 12; i++) {
|
|
94
|
+
const { key } = await getMonthRange(db.rawDatabase, i);
|
|
95
|
+
expect(keys).toContain(key);
|
|
96
|
+
expect(res[key]).toBe(0);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
test('computes average for last month and guarantees data actually inserted', async () => {
|
|
100
|
+
const { start_ts, end_ts, key } = await getMonthRange(db.rawDatabase, 1);
|
|
101
|
+
await insertSpreadAcrossMonth(db.rawDatabase, start_ts, end_ts, 2, 3);
|
|
102
|
+
const inserted = await countRowsInWindow(db.rawDatabase, start_ts, end_ts);
|
|
103
|
+
expect(inserted).toBeGreaterThan(0);
|
|
104
|
+
const expected = await expectedForWindow(db.rawDatabase, start_ts, end_ts);
|
|
105
|
+
expect(expected).toBeGreaterThan(0);
|
|
106
|
+
const res = await getEdgeInstances();
|
|
107
|
+
expect(res[key]).toBe(expected);
|
|
108
|
+
});
|
|
109
|
+
test('separates last two months with different loads and at least one non-zero in series', async () => {
|
|
110
|
+
const m1 = await getMonthRange(db.rawDatabase, 1);
|
|
111
|
+
const m2 = await getMonthRange(db.rawDatabase, 2);
|
|
112
|
+
await insertSpreadAcrossMonth(db.rawDatabase, m2.start_ts, m2.end_ts, 4, 9);
|
|
113
|
+
await insertSpreadAcrossMonth(db.rawDatabase, m1.start_ts, m1.end_ts, 3, 4);
|
|
114
|
+
const insertedM1 = await countRowsInWindow(db.rawDatabase, m1.start_ts, m1.end_ts);
|
|
115
|
+
const insertedM2 = await countRowsInWindow(db.rawDatabase, m2.start_ts, m2.end_ts);
|
|
116
|
+
expect(insertedM1).toBeGreaterThan(0);
|
|
117
|
+
expect(insertedM2).toBeGreaterThan(0);
|
|
118
|
+
const expectedM1 = await expectedForWindow(db.rawDatabase, m1.start_ts, m1.end_ts);
|
|
119
|
+
const expectedM2 = await expectedForWindow(db.rawDatabase, m2.start_ts, m2.end_ts);
|
|
120
|
+
const res = await getEdgeInstances();
|
|
121
|
+
expect(res[m1.key]).toBe(expectedM1);
|
|
122
|
+
expect(res[m2.key]).toBe(expectedM2);
|
|
123
|
+
const nonZero = Object.values(res).filter((v) => v > 0).length;
|
|
124
|
+
expect(nonZero).toBeGreaterThan(0);
|
|
125
|
+
});
|
|
126
|
+
test('includes current month data up to now alongside previous months', async () => {
|
|
127
|
+
await db.rawDatabase.transaction(async (trx) => {
|
|
128
|
+
const current = await getMonthRange(trx, 0);
|
|
129
|
+
const m1 = await getMonthRange(trx, 1);
|
|
130
|
+
const m2 = await getMonthRange(trx, 2);
|
|
131
|
+
await insertSpreadAcrossMonth(trx, current.start_ts, current.end_ts, 2, 8);
|
|
132
|
+
await insertSpreadAcrossMonth(trx, m1.start_ts, m1.end_ts, 5, 11);
|
|
133
|
+
const currentInserted = await countRowsInWindow(trx, current.start_ts, current.end_ts);
|
|
134
|
+
expect(currentInserted).toBeGreaterThan(0);
|
|
135
|
+
const expectedCurrent = await expectedForWindow(trx, current.start_ts, current.end_ts);
|
|
136
|
+
const expectedM1 = await expectedForWindow(trx, m1.start_ts, m1.end_ts);
|
|
137
|
+
const expectedM2 = await expectedForWindow(trx, m2.start_ts, m2.end_ts);
|
|
138
|
+
const getEdgeInstancesWithTrx = createGetEdgeInstances(trx);
|
|
139
|
+
const res = await getEdgeInstancesWithTrx();
|
|
140
|
+
expect(res[current.key]).toBe(expectedCurrent);
|
|
141
|
+
expect(expectedM1).toBeGreaterThan(0);
|
|
142
|
+
expect(res[m1.key]).toBe(expectedM1);
|
|
143
|
+
expect(res[m2.key]).toBe(expectedM2);
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
//# sourceMappingURL=getEdgeInstances.e2e.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEdgeInstances.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getEdgeInstances.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const TABLE = 'edge_node_presence';
|
|
2
|
+
export const createGetEdgeInstances = (db) => async () => {
|
|
3
|
+
const rows = await db
|
|
4
|
+
.with('months', (qb) => qb.fromRaw('generate_series(0, 11) AS gs').select(db.raw("(date_trunc('month', NOW()) - (gs * INTERVAL '1 month'))::timestamptz AS mon_start"), db.raw(`
|
|
5
|
+
(
|
|
6
|
+
CASE
|
|
7
|
+
WHEN gs = 0 THEN NOW()
|
|
8
|
+
ELSE (date_trunc('month', NOW()) - ((gs - 1) * INTERVAL '1 month'))
|
|
9
|
+
END
|
|
10
|
+
)::timestamptz AS mon_end
|
|
11
|
+
`), db.raw("to_char((date_trunc('month', NOW()) - (gs * INTERVAL '1 month')),'YYYY-MM') AS key"), db.raw(`
|
|
12
|
+
FLOOR(EXTRACT(EPOCH FROM (
|
|
13
|
+
(
|
|
14
|
+
CASE
|
|
15
|
+
WHEN gs = 0 THEN NOW()
|
|
16
|
+
ELSE (date_trunc('month', NOW()) - ((gs - 1) * INTERVAL '1 month'))
|
|
17
|
+
END
|
|
18
|
+
)
|
|
19
|
+
- (date_trunc('month', NOW()) - (gs * INTERVAL '1 month'))
|
|
20
|
+
)) / 300)::int AS expected
|
|
21
|
+
`)))
|
|
22
|
+
.with('range', (qb) => qb
|
|
23
|
+
.from('months')
|
|
24
|
+
.select(db.raw('MIN(mon_start) AS min_start'), db.raw('MAX(mon_end) AS max_end')))
|
|
25
|
+
.with('buckets', (qb) => qb
|
|
26
|
+
.from(TABLE)
|
|
27
|
+
.joinRaw('CROSS JOIN range')
|
|
28
|
+
.whereRaw('bucket_ts >= range.min_start AND bucket_ts < range.max_end')
|
|
29
|
+
.groupBy('bucket_ts')
|
|
30
|
+
.select(db.raw('bucket_ts'), db.raw('COUNT(DISTINCT node_ephem_id)::int AS active_nodes')))
|
|
31
|
+
.from('months as m')
|
|
32
|
+
.joinRaw('LEFT JOIN buckets b ON b.bucket_ts >= m.mon_start AND b.bucket_ts < m.mon_end')
|
|
33
|
+
.groupBy('m.key', 'm.expected')
|
|
34
|
+
.orderBy('m.key', 'desc')
|
|
35
|
+
.select(db.raw('m.key'), db.raw(`
|
|
36
|
+
COALESCE(
|
|
37
|
+
ROUND((SUM(b.active_nodes)::numeric) / NULLIF(m.expected, 0), 3),
|
|
38
|
+
0
|
|
39
|
+
) AS value
|
|
40
|
+
`));
|
|
41
|
+
const series = {};
|
|
42
|
+
for (const r of rows) {
|
|
43
|
+
series[r.key] = Number(r.value ?? 0);
|
|
44
|
+
}
|
|
45
|
+
return series;
|
|
46
|
+
};
|
|
47
|
+
export const createFakeGetEdgeInstances = (edgeInstances = {}) => () => Promise.resolve(edgeInstances);
|
|
48
|
+
//# sourceMappingURL=getEdgeInstances.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEdgeInstances.js","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getEdgeInstances.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,oBAAoB,CAAC;AAKnC,MAAM,CAAC,MAAM,sBAAsB,GAC/B,CAAC,EAAM,EAAoB,EAAE,CAC7B,KAAK,IAAI,EAAE;IACP,MAAM,IAAI,GAAG,MAAM,EAAE;SAChB,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CACnB,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAC7C,EAAE,CAAC,GAAG,CACF,oFAAoF,CACvF,EACD,EAAE,CAAC,GAAG,CACF;;;;;;;yBAOC,CACJ,EACD,EAAE,CAAC,GAAG,CACF,oFAAoF,CACvF,EACD,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;yBAUF,CAAC,CACT,CACJ;SACA,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAClB,EAAE;SACG,IAAI,CAAC,QAAQ,CAAC;SACd,MAAM,CACH,EAAE,CAAC,GAAG,CAAC,6BAA6B,CAAC,EACrC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CACpC,CACR;SACA,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CACpB,EAAE;SACG,IAAI,CAAC,KAAK,CAAC;SACX,OAAO,CAAC,kBAAkB,CAAC;SAC3B,QAAQ,CACL,4DAA4D,CAC/D;SACA,OAAO,CAAC,WAAW,CAAC;SACpB,MAAM,CACH,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EACnB,EAAE,CAAC,GAAG,CACF,oDAAoD,CACvD,CACJ,CACR;SACA,IAAI,CAAC,aAAa,CAAC;SACnB,OAAO,CACJ,+EAA+E,CAClF;SACA,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;SAC9B,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;SACxB,MAAM,CACH,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EACf,EAAE,CAAC,GAAG,CACF;;;;;iBAKH,CACA,CACJ,CAAC;IAEN,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,IAA6C,EAAE,CAAC;QAC5D,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEN,MAAM,CAAC,MAAM,0BAA0B,GACnC,CACI,gBAAuD,EAAE,EACzC,EAAE,CACtB,GAAG,EAAE,CACD,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dbInit from '../../../test/e2e/helpers/database-init.js';
|
|
2
2
|
import getLogger from '../../../test/fixtures/no-logger.js';
|
|
3
3
|
import { createGetProductionChanges, } from './getProductionChanges.js';
|
|
4
|
-
import subDays from 'date-fns/subDays';
|
|
4
|
+
import { subDays } from 'date-fns/subDays';
|
|
5
5
|
let db;
|
|
6
6
|
let getProductionChanges;
|
|
7
7
|
const mockEventDaysAgo = (days, environment = 'production') => {
|
|
@@ -24,7 +24,7 @@ const mockRawEventDaysAgo = (days, environment = 'production') => {
|
|
|
24
24
|
announced: true,
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
|
-
const noEnvironmentEvent = (
|
|
27
|
+
const noEnvironmentEvent = (_days) => {
|
|
28
28
|
return {
|
|
29
29
|
type: 'FEATURE_UPDATED',
|
|
30
30
|
created_by: 'testrunner',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProductionChanges.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getProductionChanges.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAEN,MAAM,4CAA4C,CAAC;AACpD,OAAO,SAAS,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EACH,0BAA0B,GAE7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"getProductionChanges.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getProductionChanges.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Db } from '../../types/index.js';
|
|
2
|
+
export type GetReadOnlyUsers = () => Promise<number>;
|
|
3
|
+
export declare const createGetReadOnlyUsers: (db: Db) => GetReadOnlyUsers;
|
|
4
|
+
export declare const createFakeGetReadOnlyUsers: (readOnlyUsers?: Awaited<ReturnType<GetReadOnlyUsers>>) => GetReadOnlyUsers;
|
|
5
|
+
//# sourceMappingURL=getReadOnlyUsers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReadOnlyUsers.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getReadOnlyUsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAK/C,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAErD,eAAO,MAAM,sBAAsB,GAC9B,IAAI,EAAE,KAAG,gBAoBT,CAAC;AAEN,eAAO,MAAM,0BAA0B,GAE/B,gBAAe,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAK,KACzD,gBAE+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReadOnlyUsers.e2e.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getReadOnlyUsers.e2e.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { createGetReadOnlyUsers, } from './getReadOnlyUsers.js';
|
|
2
|
+
import dbInit from '../../../test/e2e/helpers/database-init.js';
|
|
3
|
+
import getLogger from '../../../test/fixtures/no-logger.js';
|
|
4
|
+
let db;
|
|
5
|
+
let getReadOnlyUsers;
|
|
6
|
+
let _viewerRoleId;
|
|
7
|
+
beforeAll(async () => {
|
|
8
|
+
db = await dbInit('read_only_users_serial', getLogger);
|
|
9
|
+
getReadOnlyUsers = createGetReadOnlyUsers(db.rawDatabase);
|
|
10
|
+
});
|
|
11
|
+
afterEach(async () => {
|
|
12
|
+
await db.rawDatabase('events').delete();
|
|
13
|
+
await db.rawDatabase('role_user').delete();
|
|
14
|
+
await db.rawDatabase('users').delete();
|
|
15
|
+
});
|
|
16
|
+
afterAll(async () => {
|
|
17
|
+
await db.destroy();
|
|
18
|
+
});
|
|
19
|
+
test('should count user with Viewer root role and no events', async () => {
|
|
20
|
+
const [user] = await db
|
|
21
|
+
.rawDatabase('users')
|
|
22
|
+
.insert({
|
|
23
|
+
email: 'viewer@example.com',
|
|
24
|
+
name: 'Viewer User',
|
|
25
|
+
is_system: false,
|
|
26
|
+
is_service: false,
|
|
27
|
+
})
|
|
28
|
+
.returning('id');
|
|
29
|
+
await db.rawDatabase('role_user').insert({
|
|
30
|
+
role_id: 3,
|
|
31
|
+
user_id: user.id,
|
|
32
|
+
project: '*',
|
|
33
|
+
});
|
|
34
|
+
await expect(getReadOnlyUsers()).resolves.toEqual(1);
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=getReadOnlyUsers.e2e.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReadOnlyUsers.e2e.test.js","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getReadOnlyUsers.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,GAEzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,MAEN,MAAM,4CAA4C,CAAC;AACpD,OAAO,SAAS,MAAM,qCAAqC,CAAC;AAE5D,IAAI,EAAW,CAAC;AAChB,IAAI,gBAAkC,CAAC;AACvC,IAAI,aAAqB,CAAC;AAE1B,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;IACvD,gBAAgB,GAAG,sBAAsB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,MAAM,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAChB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;IACrE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE;SAClB,WAAW,CAAC,OAAO,CAAC;SACpB,MAAM,CAAC;QACJ,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,KAAK;KACpB,CAAC;SACD,SAAS,CAAC,IAAI,CAAC,CAAC;IAErB,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QACrC,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,CAAC,EAAE;QAChB,OAAO,EAAE,GAAG;KACf,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FEATURE_FAVORITED } from '../../events/index.js';
|
|
2
|
+
import { RoleName } from '../../types/model.js';
|
|
3
|
+
import { ROOT_ROLE_TYPE } from '../../util/constants.js';
|
|
4
|
+
export const createGetReadOnlyUsers = (db) => async () => {
|
|
5
|
+
const result = await db('users')
|
|
6
|
+
.countDistinct('users.id as readOnlyCount')
|
|
7
|
+
.join('role_user', 'role_user.user_id', 'users.id')
|
|
8
|
+
.join('roles', 'roles.id', 'role_user.role_id')
|
|
9
|
+
.whereNull('users.deleted_at')
|
|
10
|
+
.where('users.is_system', false)
|
|
11
|
+
.where('users.is_service', false)
|
|
12
|
+
.where('roles.name', RoleName.VIEWER)
|
|
13
|
+
.where('roles.type', ROOT_ROLE_TYPE)
|
|
14
|
+
.whereNotExists(function () {
|
|
15
|
+
this.select('*')
|
|
16
|
+
.from('events')
|
|
17
|
+
.whereRaw('events.created_by_user_id = users.id')
|
|
18
|
+
.whereNot('events.type', FEATURE_FAVORITED);
|
|
19
|
+
})
|
|
20
|
+
.first();
|
|
21
|
+
return Number(result?.readOnlyCount ?? 0);
|
|
22
|
+
};
|
|
23
|
+
export const createFakeGetReadOnlyUsers = (readOnlyUsers = 0) => () => Promise.resolve(readOnlyUsers);
|
|
24
|
+
//# sourceMappingURL=getReadOnlyUsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReadOnlyUsers.js","sourceRoot":"","sources":["../../../../src/lib/features/instance-stats/getReadOnlyUsers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIzD,MAAM,CAAC,MAAM,sBAAsB,GAC/B,CAAC,EAAM,EAAoB,EAAE,CAC7B,KAAK,IAAI,EAAE;IACP,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;SAC3B,aAAa,CAAC,2BAA2B,CAAC;SAC1C,IAAI,CAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,CAAC;SAClD,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,mBAAmB,CAAC;SAC9C,SAAS,CAAC,kBAAkB,CAAC;SAC7B,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC;SAC/B,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC;SAChC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;SACpC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC;SACnC,cAAc,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,QAAQ,CAAC;aACd,QAAQ,CAAC,sCAAsC,CAAC;aAChD,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACpD,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;IAEb,OAAO,MAAM,CAAC,MAAM,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEN,MAAM,CAAC,MAAM,0BAA0B,GACnC,CACI,gBAAuD,CAAC,EACxC,EAAE,CACtB,GAAG,EAAE,CACD,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC"}
|