unleash-server 5.7.2 → 5.8.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/dist/lib/addons/datadog-definition.js +1 -1
- package/dist/lib/addons/datadog-definition.js.map +1 -1
- package/dist/lib/addons/datadog.test.js +7 -0
- package/dist/lib/addons/datadog.test.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.test.js +16 -0
- package/dist/lib/addons/feature-event-formatter-md.test.js.map +1 -1
- package/dist/lib/addons/slack-app.test.js +2 -0
- package/dist/lib/addons/slack-app.test.js.map +1 -1
- package/dist/lib/addons/slack.test.js +9 -0
- package/dist/lib/addons/slack.test.js.map +1 -1
- package/dist/lib/addons/teams.test.js +6 -0
- package/dist/lib/addons/teams.test.js.map +1 -1
- package/dist/lib/addons/webhook.test.js +5 -0
- package/dist/lib/addons/webhook.test.js.map +1 -1
- package/dist/lib/app.js +4 -3
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/app.test.js +38 -0
- package/dist/lib/app.test.js.map +1 -1
- package/dist/lib/create-config.d.ts.map +1 -1
- package/dist/lib/create-config.js +3 -0
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/access-store.d.ts.map +1 -1
- package/dist/lib/db/access-store.js +26 -2
- package/dist/lib/db/access-store.js.map +1 -1
- package/dist/lib/db/access-store.test.js +13 -0
- package/dist/lib/db/access-store.test.js.map +1 -1
- package/dist/lib/db/account-store.d.ts.map +1 -1
- package/dist/lib/db/account-store.js +1 -0
- package/dist/lib/db/account-store.js.map +1 -1
- package/dist/lib/db/event-store.d.ts +1 -0
- package/dist/lib/db/event-store.d.ts.map +1 -1
- package/dist/lib/db/event-store.js +3 -0
- package/dist/lib/db/event-store.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.test.js +3 -0
- package/dist/lib/db/feature-strategy-store.test.js.map +1 -1
- package/dist/lib/db/feature-tag-store.d.ts +6 -5
- package/dist/lib/db/feature-tag-store.d.ts.map +1 -1
- package/dist/lib/db/feature-tag-store.js +15 -5
- package/dist/lib/db/feature-tag-store.js.map +1 -1
- package/dist/lib/db/index.d.ts.map +1 -1
- package/dist/lib/db/index.js +3 -1
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/db/user-store.d.ts.map +1 -1
- package/dist/lib/db/user-store.js +1 -0
- package/dist/lib/db/user-store.js.map +1 -1
- package/dist/lib/features/access/createAccessService.js +2 -2
- package/dist/lib/features/access/createAccessService.js.map +1 -1
- package/dist/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.js +1 -0
- package/dist/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.js.map +1 -1
- package/dist/lib/features/dependent-features/dependent-features-service.d.ts +4 -4
- package/dist/lib/features/dependent-features/dependent-features-service.d.ts.map +1 -1
- package/dist/lib/features/dependent-features/dependent-features-service.js +11 -8
- package/dist/lib/features/dependent-features/dependent-features-service.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-controller.d.ts.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-controller.js +1 -1
- package/dist/lib/features/export-import-toggles/export-import-controller.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-service.d.ts +2 -2
- package/dist/lib/features/export-import-toggles/export-import-service.d.ts.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-service.js +27 -17
- package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import.e2e.test.js +35 -5
- package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-search/createFeatureSearchService.d.ts.map +1 -1
- package/dist/lib/features/feature-search/createFeatureSearchService.js +6 -6
- package/dist/lib/features/feature-search/createFeatureSearchService.js.map +1 -1
- package/dist/lib/features/feature-search/fake-feature-search-store.d.ts +10 -0
- package/dist/lib/features/feature-search/fake-feature-search-store.d.ts.map +1 -0
- package/dist/lib/features/feature-search/fake-feature-search-store.js +9 -0
- package/dist/lib/features/feature-search/fake-feature-search-store.js.map +1 -0
- package/dist/lib/features/feature-search/feature-search-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-controller.js +4 -3
- package/dist/lib/features/feature-search/feature-search-controller.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-service.d.ts +2 -2
- package/dist/lib/features/feature-search/feature-search-service.d.ts.map +1 -1
- package/dist/lib/features/feature-search/feature-search-service.js +9 -4
- package/dist/lib/features/feature-search/feature-search-service.js.map +1 -1
- package/dist/lib/features/feature-search/feature-search-store-type.d.ts +9 -0
- package/dist/lib/features/feature-search/feature-search-store-type.d.ts.map +1 -0
- package/dist/lib/features/feature-search/feature-search-store-type.js +3 -0
- package/dist/lib/features/feature-search/feature-search-store-type.js.map +1 -0
- package/dist/lib/features/feature-search/feature-search-store.d.ts +24 -0
- package/dist/lib/features/feature-search/feature-search-store.d.ts.map +1 -0
- package/dist/lib/features/feature-search/feature-search-store.js +323 -0
- package/dist/lib/features/feature-search/feature-search-store.js.map +1 -0
- package/dist/lib/features/feature-search/feature.search.e2e.test.js +101 -6
- package/dist/lib/features/feature-search/feature.search.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js +2 -2
- package/dist/lib/features/feature-toggle/archive-feature-toggle-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js +2 -2
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts +1 -5
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js +0 -3
- package/dist/lib/features/feature-toggle/fakes/fake-feature-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts +5 -2
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js +3 -0
- package/dist/lib/features/feature-toggle/fakes/fake-feature-toggle-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-controller.js +7 -7
- package/dist/lib/features/feature-toggle/feature-toggle-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts +25 -23
- package/dist/lib/features/feature-toggle/feature-toggle-service.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-service.js +79 -51
- package/dist/lib/features/feature-toggle/feature-toggle-service.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts +10 -3
- package/dist/lib/features/feature-toggle/feature-toggle-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-store.js +44 -13
- package/dist/lib/features/feature-toggle/feature-toggle-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts +0 -5
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js +2 -201
- package/dist/lib/features/feature-toggle/feature-toggle-strategies-store.js.map +1 -1
- package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js +20 -16
- package/dist/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.js +4 -0
- package/dist/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js +24 -23
- package/dist/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js +17 -3
- package/dist/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js +17 -3
- package/dist/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.js +9 -3
- package/dist/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js +21 -7
- package/dist/lib/features/feature-toggle/tests/feature-toggles.e2e.test.js.map +1 -1
- package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts +5 -2
- package/dist/lib/features/feature-toggle/types/feature-toggle-store-type.d.ts.map +1 -1
- package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts +2 -5
- package/dist/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.d.ts.map +1 -1
- package/dist/lib/features/index.d.ts +1 -0
- package/dist/lib/features/index.d.ts.map +1 -1
- package/dist/lib/features/index.js +1 -0
- package/dist/lib/features/index.js.map +1 -1
- package/dist/lib/features/maintenance/maintenance-controller.d.ts.map +1 -1
- package/dist/lib/features/maintenance/maintenance-controller.js +1 -1
- package/dist/lib/features/maintenance/maintenance-controller.js.map +1 -1
- package/dist/lib/features/maintenance/maintenance-service.d.ts +1 -1
- package/dist/lib/features/maintenance/maintenance-service.d.ts.map +1 -1
- package/dist/lib/features/maintenance/maintenance-service.js +2 -2
- package/dist/lib/features/maintenance/maintenance-service.js.map +1 -1
- package/dist/lib/features/maintenance/maintenance-service.test.js +1 -1
- package/dist/lib/features/maintenance/maintenance-service.test.js.map +1 -1
- package/dist/lib/features/playground/advanced-playground.test.js +0 -1
- package/dist/lib/features/playground/advanced-playground.test.js.map +1 -1
- package/dist/lib/features/playground/playground-service.d.ts.map +1 -1
- package/dist/lib/features/playground/playground-service.js +9 -11
- package/dist/lib/features/playground/playground-service.js.map +1 -1
- package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts.map +1 -1
- package/dist/lib/features/private-project/fakePrivateProjectChecker.js +2 -1
- package/dist/lib/features/private-project/fakePrivateProjectChecker.js.map +1 -1
- package/dist/lib/features/project/createProjectService.js +2 -2
- package/dist/lib/features/project/createProjectService.js.map +1 -1
- package/dist/lib/features/project-environments/createEnvironmentService.d.ts +6 -0
- package/dist/lib/features/project-environments/createEnvironmentService.d.ts.map +1 -0
- package/dist/lib/features/project-environments/createEnvironmentService.js +60 -0
- package/dist/lib/features/project-environments/createEnvironmentService.js.map +1 -0
- package/dist/lib/{services → features/project-environments}/environment-service.d.ts +6 -6
- package/dist/lib/features/project-environments/environment-service.d.ts.map +1 -0
- package/dist/lib/{services → features/project-environments}/environment-service.js +13 -10
- package/dist/lib/features/project-environments/environment-service.js.map +1 -0
- package/dist/lib/features/project-environments/environment-service.test.d.ts.map +1 -0
- package/dist/{test/e2e/services → lib/features/project-environments}/environment-service.test.js +24 -18
- package/dist/lib/features/project-environments/environment-service.test.js.map +1 -0
- package/dist/lib/{types/stores/environment-store.d.ts → features/project-environments/environment-store-type.d.ts} +3 -3
- package/dist/lib/features/project-environments/environment-store-type.d.ts.map +1 -0
- package/dist/lib/{types/stores/environment-store.js → features/project-environments/environment-store-type.js} +1 -1
- package/dist/lib/features/project-environments/environment-store-type.js.map +1 -0
- package/dist/lib/{db → features/project-environments}/environment-store.d.ts +4 -4
- package/dist/lib/features/project-environments/environment-store.d.ts.map +1 -0
- package/dist/lib/{db → features/project-environments}/environment-store.js +4 -4
- package/dist/lib/features/project-environments/environment-store.js.map +1 -0
- package/dist/lib/{routes/admin-api/project → features/project-environments}/environments.d.ts +5 -5
- package/dist/lib/features/project-environments/environments.d.ts.map +1 -0
- package/dist/lib/features/project-environments/environments.e2e.test.d.ts.map +1 -0
- package/dist/{test/e2e/api/admin/project → lib/features/project-environments}/environments.e2e.test.js +4 -4
- package/dist/lib/features/project-environments/environments.e2e.test.js.map +1 -0
- package/dist/lib/{routes/admin-api/project → features/project-environments}/environments.js +9 -9
- package/dist/lib/features/project-environments/environments.js.map +1 -0
- package/dist/{test/fixtures → lib/features/project-environments}/fake-environment-store.d.ts +2 -2
- package/dist/lib/features/project-environments/fake-environment-store.d.ts.map +1 -0
- package/dist/{test/fixtures → lib/features/project-environments}/fake-environment-store.js +1 -1
- package/dist/lib/features/project-environments/fake-environment-store.js.map +1 -0
- package/dist/lib/features/scheduler/scheduler-service.test.js +1 -1
- package/dist/lib/features/scheduler/scheduler-service.test.js.map +1 -1
- package/dist/lib/features/segment/segment-controller.d.ts +1 -1
- package/dist/lib/features/segment/segment-controller.d.ts.map +1 -1
- package/dist/lib/features/segment/segment-controller.js +1 -1
- package/dist/lib/features/segment/segment-controller.js.map +1 -1
- package/dist/lib/features/tag-type/tag-type-service.d.ts +3 -3
- package/dist/lib/features/tag-type/tag-type-service.d.ts.map +1 -1
- package/dist/lib/features/tag-type/tag-type-service.js +10 -6
- package/dist/lib/features/tag-type/tag-type-service.js.map +1 -1
- package/dist/lib/features/tag-type/tag-type.d.ts.map +1 -1
- package/dist/lib/features/tag-type/tag-type.js +3 -3
- package/dist/lib/features/tag-type/tag-type.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/api-token-middleware.js +6 -1
- package/dist/lib/middleware/api-token-middleware.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.test.js +25 -0
- package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
- package/dist/lib/middleware/cors-origin-middleware.d.ts.map +1 -1
- package/dist/lib/middleware/cors-origin-middleware.js +5 -1
- package/dist/lib/middleware/cors-origin-middleware.js.map +1 -1
- package/dist/lib/middleware/cors-origin-middleware.test.js +7 -6
- package/dist/lib/middleware/cors-origin-middleware.test.js.map +1 -1
- package/dist/lib/middleware/secure-headers.d.ts.map +1 -1
- package/dist/lib/middleware/secure-headers.js +49 -1
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/openapi/index.d.ts.map +1 -1
- package/dist/lib/openapi/index.js +6 -3
- package/dist/lib/openapi/index.js.map +1 -1
- package/dist/lib/openapi/spec/create-user-response-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/create-user-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.d.ts +2563 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.js +143 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.js.map +1 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.d.ts +2 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.d.ts.map +1 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.js +17 -0
- package/dist/lib/openapi/spec/deprecated-project-overview-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/event-schema.d.ts +7 -1
- package/dist/lib/openapi/spec/event-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/event-schema.js +6 -0
- package/dist/lib/openapi/spec/event-schema.js.map +1 -1
- package/dist/lib/openapi/spec/events-schema.d.ts +7 -1
- package/dist/lib/openapi/spec/events-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/export-query-schema.d.ts +22 -3
- package/dist/lib/openapi/spec/export-query-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/export-query-schema.js +14 -3
- package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
- package/dist/lib/openapi/spec/export-result-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/export-result-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-events-schema.d.ts +7 -1
- package/dist/lib/openapi/spec/feature-events-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts +15 -6
- package/dist/lib/openapi/spec/feature-search-query-parameters.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-search-query-parameters.js +16 -6
- package/dist/lib/openapi/spec/feature-search-query-parameters.js.map +1 -1
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts +1016 -0
- package/dist/lib/openapi/spec/feature-search-response-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/feature-search-response-schema.js +177 -0
- package/dist/lib/openapi/spec/feature-search-response-schema.js.map +1 -0
- package/dist/lib/openapi/spec/feature-tag-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/feature-tag-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/feature-tag-schema.js +6 -0
- package/dist/lib/openapi/spec/feature-tag-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-type-count-schema.d.ts +25 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.js +26 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.js.map +1 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.test.d.ts +2 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.test.d.ts.map +1 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.test.js +12 -0
- package/dist/lib/openapi/spec/feature-type-count-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/group-schema.d.ts +2 -0
- package/dist/lib/openapi/spec/group-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/group-user-model-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/group-user-model-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/groups-schema.d.ts +4 -0
- package/dist/lib/openapi/spec/groups-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts +12 -0
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/index.d.ts +3 -0
- package/dist/lib/openapi/spec/index.d.ts.map +1 -1
- package/dist/lib/openapi/spec/index.js +3 -0
- package/dist/lib/openapi/spec/index.js.map +1 -1
- package/dist/lib/openapi/spec/me-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/me-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.d.ts +26 -4
- package/dist/lib/openapi/spec/project-overview-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.js +6 -4
- package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
- package/dist/lib/openapi/spec/project-overview-schema.test.js +7 -1
- package/dist/lib/openapi/spec/project-overview-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/public-signup-token-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/public-signup-token-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts +2 -0
- package/dist/lib/openapi/spec/public-signup-tokens-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/search-events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/search-features-schema.d.ts +12 -4
- package/dist/lib/openapi/spec/search-features-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/search-features-schema.js +4 -4
- package/dist/lib/openapi/spec/search-features-schema.js.map +1 -1
- package/dist/lib/openapi/spec/{admin-strategies-schema.d.ts → segment-strategies-schema.d.ts} +37 -1
- package/dist/lib/openapi/spec/segment-strategies-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/{admin-strategies-schema.js → segment-strategies-schema.js} +42 -1
- package/dist/lib/openapi/spec/segment-strategies-schema.js.map +1 -0
- package/dist/lib/openapi/spec/segment-strategies-schema.test.d.ts +2 -0
- package/dist/lib/openapi/spec/segment-strategies-schema.test.d.ts.map +1 -0
- package/dist/lib/openapi/spec/{admin-strategies-schema.test.js → segment-strategies-schema.test.js} +1 -1
- package/dist/lib/openapi/spec/segment-strategies-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/state-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/state-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/ui-config-schema.d.ts +5 -0
- package/dist/lib/openapi/spec/ui-config-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/ui-config-schema.js +5 -0
- package/dist/lib/openapi/spec/ui-config-schema.js.map +1 -1
- package/dist/lib/openapi/spec/user-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/user-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/user-schema.js +1 -0
- package/dist/lib/openapi/spec/user-schema.js.map +1 -1
- package/dist/lib/openapi/spec/users-groups-base-schema.d.ts +4 -0
- package/dist/lib/openapi/spec/users-groups-base-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/users-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/users-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/users-search-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/users-search-schema.d.ts.map +1 -1
- package/dist/lib/openapi/util/create-request-schema.d.ts.map +1 -1
- package/dist/lib/openapi/util/create-request-schema.js +3 -1
- package/dist/lib/openapi/util/create-request-schema.js.map +1 -1
- package/dist/lib/openapi/util/create-response-schema.d.ts.map +1 -1
- package/dist/lib/openapi/util/create-response-schema.js +6 -2
- package/dist/lib/openapi/util/create-response-schema.js.map +1 -1
- package/dist/lib/routes/admin-api/addon.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/addon.js +3 -3
- package/dist/lib/routes/admin-api/addon.js.map +1 -1
- package/dist/lib/routes/admin-api/api-token.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/api-token.js +2 -2
- package/dist/lib/routes/admin-api/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/config.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/config.js +2 -1
- package/dist/lib/routes/admin-api/config.js.map +1 -1
- package/dist/lib/routes/admin-api/context.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/context.js +3 -3
- package/dist/lib/routes/admin-api/context.js.map +1 -1
- package/dist/lib/routes/admin-api/events.test.js +13 -5
- package/dist/lib/routes/admin-api/events.test.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +2 -2
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/project/api-token.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/project/api-token.js +1 -1
- package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/project/{index.d.ts → project-api.d.ts} +4 -2
- package/dist/lib/routes/admin-api/project/project-api.d.ts.map +1 -0
- package/dist/lib/routes/admin-api/project/{index.js → project-api.js} +29 -3
- package/dist/lib/routes/admin-api/project/project-api.js.map +1 -0
- package/dist/lib/routes/admin-api/project/project-archive.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/project/project-archive.js +2 -2
- package/dist/lib/routes/admin-api/project/project-archive.js.map +1 -1
- package/dist/lib/routes/admin-api/project/variants.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/project/variants.js +1 -1
- package/dist/lib/routes/admin-api/project/variants.js.map +1 -1
- package/dist/lib/routes/admin-api/public-signup.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/public-signup.js +2 -2
- package/dist/lib/routes/admin-api/public-signup.js.map +1 -1
- package/dist/lib/routes/admin-api/state.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/state.js +1 -0
- package/dist/lib/routes/admin-api/state.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/strategy.js +5 -5
- package/dist/lib/routes/admin-api/strategy.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.d.ts.map +1 -1
- package/dist/lib/routes/admin-api/tag.js +2 -2
- package/dist/lib/routes/admin-api/tag.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.test.js +2 -0
- package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/edge-api/index.d.ts +1 -0
- package/dist/lib/routes/edge-api/index.d.ts.map +1 -1
- package/dist/lib/routes/edge-api/index.js +25 -13
- package/dist/lib/routes/edge-api/index.js.map +1 -1
- package/dist/lib/routes/proxy-api/index.js +1 -1
- package/dist/lib/routes/proxy-api/index.js.map +1 -1
- package/dist/lib/schema/feature-schema.d.ts.map +1 -1
- package/dist/lib/schema/feature-schema.js +2 -0
- package/dist/lib/schema/feature-schema.js.map +1 -1
- package/dist/lib/server-impl.d.ts.map +1 -1
- package/dist/lib/server-impl.js +1 -0
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/access-service.d.ts +3 -1
- package/dist/lib/services/access-service.d.ts.map +1 -1
- package/dist/lib/services/access-service.js +8 -2
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/access-service.test.js +12 -2
- package/dist/lib/services/access-service.test.js.map +1 -1
- package/dist/lib/services/addon-service.d.ts +3 -3
- package/dist/lib/services/addon-service.d.ts.map +1 -1
- package/dist/lib/services/addon-service.js +8 -4
- package/dist/lib/services/addon-service.js.map +1 -1
- package/dist/lib/services/addon-service.test.js +64 -43
- package/dist/lib/services/addon-service.test.js.map +1 -1
- package/dist/lib/services/api-token-service.d.ts +4 -4
- package/dist/lib/services/api-token-service.d.ts.map +1 -1
- package/dist/lib/services/api-token-service.js +12 -9
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/api-token-service.test.js +5 -6
- package/dist/lib/services/api-token-service.test.js.map +1 -1
- package/dist/lib/services/client-metrics/instance-service.d.ts +2 -1
- package/dist/lib/services/client-metrics/instance-service.d.ts.map +1 -1
- package/dist/lib/services/client-metrics/instance-service.js +15 -17
- package/dist/lib/services/client-metrics/instance-service.js.map +1 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-store.d.ts +0 -5
- package/dist/lib/services/client-metrics/last-seen/last-seen-store.d.ts.map +1 -1
- package/dist/lib/services/client-metrics/last-seen/last-seen-store.js.map +1 -1
- package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.js +2 -2
- package/dist/lib/services/client-metrics/last-seen/tests/last-seen-service.e2e.test.js.map +1 -1
- package/dist/lib/services/context-service.d.ts +3 -3
- package/dist/lib/services/context-service.d.ts.map +1 -1
- package/dist/lib/services/context-service.js +14 -13
- package/dist/lib/services/context-service.js.map +1 -1
- package/dist/lib/services/email-service.d.ts +10 -3
- package/dist/lib/services/email-service.d.ts.map +1 -1
- package/dist/lib/services/email-service.js +98 -2
- package/dist/lib/services/email-service.js.map +1 -1
- package/dist/lib/services/email-service.test.js +41 -29
- package/dist/lib/services/email-service.test.js.map +1 -1
- package/dist/lib/services/favorites-service.d.ts.map +1 -1
- package/dist/lib/services/favorites-service.js +4 -0
- package/dist/lib/services/favorites-service.js.map +1 -1
- package/dist/lib/services/feature-tag-service.d.ts +4 -4
- package/dist/lib/services/feature-tag-service.d.ts.map +1 -1
- package/dist/lib/services/feature-tag-service.js +13 -7
- package/dist/lib/services/feature-tag-service.js.map +1 -1
- package/dist/lib/services/feature-type-service.d.ts.map +1 -1
- package/dist/lib/services/feature-type-service.js +1 -0
- package/dist/lib/services/feature-type-service.js.map +1 -1
- package/dist/lib/services/group-service.d.ts +4 -4
- package/dist/lib/services/group-service.d.ts.map +1 -1
- package/dist/lib/services/group-service.js +23 -18
- package/dist/lib/services/group-service.js.map +1 -1
- package/dist/lib/services/index.d.ts +1 -1
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +7 -3
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/pat-service.d.ts.map +1 -1
- package/dist/lib/services/pat-service.js +2 -0
- package/dist/lib/services/pat-service.js.map +1 -1
- package/dist/lib/services/project-health-service.js +1 -1
- package/dist/lib/services/project-health-service.js.map +1 -1
- package/dist/lib/services/project-service.d.ts +13 -12
- package/dist/lib/services/project-service.d.ts.map +1 -1
- package/dist/lib/services/project-service.js +81 -23
- package/dist/lib/services/project-service.js.map +1 -1
- package/dist/lib/services/proxy-service.d.ts +1 -1
- package/dist/lib/services/proxy-service.d.ts.map +1 -1
- package/dist/lib/services/proxy-service.js +2 -2
- package/dist/lib/services/proxy-service.js.map +1 -1
- package/dist/lib/services/public-signup-token-service.d.ts +2 -2
- package/dist/lib/services/public-signup-token-service.d.ts.map +1 -1
- package/dist/lib/services/public-signup-token-service.js +7 -3
- package/dist/lib/services/public-signup-token-service.js.map +1 -1
- package/dist/lib/services/segment-service.d.ts +1 -1
- package/dist/lib/services/segment-service.d.ts.map +1 -1
- package/dist/lib/services/segment-service.js +15 -14
- package/dist/lib/services/segment-service.js.map +1 -1
- package/dist/lib/services/setting-service.d.ts +2 -2
- package/dist/lib/services/setting-service.d.ts.map +1 -1
- package/dist/lib/services/setting-service.js +5 -2
- package/dist/lib/services/setting-service.js.map +1 -1
- package/dist/lib/services/state-service.d.ts +16 -11
- package/dist/lib/services/state-service.d.ts.map +1 -1
- package/dist/lib/services/state-service.js +46 -18
- package/dist/lib/services/state-service.js.map +1 -1
- package/dist/lib/services/state-service.test.js +75 -21
- package/dist/lib/services/state-service.test.js.map +1 -1
- package/dist/lib/services/strategy-service.d.ts +5 -5
- package/dist/lib/services/strategy-service.d.ts.map +1 -1
- package/dist/lib/services/strategy-service.js +11 -6
- package/dist/lib/services/strategy-service.js.map +1 -1
- package/dist/lib/services/tag-service.d.ts +2 -2
- package/dist/lib/services/tag-service.d.ts.map +1 -1
- package/dist/lib/services/tag-service.js +4 -2
- package/dist/lib/services/tag-service.js.map +1 -1
- package/dist/lib/services/user-service.d.ts.map +1 -1
- package/dist/lib/services/user-service.js +3 -0
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +12 -12
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/services/version-service.test.js +8 -2
- package/dist/lib/services/version-service.test.js.map +1 -1
- package/dist/lib/types/core.d.ts +3 -1
- package/dist/lib/types/core.d.ts.map +1 -1
- package/dist/lib/types/core.js +11 -0
- package/dist/lib/types/core.js.map +1 -1
- package/dist/lib/types/events.d.ts +51 -2
- package/dist/lib/types/events.d.ts.map +1 -1
- package/dist/lib/types/events.js +59 -42
- package/dist/lib/types/events.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +1 -1
- package/dist/lib/types/experimental.d.ts.map +1 -1
- package/dist/lib/types/experimental.js +9 -1
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/model.d.ts +30 -2
- package/dist/lib/types/model.d.ts.map +1 -1
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/option.d.ts +2 -0
- package/dist/lib/types/option.d.ts.map +1 -1
- package/dist/lib/types/services.d.ts +2 -1
- package/dist/lib/types/services.d.ts.map +1 -1
- package/dist/lib/types/stores/client-applications-store.d.ts +1 -0
- package/dist/lib/types/stores/client-applications-store.d.ts.map +1 -1
- package/dist/lib/types/stores/feature-tag-store.d.ts +7 -3
- package/dist/lib/types/stores/feature-tag-store.d.ts.map +1 -1
- package/dist/lib/types/stores.d.ts +4 -2
- package/dist/lib/types/stores.d.ts.map +1 -1
- package/dist/lib/util/extract-user.d.ts +5 -0
- package/dist/lib/util/extract-user.d.ts.map +1 -1
- package/dist/lib/util/extract-user.js +8 -1
- package/dist/lib/util/extract-user.js.map +1 -1
- package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.html.mustache +527 -0
- package/dist/mailtemplates/scheduled-change-conflict/scheduled-change-conflict.plain.mustache +9 -0
- package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.html.mustache +522 -0
- package/dist/mailtemplates/scheduled-execution-failed/scheduled-execution-failed.plain.mustache +6 -0
- package/dist/migrations/20231211121444-features-created-by.d.ts +3 -0
- package/dist/migrations/20231211121444-features-created-by.d.ts.map +1 -0
- package/dist/migrations/20231211121444-features-created-by.js +12 -0
- package/dist/migrations/20231211121444-features-created-by.js.map +1 -0
- package/dist/migrations/20231211122322-feature-types-created-by.d.ts +3 -0
- package/dist/migrations/20231211122322-feature-types-created-by.d.ts.map +1 -0
- package/dist/migrations/20231211122322-feature-types-created-by.js +12 -0
- package/dist/migrations/20231211122322-feature-types-created-by.js.map +1 -0
- package/dist/migrations/20231211122351-feature-tag-created-by.d.ts +3 -0
- package/dist/migrations/20231211122351-feature-tag-created-by.d.ts.map +1 -0
- package/dist/migrations/20231211122351-feature-tag-created-by.js +12 -0
- package/dist/migrations/20231211122351-feature-tag-created-by.js.map +1 -0
- package/dist/migrations/20231211122426-feature-strategies-created-by.d.ts +3 -0
- package/dist/migrations/20231211122426-feature-strategies-created-by.d.ts.map +1 -0
- package/dist/migrations/20231211122426-feature-strategies-created-by.js +12 -0
- package/dist/migrations/20231211122426-feature-strategies-created-by.js.map +1 -0
- package/dist/migrations/20231211132341-add-created-by-to-role-permission.d.ts +3 -0
- package/dist/migrations/20231211132341-add-created-by-to-role-permission.d.ts.map +1 -0
- package/dist/migrations/20231211132341-add-created-by-to-role-permission.js +8 -0
- package/dist/migrations/20231211132341-add-created-by-to-role-permission.js.map +1 -0
- package/dist/migrations/20231211133008-add-created-by-to-role-user.d.ts +3 -0
- package/dist/migrations/20231211133008-add-created-by-to-role-user.d.ts.map +1 -0
- package/dist/migrations/20231211133008-add-created-by-to-role-user.js +8 -0
- package/dist/migrations/20231211133008-add-created-by-to-role-user.js.map +1 -0
- package/dist/migrations/20231211133920-add-created-by-to-roles.d.ts +3 -0
- package/dist/migrations/20231211133920-add-created-by-to-roles.d.ts.map +1 -0
- package/dist/migrations/20231211133920-add-created-by-to-roles.js +8 -0
- package/dist/migrations/20231211133920-add-created-by-to-roles.js.map +1 -0
- package/dist/migrations/20231211134130-add-created-by-to-users.d.ts +3 -0
- package/dist/migrations/20231211134130-add-created-by-to-users.d.ts.map +1 -0
- package/dist/migrations/20231211134130-add-created-by-to-users.js +8 -0
- package/dist/migrations/20231211134130-add-created-by-to-users.js.map +1 -0
- package/dist/migrations/20231211134633-add-created-by-to-apitokens.d.ts +3 -0
- package/dist/migrations/20231211134633-add-created-by-to-apitokens.d.ts.map +1 -0
- package/dist/migrations/20231211134633-add-created-by-to-apitokens.js +8 -0
- package/dist/migrations/20231211134633-add-created-by-to-apitokens.js.map +1 -0
- package/dist/migrations/20231212094044-event-created-by-user-id.d.ts +3 -0
- package/dist/migrations/20231212094044-event-created-by-user-id.d.ts.map +1 -0
- package/dist/migrations/20231212094044-event-created-by-user-id.js +14 -0
- package/dist/migrations/20231212094044-event-created-by-user-id.js.map +1 -0
- package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.d.ts +3 -0
- package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.d.ts.map +1 -0
- package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.js +8 -0
- package/dist/migrations/20231213111906-add-reason-to-change-request-schedule.js.map +1 -0
- package/dist/migrations/20231215105713-incoming-webhooks.d.ts +3 -0
- package/dist/migrations/20231215105713-incoming-webhooks.d.ts.map +1 -0
- package/dist/migrations/20231215105713-incoming-webhooks.js +34 -0
- package/dist/migrations/20231215105713-incoming-webhooks.js.map +1 -0
- package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.d.ts +3 -0
- package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.d.ts.map +1 -0
- package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.js +12 -0
- package/dist/migrations/20231218165612-inc-webhook-tokens-rename-secret-to-token.js.map +1 -0
- package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.d.ts +3 -0
- package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.d.ts.map +1 -0
- package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.js +28 -0
- package/dist/migrations/20231219100343-rename-new-columns-to-created-by-user-id.js.map +1 -0
- package/dist/migrations/20231221143955-feedback-table.d.ts +3 -0
- package/dist/migrations/20231221143955-feedback-table.d.ts.map +1 -0
- package/dist/migrations/20231221143955-feedback-table.js +21 -0
- package/dist/migrations/20231221143955-feedback-table.js.map +1 -0
- package/dist/migrations/20231222071533-unleash-system-user.d.ts +3 -0
- package/dist/migrations/20231222071533-unleash-system-user.d.ts.map +1 -0
- package/dist/migrations/20231222071533-unleash-system-user.js +17 -0
- package/dist/migrations/20231222071533-unleash-system-user.js.map +1 -0
- package/dist/migrations/20240102142100-incoming-webhooks-created-by.d.ts +3 -0
- package/dist/migrations/20240102142100-incoming-webhooks-created-by.d.ts.map +1 -0
- package/dist/migrations/20240102142100-incoming-webhooks-created-by.js +11 -0
- package/dist/migrations/20240102142100-incoming-webhooks-created-by.js.map +1 -0
- package/dist/migrations/20240102205517-observable-events.d.ts +3 -0
- package/dist/migrations/20240102205517-observable-events.d.ts.map +1 -0
- package/dist/migrations/20240102205517-observable-events.js +27 -0
- package/dist/migrations/20240102205517-observable-events.js.map +1 -0
- package/dist/server-dev.js +20 -13
- package/dist/server-dev.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +1 -0
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/config.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/context.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/environment.test.js +1 -1
- package/dist/test/e2e/api/admin/environment.test.js.map +1 -1
- package/dist/test/e2e/api/admin/event.e2e.test.js +5 -0
- package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/instance-admin.e2e.test.js +12 -3
- package/dist/test/e2e/api/admin/instance-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/projects.e2e.test.js +17 -0
- package/dist/test/e2e/api/admin/project/projects.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js +22 -1
- package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/state.e2e.test.js +25 -13
- package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js +1 -1
- package/dist/test/e2e/api/auth/simple-password-provider.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.e2e.test.js +12 -11
- package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +3 -2
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js +10 -10
- package/dist/test/e2e/api/client/feature.optimal304.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +7 -5
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js +3 -2
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/openapi/openapi.e2e.test.js +2 -1
- package/dist/test/e2e/api/openapi/openapi.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/proxy/proxy.e2e.test.d.ts.map +1 -1
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js +4 -3
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js.map +1 -1
- package/dist/test/e2e/dedupe-permissions.e2e.test.js +4 -3
- package/dist/test/e2e/dedupe-permissions.e2e.test.js.map +1 -1
- package/dist/test/e2e/favor-permission-name-over-id.e2e.test.js +4 -3
- package/dist/test/e2e/favor-permission-name-over-id.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/access-service.e2e.test.js +9 -4
- package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js +4 -3
- package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/group-service.e2e.test.js +3 -3
- package/dist/test/e2e/services/group-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/playground-service.test.d.ts.map +1 -1
- package/dist/test/e2e/services/playground-service.test.js +1 -0
- package/dist/test/e2e/services/playground-service.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js +9 -0
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-service.e2e.test.js +62 -44
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/setting-service.test.js +9 -8
- package/dist/test/e2e/services/setting-service.test.js.map +1 -1
- package/dist/test/e2e/services/state-service.e2e.test.js +5 -0
- package/dist/test/e2e/services/state-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js +11 -0
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-environment-store.e2e.test.js +8 -2
- package/dist/test/e2e/stores/feature-environment-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-tag-store.e2e.test.js +24 -9
- package/dist/test/e2e/stores/feature-tag-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/system-user-migration.test.d.ts +2 -0
- package/dist/test/e2e/system-user-migration.test.d.ts.map +1 -0
- package/dist/test/e2e/system-user-migration.test.js +65 -0
- package/dist/test/e2e/system-user-migration.test.js.map +1 -0
- package/dist/test/fixtures/fake-feature-tag-store.d.ts +1 -1
- package/dist/test/fixtures/fake-feature-tag-store.d.ts.map +1 -1
- package/dist/test/fixtures/fake-feature-tag-store.js +3 -2
- package/dist/test/fixtures/fake-feature-tag-store.js.map +1 -1
- package/dist/test/fixtures/store.d.ts.map +1 -1
- package/dist/test/fixtures/store.js +3 -1
- package/dist/test/fixtures/store.js.map +1 -1
- package/frontend/build/index.html +2 -3
- package/frontend/build/static/AdvancedPlayground-iXZHz_Rq.js +13 -0
- package/frontend/build/static/CreateProject-BbtWHPl8.js +4 -0
- package/frontend/build/static/FeatureArchiveDialog-D_tZ06Sa.js +7 -0
- package/frontend/build/static/{FeatureMetricsChart-d6700d04.js → FeatureMetricsChart-SiwdLhRh.js} +2 -2
- package/frontend/build/static/FeatureViewLazyExport-baWLSkEu.js +25 -0
- package/frontend/build/static/LazyAdminExport-ckQgco28.js +44 -0
- package/frontend/build/static/LazyProjectExport-R4jiFkLZ.js +25 -0
- package/frontend/build/static/{NetworkOverview-f1b8bc51.js → NetworkOverview-StnrlVkY.js} +53 -47
- package/frontend/build/static/NetworkTraffic-V87e4GGP.js +1 -0
- package/frontend/build/static/{ReactJSONEditor-cee5845e.js → ReactJSONEditor-Ybg5ijJk.js} +66 -66
- package/frontend/build/static/RoleCell-3lnoYolp.js +1 -0
- package/frontend/build/static/StrategyItemContainer-wRkYMo4g.js +1 -0
- package/frontend/build/static/chartjs-adapter-date-fns.esm-kkU_hxq-.js +23 -0
- package/frontend/build/static/{flowchart-elk-definition-170a3958-176ecefe.js → flowchart-elk-definition-170a3958-vkzW0gdf.js} +3 -3
- package/frontend/build/static/index-ORDXjnpF.js +501 -0
- package/frontend/build/static/{is_dark-bdf64838.js → is_dark-zSU9-MOM.js} +1 -1
- package/frontend/build/static/{mindmap-definition-44684416-6e91e0f5.js → mindmap-definition-44684416-2v9fPc7w.js} +2 -2
- package/frontend/build/static/not_operator_selected-Iyxw0Fyz.svg +5 -0
- package/frontend/build/static/not_operator_unselected-vtd9BSk1.svg +3 -0
- package/frontend/build/static/{timeline-definition-8e5a9bc6-d88c2258.js → timeline-definition-8e5a9bc6-RDFfY8I3.js} +1 -1
- package/frontend/build/static/{unknownify-708e56b5.js → unknownify-vwm75Pg9.js} +1 -1
- package/frontend/build/static/unleashHoliday-kBBu-_tQ.svg +33 -0
- package/frontend/build/static/unleashHolidayDark-fbGH80iu.svg +33 -0
- package/frontend/build/static/{useApiTokens-4c5c213b.js → useApiTokens-T6gzMZPt.js} +1 -1
- package/frontend/build/static/useProjectForm-o3r31UMh.js +1 -0
- package/frontend/package.json +21 -15
- package/package.json +5 -5
- package/dist/lib/db/environment-store.d.ts.map +0 -1
- package/dist/lib/db/environment-store.js.map +0 -1
- package/dist/lib/openapi/spec/admin-strategies-schema.d.ts.map +0 -1
- package/dist/lib/openapi/spec/admin-strategies-schema.js.map +0 -1
- package/dist/lib/openapi/spec/admin-strategies-schema.test.d.ts +0 -2
- package/dist/lib/openapi/spec/admin-strategies-schema.test.d.ts.map +0 -1
- package/dist/lib/openapi/spec/admin-strategies-schema.test.js.map +0 -1
- package/dist/lib/routes/admin-api/project/environments.d.ts.map +0 -1
- package/dist/lib/routes/admin-api/project/environments.js.map +0 -1
- package/dist/lib/routes/admin-api/project/index.d.ts.map +0 -1
- package/dist/lib/routes/admin-api/project/index.js.map +0 -1
- package/dist/lib/services/environment-service.d.ts.map +0 -1
- package/dist/lib/services/environment-service.js.map +0 -1
- package/dist/lib/types/stores/environment-store.d.ts.map +0 -1
- package/dist/lib/types/stores/environment-store.js.map +0 -1
- package/dist/test/e2e/api/admin/project/environments.e2e.test.d.ts.map +0 -1
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +0 -1
- package/dist/test/e2e/services/environment-service.test.d.ts.map +0 -1
- package/dist/test/e2e/services/environment-service.test.js.map +0 -1
- package/dist/test/fixtures/fake-environment-store.d.ts.map +0 -1
- package/dist/test/fixtures/fake-environment-store.js.map +0 -1
- package/frontend/build/static/24_Negator off-764e9292.svg +0 -3
- package/frontend/build/static/24_Negator-3c95065e.svg +0 -3
- package/frontend/build/static/AdvancedPlayground-b2553abd.js +0 -13
- package/frontend/build/static/Box-bd72643d.js +0 -1
- package/frontend/build/static/CreateProject-b18786eb.js +0 -4
- package/frontend/build/static/Error-ef493ef3.js +0 -1
- package/frontend/build/static/FeatureArchiveDialog-ec518ad8.js +0 -7
- package/frontend/build/static/FeatureViewLazyExport-91172621.js +0 -10
- package/frontend/build/static/LazyAdminExport-4686a742.js +0 -38
- package/frontend/build/static/LazyProjectExport-e3e11f4e.js +0 -26
- package/frontend/build/static/NetworkTraffic-c8b752fe.js +0 -1
- package/frontend/build/static/RoleCell-91725c88.js +0 -1
- package/frontend/build/static/StrategyItemContainer-ad74b119.js +0 -1
- package/frontend/build/static/chartjs-adapter-date-fns.esm-054094c3.js +0 -24
- package/frontend/build/static/index-ae1bed58.js +0 -460
- package/frontend/build/static/useProjectForm-ff29595e.js +0 -1
- /package/dist/{test/e2e/services → lib/features/project-environments}/environment-service.test.d.ts +0 -0
- /package/dist/{test/e2e/api/admin/project → lib/features/project-environments}/environments.e2e.test.d.ts +0 -0
- /package/frontend/build/static/{24_Text format off-9a1401ab.svg → 24_Text format off-H08NRmYe.svg} +0 -0
- /package/frontend/build/static/{24_Text format-c0530280.svg → 24_Text format-rAPEECSE.svg} +0 -0
- /package/frontend/build/static/{Logo-android-218bddbb.svg → Logo-android-udpLXX1T.svg} +0 -0
- /package/frontend/build/static/{Logo-flutter-cc3c706f.svg → Logo-flutter-eDaat-tQ.svg} +0 -0
- /package/frontend/build/static/{Logo-go-02475b3d.svg → Logo-go-7IBXKeYU.svg} +0 -0
- /package/frontend/build/static/{Logo-java-6e556b26.svg → Logo-java-52SStktf.svg} +0 -0
- /package/frontend/build/static/{Logo-javascript-caebc06e.svg → Logo-javascript-FL9SH-qr.svg} +0 -0
- /package/frontend/build/static/{Logo-net-0a33abee.svg → Logo-net-bG0mn56S.svg} +0 -0
- /package/frontend/build/static/{Logo-node-318ed025.svg → Logo-node-h37os8v5.svg} +0 -0
- /package/frontend/build/static/{Logo-php-201f18c3.svg → Logo-php-Z_EVXL0a.svg} +0 -0
- /package/frontend/build/static/{Logo-python-4305760e.svg → Logo-python-_44ZKCSX.svg} +0 -0
- /package/frontend/build/static/{Logo-react-18e98687.svg → Logo-react-9krlaJef.svg} +0 -0
- /package/frontend/build/static/{Logo-ruby-58f46832.svg → Logo-ruby-ZZBHss3J.svg} +0 -0
- /package/frontend/build/static/{Logo-rust-c83a80f9.svg → Logo-rust-2dVdHYIX.svg} +0 -0
- /package/frontend/build/static/{Logo-svelte-97dcb624.svg → Logo-svelte-fn23y4Xh.svg} +0 -0
- /package/frontend/build/static/{Logo-swift-315f842b.svg → Logo-swift-dl73ozXW.svg} +0 -0
- /package/frontend/build/static/{Logo-vue-0de73099.svg → Logo-vue-XNczCeoD.svg} +0 -0
- /package/frontend/build/static/{arrowLeft-7271148c.svg → arrowLeft-iw13ytfI.svg} +0 -0
- /package/frontend/build/static/{arrowRight-0d07b41b.svg → arrowRight-jyAAywbz.svg} +0 -0
- /package/frontend/build/static/{changeRequestProcess-f2469ef4.svg → changeRequestProcess-m2Uj_v6I.svg} +0 -0
- /package/frontend/build/static/{cr-db7653ac.png → cr-24xlfR5T.png} +0 -0
- /package/frontend/build/static/{datadog-543762b6.svg → datadog--09MbZDg.svg} +0 -0
- /package/frontend/build/static/{demo-qr-c2ce85bd.png → demo-qr-kJaJsgg_.png} +0 -0
- /package/frontend/build/static/{demo-userid-69a28f5e.png → demo-userid-OFH-UWxt.png} +0 -0
- /package/frontend/build/static/{edge-daisy-chaining-012bfdef.svg → edge-daisy-chaining-gE7UbpD0.svg} +0 -0
- /package/frontend/build/static/{edge-mode-5d25949b.svg → edge-mode-sUiAy22Z.svg} +0 -0
- /package/frontend/build/static/{edge-offline-f6a0f761.svg → edge-offline-uschgqgm.svg} +0 -0
- /package/frontend/build/static/{email-1b13db1f.svg → email-9TVW6bxs.svg} +0 -0
- /package/frontend/build/static/{google-4c4465a1.svg → google-Rg4hsLIv.svg} +0 -0
- /package/frontend/build/static/{isenabled-false-85a17190.svg → isenabled-false-cfG0cxg8.svg} +0 -0
- /package/frontend/build/static/{isenabled-true-def895c4.svg → isenabled-true-QEbId32j.svg} +0 -0
- /package/frontend/build/static/{jira-1abe7cbf.svg → jira-JdG6Pbgg.svg} +0 -0
- /package/frontend/build/static/{jira-comment-d9eb9af9.svg → jira-comment-4uboD2FW.svg} +0 -0
- /package/frontend/build/static/{link-child-7239dd72.svg → link-child-b2rNaTp8.svg} +0 -0
- /package/frontend/build/static/{link-parent-29e03412.svg → link-parent-2mtl7FAF.svg} +0 -0
- /package/frontend/build/static/{logo-b574b8c7.svg → logo-aXkSdUlT.svg} +0 -0
- /package/frontend/build/static/{logoBg-3fc9c711.svg → logoBg-w1GxfZYY.svg} +0 -0
- /package/frontend/build/static/{logoDarkWithText-7b7859f1.svg → logoDarkWithText-9CJmQsUT.svg} +0 -0
- /package/frontend/build/static/{logoWhiteBg-dacde9ce.svg → logoWhiteBg-sKFgoO5r.svg} +0 -0
- /package/frontend/build/static/{logoWhiteTransparentHorizontal-32f9c398.svg → logoWhiteTransparentHorizontal-OccVQlof.svg} +0 -0
- /package/frontend/build/static/{logoWithWhiteText-954086cd.svg → logoWithWhiteText-8-1bzjd2.svg} +0 -0
- /package/frontend/build/static/{merge-afa8c386.svg → merge-uyE9K2XR.svg} +0 -0
- /package/frontend/build/static/{mobileGuidanceBg-0cc2cfdc.svg → mobileGuidanceBg-_XUYJ4bI.svg} +0 -0
- /package/frontend/build/static/{pro-enterprise-feature-badge-8ac467c3.svg → pro-enterprise-feature-badge-D2dwX2o5.svg} +0 -0
- /package/frontend/build/static/{pro-enterprise-feature-badge-light-81a18f9b.svg → pro-enterprise-feature-badge-light-JPGefdhP.svg} +0 -0
- /package/frontend/build/static/{projectIcon-0c6827a4.svg → projectIcon-patkU339.svg} +0 -0
- /package/frontend/build/static/{rollout-c922b6e9.svg → rollout-wL0vStZV.svg} +0 -0
- /package/frontend/build/static/{slack-36ce798a.svg → slack-LdHzcD3n.svg} +0 -0
- /package/frontend/build/static/{stars-5e0648cd.svg → stars-uZav8YWv.svg} +0 -0
- /package/frontend/build/static/{style-f10c9ed6.css → style-gSb9cHBe.css} +0 -0
- /package/frontend/build/static/{teams-4e30b51f.svg → teams-70Mfxcwa.svg} +0 -0
- /package/frontend/build/static/{texture-c29e66c0.png → texture-NpzjhzHk.png} +0 -0
- /package/frontend/build/static/{unleash-integration-949d8966.svg → unleash-integration-rcapuVXn.svg} +0 -0
- /package/frontend/build/static/{unleashLogoIconDarkAlpha-de056a82.gif → unleashLogoIconDarkAlpha-W77gtdw3.gif} +0 -0
- /package/frontend/build/static/{usage-line-00d00632.svg → usage-line-R4nA8fmB.svg} +0 -0
- /package/frontend/build/static/{usage-rate-cb18f02b.svg → usage-rate-510IagyJ.svg} +0 -0
- /package/frontend/build/static/{webhooks-b1b44207.svg → webhooks-p7bNIH7i.svg} +0 -0
|
@@ -9,12 +9,13 @@ const permissions_1 = require("../../../lib/types/permissions");
|
|
|
9
9
|
const test_config_1 = require("../../config/test-config");
|
|
10
10
|
const model_1 = require("../../../lib/types/model");
|
|
11
11
|
const random_id_1 = require("../../../lib/util/random-id");
|
|
12
|
-
const environment_service_1 = __importDefault(require("../../../lib/
|
|
12
|
+
const environment_service_1 = __importDefault(require("../../../lib/features/project-environments/environment-service"));
|
|
13
13
|
const incompatible_project_error_1 = __importDefault(require("../../../lib/error/incompatible-project-error"));
|
|
14
14
|
const services_1 = require("../../../lib/services");
|
|
15
15
|
const events_1 = require("../../../lib/types/events");
|
|
16
16
|
const date_fns_1 = require("date-fns");
|
|
17
17
|
const features_1 = require("../../../lib/features");
|
|
18
|
+
const types_1 = require("../../../lib/types");
|
|
18
19
|
let stores;
|
|
19
20
|
let db;
|
|
20
21
|
let projectService;
|
|
@@ -24,6 +25,7 @@ let environmentService;
|
|
|
24
25
|
let featureToggleService;
|
|
25
26
|
let user; // many methods in this test use User instead of IUser
|
|
26
27
|
let group;
|
|
28
|
+
const TEST_USER_ID = -9999;
|
|
27
29
|
const isProjectUser = async (userId, projectName, condition) => {
|
|
28
30
|
expect(await projectService.isProjectUser(userId, projectName)).toBe(condition);
|
|
29
31
|
};
|
|
@@ -41,9 +43,6 @@ beforeAll(async () => {
|
|
|
41
43
|
});
|
|
42
44
|
const config = (0, test_config_1.createTestConfig)({
|
|
43
45
|
getLogger: no_logger_1.default,
|
|
44
|
-
experimental: {
|
|
45
|
-
flags: { privateProjects: true },
|
|
46
|
-
},
|
|
47
46
|
});
|
|
48
47
|
eventService = new services_1.EventService(stores, config);
|
|
49
48
|
accessService = (0, features_1.createAccessService)(db.rawDatabase, config);
|
|
@@ -143,6 +142,7 @@ test('should not be able to delete project with toggles', async () => {
|
|
|
143
142
|
await projectService.createProject(project, user);
|
|
144
143
|
await stores.featureToggleStore.create(project.id, {
|
|
145
144
|
name: 'test-project-delete',
|
|
145
|
+
createdByUserId: 9999,
|
|
146
146
|
});
|
|
147
147
|
try {
|
|
148
148
|
await projectService.deleteProject(project.id, user);
|
|
@@ -376,7 +376,7 @@ test('should remove user from the project', async () => {
|
|
|
376
376
|
});
|
|
377
377
|
const memberRole = await stores.roleStore.getRoleByName(model_1.RoleName.MEMBER);
|
|
378
378
|
await projectService.addUser(project.id, memberRole.id, projectMember1.id, 'test');
|
|
379
|
-
await projectService.removeUser(project.id, memberRole.id, projectMember1.id, 'test');
|
|
379
|
+
await projectService.removeUser(project.id, memberRole.id, projectMember1.id, 'test', TEST_USER_ID);
|
|
380
380
|
const { users } = await projectService.getAccessToProject(project.id);
|
|
381
381
|
const memberUsers = users.filter((u) => u.roleId === memberRole.id);
|
|
382
382
|
expect(memberUsers).toHaveLength(0);
|
|
@@ -391,7 +391,7 @@ test('should not change project if feature toggle project does not match current
|
|
|
391
391
|
};
|
|
392
392
|
const toggle = { name: 'test-toggle' };
|
|
393
393
|
await projectService.createProject(project, user);
|
|
394
|
-
await featureToggleService.createFeatureToggle(project.id, toggle, user.email);
|
|
394
|
+
await featureToggleService.createFeatureToggle(project.id, toggle, user.email, TEST_USER_ID);
|
|
395
395
|
try {
|
|
396
396
|
await projectService.changeProject('newProject', toggle.name, user, 'wrong-project-id');
|
|
397
397
|
}
|
|
@@ -410,7 +410,7 @@ test('should return 404 if no project is found with the project id', async () =>
|
|
|
410
410
|
};
|
|
411
411
|
const toggle = { name: 'test-toggle-2' };
|
|
412
412
|
await projectService.createProject(project, user);
|
|
413
|
-
await featureToggleService.createFeatureToggle(project.id, toggle, user.email);
|
|
413
|
+
await featureToggleService.createFeatureToggle(project.id, toggle, user.email, TEST_USER_ID);
|
|
414
414
|
try {
|
|
415
415
|
await projectService.changeProject('newProject', toggle.name, user, project.id);
|
|
416
416
|
}
|
|
@@ -440,7 +440,7 @@ test('should fail if user is not authorized', async () => {
|
|
|
440
440
|
});
|
|
441
441
|
await projectService.createProject(project, user);
|
|
442
442
|
await projectService.createProject(projectDestination, projectAdmin1);
|
|
443
|
-
await featureToggleService.createFeatureToggle(project.id, toggle, user.email);
|
|
443
|
+
await featureToggleService.createFeatureToggle(project.id, toggle, user.email, TEST_USER_ID);
|
|
444
444
|
try {
|
|
445
445
|
await projectService.changeProject(projectDestination.id, toggle.name, user, project.id);
|
|
446
446
|
}
|
|
@@ -465,7 +465,7 @@ test('should change project when checks pass', async () => {
|
|
|
465
465
|
const toggle = { name: (0, random_id_1.randomId)() };
|
|
466
466
|
await projectService.createProject(projectA, user);
|
|
467
467
|
await projectService.createProject(projectB, user);
|
|
468
|
-
await featureToggleService.createFeatureToggle(projectA.id, toggle, user.email);
|
|
468
|
+
await featureToggleService.createFeatureToggle(projectA.id, toggle, user.email, TEST_USER_ID);
|
|
469
469
|
await projectService.changeProject(projectB.id, toggle.name, user, projectA.id);
|
|
470
470
|
const updatedFeature = await featureToggleService.getFeature({
|
|
471
471
|
featureName: toggle.name,
|
|
@@ -488,7 +488,7 @@ test('changing project should emit event even if user does not have a username s
|
|
|
488
488
|
const toggle = { name: (0, random_id_1.randomId)() };
|
|
489
489
|
await projectService.createProject(projectA, user);
|
|
490
490
|
await projectService.createProject(projectB, user);
|
|
491
|
-
await featureToggleService.createFeatureToggle(projectA.id, toggle, user.email);
|
|
491
|
+
await featureToggleService.createFeatureToggle(projectA.id, toggle, user.email, TEST_USER_ID);
|
|
492
492
|
const eventsBeforeChange = await stores.eventStore.getEvents();
|
|
493
493
|
await projectService.changeProject(projectB.id, toggle.name, user, projectA.id);
|
|
494
494
|
const eventsAfterChange = await stores.eventStore.getEvents();
|
|
@@ -511,9 +511,9 @@ test('should require equal project environments to move features', async () => {
|
|
|
511
511
|
const toggle = { name: (0, random_id_1.randomId)() };
|
|
512
512
|
await projectService.createProject(projectA, user);
|
|
513
513
|
await projectService.createProject(projectB, user);
|
|
514
|
-
await featureToggleService.createFeatureToggle(projectA.id, toggle, user.email);
|
|
514
|
+
await featureToggleService.createFeatureToggle(projectA.id, toggle, user.email, TEST_USER_ID);
|
|
515
515
|
await stores.environmentStore.create(environment);
|
|
516
|
-
await environmentService.addEnvironmentToProject(environment.name, projectB.id);
|
|
516
|
+
await environmentService.addEnvironmentToProject(environment.name, projectB.id, 'test', TEST_USER_ID);
|
|
517
517
|
await expect(() => projectService.changeProject(projectB.id, toggle.name, user, projectA.id)).rejects.toThrowError(incompatible_project_error_1.default);
|
|
518
518
|
});
|
|
519
519
|
test('A newly created project only gets connected to enabled environments', async () => {
|
|
@@ -607,6 +607,7 @@ test('should add a user to the project with a custom role', async () => {
|
|
|
607
607
|
id: 8, // DELETE_FEATURE
|
|
608
608
|
},
|
|
609
609
|
],
|
|
610
|
+
createdByUserId: types_1.SYSTEM_USER_ID,
|
|
610
611
|
});
|
|
611
612
|
await projectService.addUser(project.id, customRole.id, projectMember1.id, 'test');
|
|
612
613
|
const { users } = await projectService.getAccessToProject(project.id);
|
|
@@ -643,6 +644,7 @@ test('should delete role entries when deleting project', async () => {
|
|
|
643
644
|
id: 8, // DELETE_FEATURE
|
|
644
645
|
},
|
|
645
646
|
],
|
|
647
|
+
createdByUserId: types_1.SYSTEM_USER_ID,
|
|
646
648
|
});
|
|
647
649
|
await projectService.addUser(project.id, customRole.id, user1.id, 'test');
|
|
648
650
|
await projectService.addUser(project.id, customRole.id, user2.id, 'test');
|
|
@@ -676,6 +678,7 @@ test('should change a users role in the project', async () => {
|
|
|
676
678
|
id: 8, // DELETE_FEATURE
|
|
677
679
|
},
|
|
678
680
|
],
|
|
681
|
+
createdByUserId: types_1.SYSTEM_USER_ID,
|
|
679
682
|
});
|
|
680
683
|
const member = await stores.roleStore.getRoleByName(model_1.RoleName.MEMBER);
|
|
681
684
|
await projectService.addUser(project.id, member.id, projectUser.id, 'test');
|
|
@@ -684,7 +687,7 @@ test('should change a users role in the project', async () => {
|
|
|
684
687
|
expect(memberUser).toHaveLength(1);
|
|
685
688
|
expect(memberUser[0].id).toBe(projectUser.id);
|
|
686
689
|
expect(memberUser[0].name).toBe(projectUser.name);
|
|
687
|
-
await projectService.removeUser(project.id, member.id, projectUser.id, 'test');
|
|
690
|
+
await projectService.removeUser(project.id, member.id, projectUser.id, 'test', TEST_USER_ID);
|
|
688
691
|
await projectService.addUser(project.id, customRole.id, projectUser.id, 'test');
|
|
689
692
|
const { users: updatedUsers } = await projectService.getAccessToProject(project.id);
|
|
690
693
|
const customUser = updatedUsers.filter((u) => u.roleId === customRole.id);
|
|
@@ -708,7 +711,7 @@ test('should update role for user on project', async () => {
|
|
|
708
711
|
const memberRole = await stores.roleStore.getRoleByName(model_1.RoleName.MEMBER);
|
|
709
712
|
const ownerRole = await stores.roleStore.getRoleByName(model_1.RoleName.OWNER);
|
|
710
713
|
await projectService.addUser(project.id, memberRole.id, projectMember1.id, 'test');
|
|
711
|
-
await projectService.changeRole(project.id, ownerRole.id, projectMember1.id, 'test');
|
|
714
|
+
await projectService.changeRole(project.id, ownerRole.id, projectMember1.id, 'test', TEST_USER_ID);
|
|
712
715
|
const { users } = await projectService.getAccessToProject(project.id);
|
|
713
716
|
const memberUsers = users.filter((u) => u.roleId === memberRole.id);
|
|
714
717
|
const ownerUsers = users.filter((u) => u.roleId === ownerRole.id);
|
|
@@ -735,7 +738,7 @@ test('should able to assign role without existing members', async () => {
|
|
|
735
738
|
});
|
|
736
739
|
const memberRole = await stores.roleStore.getRoleByName(model_1.RoleName.MEMBER);
|
|
737
740
|
await projectService.addUser(project.id, memberRole.id, projectMember1.id, 'test');
|
|
738
|
-
await projectService.changeRole(project.id, testRole.id, projectMember1.id, 'test');
|
|
741
|
+
await projectService.changeRole(project.id, testRole.id, projectMember1.id, 'test', TEST_USER_ID);
|
|
739
742
|
const { users } = await projectService.getAccessToProject(project.id);
|
|
740
743
|
const memberUsers = users.filter((u) => u.roleId === memberRole.id);
|
|
741
744
|
const testUsers = users.filter((u) => u.roleId === testRole.id);
|
|
@@ -755,10 +758,10 @@ describe('ensure project has at least one owner', () => {
|
|
|
755
758
|
const roles = await stores.roleStore.getRolesForProject(project.id);
|
|
756
759
|
const ownerRole = roles.find((r) => r.name === model_1.RoleName.OWNER);
|
|
757
760
|
await expect(async () => {
|
|
758
|
-
await projectService.removeUser(project.id, ownerRole.id, user.id, 'test');
|
|
761
|
+
await projectService.removeUser(project.id, ownerRole.id, user.id, 'test', TEST_USER_ID);
|
|
759
762
|
}).rejects.toThrowError(new Error('A project must have at least one owner'));
|
|
760
763
|
await expect(async () => {
|
|
761
|
-
await projectService.removeUserAccess(project.id, user.id, 'test');
|
|
764
|
+
await projectService.removeUserAccess(project.id, user.id, 'test', TEST_USER_ID);
|
|
762
765
|
}).rejects.toThrowError(new Error('A project must have at least one owner'));
|
|
763
766
|
});
|
|
764
767
|
test('should be able to remove member user from the project when another is owner', async () => {
|
|
@@ -775,9 +778,9 @@ describe('ensure project has at least one owner', () => {
|
|
|
775
778
|
name: 'Some Name',
|
|
776
779
|
email: 'member@getunleash.io',
|
|
777
780
|
});
|
|
778
|
-
await projectService.addAccess(project.id, [memberRole.id], [], [memberUser.id], 'test');
|
|
781
|
+
await projectService.addAccess(project.id, [memberRole.id], [], [memberUser.id], 'test', TEST_USER_ID);
|
|
779
782
|
const usersBefore = await projectService.getProjectUsers(project.id);
|
|
780
|
-
await projectService.removeUserAccess(project.id, memberUser.id, 'test');
|
|
783
|
+
await projectService.removeUserAccess(project.id, memberUser.id, 'test', TEST_USER_ID);
|
|
781
784
|
const usersAfter = await projectService.getProjectUsers(project.id);
|
|
782
785
|
expect(usersBefore).toHaveLength(2);
|
|
783
786
|
expect(usersAfter).toHaveLength(1);
|
|
@@ -798,10 +801,10 @@ describe('ensure project has at least one owner', () => {
|
|
|
798
801
|
const memberRole = await stores.roleStore.getRoleByName(model_1.RoleName.MEMBER);
|
|
799
802
|
await projectService.addUser(project.id, memberRole.id, projectMember1.id, 'test');
|
|
800
803
|
await expect(async () => {
|
|
801
|
-
await projectService.changeRole(project.id, memberRole.id, user.id, 'test');
|
|
804
|
+
await projectService.changeRole(project.id, memberRole.id, user.id, 'test', TEST_USER_ID);
|
|
802
805
|
}).rejects.toThrowError(new Error('A project must have at least one owner'));
|
|
803
806
|
await expect(async () => {
|
|
804
|
-
await projectService.setRolesForUser(project.id, user.id, [memberRole.id], 'test');
|
|
807
|
+
await projectService.setRolesForUser(project.id, user.id, [memberRole.id], 'test', TEST_USER_ID);
|
|
805
808
|
}).rejects.toThrowError(new Error('A project must have at least one owner'));
|
|
806
809
|
});
|
|
807
810
|
async function projectWithGroupOwner(projectId) {
|
|
@@ -815,10 +818,10 @@ describe('ensure project has at least one owner', () => {
|
|
|
815
818
|
await projectService.createProject(project, user);
|
|
816
819
|
const roles = await stores.roleStore.getRolesForProject(project.id);
|
|
817
820
|
const ownerRole = roles.find((r) => r.name === model_1.RoleName.OWNER);
|
|
818
|
-
await projectService.addGroup(project.id, ownerRole.id, group.id, 'test');
|
|
821
|
+
await projectService.addGroup(project.id, ownerRole.id, group.id, 'test', TEST_USER_ID);
|
|
819
822
|
// this should be fine, leaving the group as the only owner
|
|
820
823
|
// note group has zero members, but it still acts as an owner
|
|
821
|
-
await projectService.removeUser(project.id, ownerRole.id, user.id, 'test');
|
|
824
|
+
await projectService.removeUser(project.id, ownerRole.id, user.id, 'test', TEST_USER_ID);
|
|
822
825
|
return {
|
|
823
826
|
project,
|
|
824
827
|
group,
|
|
@@ -828,20 +831,20 @@ describe('ensure project has at least one owner', () => {
|
|
|
828
831
|
test('should not remove group from the project', async () => {
|
|
829
832
|
const { project, group, ownerRole } = await projectWithGroupOwner('remove-group-not-allowed');
|
|
830
833
|
await expect(async () => {
|
|
831
|
-
await projectService.removeGroup(project.id, ownerRole.id, group.id, 'test');
|
|
834
|
+
await projectService.removeGroup(project.id, ownerRole.id, group.id, 'test', TEST_USER_ID);
|
|
832
835
|
}).rejects.toThrowError(new Error('A project must have at least one owner'));
|
|
833
836
|
await expect(async () => {
|
|
834
|
-
await projectService.removeGroupAccess(project.id, group.id, 'test');
|
|
837
|
+
await projectService.removeGroupAccess(project.id, group.id, 'test', TEST_USER_ID);
|
|
835
838
|
}).rejects.toThrowError(new Error('A project must have at least one owner'));
|
|
836
839
|
});
|
|
837
840
|
test('should not update role for group on project when she is the owner', async () => {
|
|
838
841
|
const { project, group } = await projectWithGroupOwner('update-group-not-allowed');
|
|
839
842
|
const memberRole = await stores.roleStore.getRoleByName(model_1.RoleName.MEMBER);
|
|
840
843
|
await expect(async () => {
|
|
841
|
-
await projectService.changeGroupRole(project.id, memberRole.id, group.id, 'test');
|
|
844
|
+
await projectService.changeGroupRole(project.id, memberRole.id, group.id, 'test', TEST_USER_ID);
|
|
842
845
|
}).rejects.toThrowError(new Error('A project must have at least one owner'));
|
|
843
846
|
await expect(async () => {
|
|
844
|
-
await projectService.setRolesForGroup(project.id, group.id, [memberRole.id], 'test');
|
|
847
|
+
await projectService.setRolesForGroup(project.id, group.id, [memberRole.id], 'test', TEST_USER_ID);
|
|
845
848
|
}).rejects.toThrowError(new Error('A project must have at least one owner'));
|
|
846
849
|
});
|
|
847
850
|
});
|
|
@@ -870,8 +873,9 @@ test('Should allow bulk update of group permissions', async () => {
|
|
|
870
873
|
id: 2, // CREATE_FEATURE
|
|
871
874
|
},
|
|
872
875
|
],
|
|
876
|
+
createdByUserId: types_1.SYSTEM_USER_ID,
|
|
873
877
|
});
|
|
874
|
-
await projectService.addAccess(project.id, [createFeatureRole.id], [group1.id], [user1.id], 'some-admin-user');
|
|
878
|
+
await projectService.addAccess(project.id, [createFeatureRole.id], [group1.id], [user1.id], 'some-admin-user', TEST_USER_ID);
|
|
875
879
|
});
|
|
876
880
|
test('Should bulk update of only users', async () => {
|
|
877
881
|
const project = 'bulk-update-project-users';
|
|
@@ -887,8 +891,9 @@ test('Should bulk update of only users', async () => {
|
|
|
887
891
|
id: 2, // CREATE_FEATURE
|
|
888
892
|
},
|
|
889
893
|
],
|
|
894
|
+
createdByUserId: types_1.SYSTEM_USER_ID,
|
|
890
895
|
});
|
|
891
|
-
await projectService.addAccess(project, [createFeatureRole.id], [], [user1.id], 'some-admin-user');
|
|
896
|
+
await projectService.addAccess(project, [createFeatureRole.id], [], [user1.id], 'some-admin-user', TEST_USER_ID);
|
|
892
897
|
});
|
|
893
898
|
test('Should allow bulk update of only groups', async () => {
|
|
894
899
|
const project = {
|
|
@@ -911,8 +916,9 @@ test('Should allow bulk update of only groups', async () => {
|
|
|
911
916
|
id: 2, // CREATE_FEATURE
|
|
912
917
|
},
|
|
913
918
|
],
|
|
919
|
+
createdByUserId: types_1.SYSTEM_USER_ID,
|
|
914
920
|
});
|
|
915
|
-
await projectService.addAccess(project.id, [createFeatureRole.id], [group1.id], [], 'some-admin-user');
|
|
921
|
+
await projectService.addAccess(project.id, [createFeatureRole.id], [group1.id], [], 'some-admin-user', TEST_USER_ID);
|
|
916
922
|
});
|
|
917
923
|
test('Should allow permutations of roles, groups and users when adding a new access', async () => {
|
|
918
924
|
const project = {
|
|
@@ -946,6 +952,7 @@ test('Should allow permutations of roles, groups and users when adding a new acc
|
|
|
946
952
|
id: 2, // CREATE_FEATURE
|
|
947
953
|
},
|
|
948
954
|
],
|
|
955
|
+
createdByUserId: types_1.SYSTEM_USER_ID,
|
|
949
956
|
});
|
|
950
957
|
const role2 = await accessService.createRole({
|
|
951
958
|
name: 'permutation-role-2',
|
|
@@ -955,8 +962,9 @@ test('Should allow permutations of roles, groups and users when adding a new acc
|
|
|
955
962
|
id: 7, // UPDATE_FEATURE
|
|
956
963
|
},
|
|
957
964
|
],
|
|
965
|
+
createdByUserId: types_1.SYSTEM_USER_ID,
|
|
958
966
|
});
|
|
959
|
-
await projectService.addAccess(project.id, [role1.id, role2.id], [group1.id, group2.id], [user1.id, user2.id], 'some-admin-user');
|
|
967
|
+
await projectService.addAccess(project.id, [role1.id, role2.id], [group1.id, group2.id], [user1.id, user2.id], 'some-admin-user', TEST_USER_ID);
|
|
960
968
|
const { users, groups } = await projectService.getAccessToProject(project.id);
|
|
961
969
|
const ownerRole = await stores.roleStore.getRoleByName(model_1.RoleName.OWNER);
|
|
962
970
|
expect(users).toHaveLength(3); // the 2 added plus the one that created the project
|
|
@@ -976,9 +984,11 @@ test('should only count active feature toggles for project', async () => {
|
|
|
976
984
|
await projectService.createProject(project, user);
|
|
977
985
|
await stores.featureToggleStore.create(project.id, {
|
|
978
986
|
name: 'only-active-t1',
|
|
987
|
+
createdByUserId: 9999,
|
|
979
988
|
});
|
|
980
989
|
await stores.featureToggleStore.create(project.id, {
|
|
981
990
|
name: 'only-active-t2',
|
|
991
|
+
createdByUserId: 9999,
|
|
982
992
|
});
|
|
983
993
|
await featureToggleService.archiveToggle('only-active-t2', user);
|
|
984
994
|
const projects = await projectService.getProjects();
|
|
@@ -996,6 +1006,7 @@ test('should list projects with all features archived', async () => {
|
|
|
996
1006
|
await projectService.createProject(project, user);
|
|
997
1007
|
await stores.featureToggleStore.create(project.id, {
|
|
998
1008
|
name: 'archived-toggle',
|
|
1009
|
+
createdByUserId: 9999,
|
|
999
1010
|
});
|
|
1000
1011
|
await featureToggleService.archiveToggle('archived-toggle', user);
|
|
1001
1012
|
const projects = await projectService.getProjects();
|
|
@@ -1030,7 +1041,7 @@ test('should calculate average time to production', async () => {
|
|
|
1030
1041
|
{ name: 'average-prod-time-5' },
|
|
1031
1042
|
];
|
|
1032
1043
|
const featureToggles = await Promise.all(toggles.map((toggle) => {
|
|
1033
|
-
return featureToggleService.createFeatureToggle(project.id, toggle, user.email);
|
|
1044
|
+
return featureToggleService.createFeatureToggle(project.id, toggle, user.email, TEST_USER_ID);
|
|
1034
1045
|
}));
|
|
1035
1046
|
await Promise.all(featureToggles.map((toggle) => {
|
|
1036
1047
|
return eventService.storeEvent(new events_1.FeatureEnvironmentEvent({
|
|
@@ -1039,6 +1050,7 @@ test('should calculate average time to production', async () => {
|
|
|
1039
1050
|
featureName: toggle.name,
|
|
1040
1051
|
environment: 'default',
|
|
1041
1052
|
createdBy: 'Fredrik',
|
|
1053
|
+
createdByUserId: TEST_USER_ID,
|
|
1042
1054
|
}));
|
|
1043
1055
|
}));
|
|
1044
1056
|
await updateEventCreatedAt((0, date_fns_1.subDays)(new Date(), 31), 'average-prod-time-5');
|
|
@@ -1062,6 +1074,7 @@ test('should calculate average time to production ignoring some items', async ()
|
|
|
1062
1074
|
featureName,
|
|
1063
1075
|
environment: 'default',
|
|
1064
1076
|
createdBy: 'Fredrik',
|
|
1077
|
+
createdByUserId: TEST_USER_ID,
|
|
1065
1078
|
tags: [],
|
|
1066
1079
|
});
|
|
1067
1080
|
await projectService.createProject(project, user);
|
|
@@ -1069,10 +1082,10 @@ test('should calculate average time to production ignoring some items', async ()
|
|
|
1069
1082
|
name: 'customEnv',
|
|
1070
1083
|
type: 'development',
|
|
1071
1084
|
});
|
|
1072
|
-
await environmentService.addEnvironmentToProject('customEnv', project.id);
|
|
1085
|
+
await environmentService.addEnvironmentToProject('customEnv', project.id, types_1.SYSTEM_USER.username, types_1.SYSTEM_USER.id);
|
|
1073
1086
|
// actual toggle we take for calculations
|
|
1074
1087
|
const toggle = { name: 'main-toggle' };
|
|
1075
|
-
await featureToggleService.createFeatureToggle(project.id, toggle, user.email);
|
|
1088
|
+
await featureToggleService.createFeatureToggle(project.id, toggle, user.email, TEST_USER_ID);
|
|
1076
1089
|
await updateFeature(toggle.name, {
|
|
1077
1090
|
created_at: (0, date_fns_1.subDays)(new Date(), 20),
|
|
1078
1091
|
});
|
|
@@ -1082,22 +1095,22 @@ test('should calculate average time to production ignoring some items', async ()
|
|
|
1082
1095
|
await eventService.storeEvent(new events_1.FeatureEnvironmentEvent(makeEvent(toggle.name)));
|
|
1083
1096
|
// ignore toggles enabled in non-prod envs
|
|
1084
1097
|
const devToggle = { name: 'dev-toggle' };
|
|
1085
|
-
await featureToggleService.createFeatureToggle(project.id, devToggle, user.email);
|
|
1098
|
+
await featureToggleService.createFeatureToggle(project.id, devToggle, user.email, TEST_USER_ID);
|
|
1086
1099
|
await eventService.storeEvent(new events_1.FeatureEnvironmentEvent({
|
|
1087
1100
|
...makeEvent(devToggle.name),
|
|
1088
1101
|
environment: 'customEnv',
|
|
1089
1102
|
}));
|
|
1090
1103
|
// ignore toggles from other projects
|
|
1091
1104
|
const otherProjectToggle = { name: 'other-project' };
|
|
1092
|
-
await featureToggleService.createFeatureToggle('default', otherProjectToggle, user.email);
|
|
1105
|
+
await featureToggleService.createFeatureToggle('default', otherProjectToggle, user.email, TEST_USER_ID);
|
|
1093
1106
|
await eventService.storeEvent(new events_1.FeatureEnvironmentEvent(makeEvent(otherProjectToggle.name)));
|
|
1094
1107
|
// ignore non-release toggles
|
|
1095
1108
|
const nonReleaseToggle = { name: 'permission-toggle', type: 'permission' };
|
|
1096
|
-
await featureToggleService.createFeatureToggle(project.id, nonReleaseToggle, user.email);
|
|
1109
|
+
await featureToggleService.createFeatureToggle(project.id, nonReleaseToggle, user.email, TEST_USER_ID);
|
|
1097
1110
|
await eventService.storeEvent(new events_1.FeatureEnvironmentEvent(makeEvent(nonReleaseToggle.name)));
|
|
1098
1111
|
// ignore toggles with events before toggle creation time
|
|
1099
1112
|
const previouslyDeleteToggle = { name: 'previously-deleted' };
|
|
1100
|
-
await featureToggleService.createFeatureToggle(project.id, previouslyDeleteToggle, user.email);
|
|
1113
|
+
await featureToggleService.createFeatureToggle(project.id, previouslyDeleteToggle, user.email, TEST_USER_ID);
|
|
1101
1114
|
await eventService.storeEvent(new events_1.FeatureEnvironmentEvent(makeEvent(previouslyDeleteToggle.name)));
|
|
1102
1115
|
await updateEventCreatedAt((0, date_fns_1.subDays)(new Date(), 30), previouslyDeleteToggle.name);
|
|
1103
1116
|
const result = await projectService.getStatusUpdates(project.id);
|
|
@@ -1118,7 +1131,7 @@ test('should get correct amount of features created in current and past window',
|
|
|
1118
1131
|
{ name: 'features-created-4' },
|
|
1119
1132
|
];
|
|
1120
1133
|
await Promise.all(toggles.map((toggle) => {
|
|
1121
|
-
return featureToggleService.createFeatureToggle(project.id, toggle, user.email);
|
|
1134
|
+
return featureToggleService.createFeatureToggle(project.id, toggle, user.email, TEST_USER_ID);
|
|
1122
1135
|
}));
|
|
1123
1136
|
await Promise.all([
|
|
1124
1137
|
updateFeature(toggles[2].name, { created_at: (0, date_fns_1.subDays)(new Date(), 31) }),
|
|
@@ -1143,7 +1156,7 @@ test('should get correct amount of features archived in current and past window'
|
|
|
1143
1156
|
{ name: 'features-archived-4' },
|
|
1144
1157
|
];
|
|
1145
1158
|
await Promise.all(toggles.map((toggle) => {
|
|
1146
|
-
return featureToggleService.createFeatureToggle(project.id, toggle, user.email);
|
|
1159
|
+
return featureToggleService.createFeatureToggle(project.id, toggle, user.email, TEST_USER_ID);
|
|
1147
1160
|
}));
|
|
1148
1161
|
await Promise.all([
|
|
1149
1162
|
updateFeature(toggles[0].name, {
|
|
@@ -1206,7 +1219,7 @@ test('should return average time to production per toggle', async () => {
|
|
|
1206
1219
|
{ name: 'average-prod-time-pt-5', subdays: 2 },
|
|
1207
1220
|
];
|
|
1208
1221
|
const featureToggles = await Promise.all(toggles.map((toggle) => {
|
|
1209
|
-
return featureToggleService.createFeatureToggle(project.id, toggle, user.email);
|
|
1222
|
+
return featureToggleService.createFeatureToggle(project.id, toggle, user.email, TEST_USER_ID);
|
|
1210
1223
|
}));
|
|
1211
1224
|
await Promise.all(featureToggles.map((toggle) => {
|
|
1212
1225
|
return eventService.storeEvent(new events_1.FeatureEnvironmentEvent({
|
|
@@ -1215,6 +1228,7 @@ test('should return average time to production per toggle', async () => {
|
|
|
1215
1228
|
featureName: toggle.name,
|
|
1216
1229
|
environment: 'default',
|
|
1217
1230
|
createdBy: 'Fredrik',
|
|
1231
|
+
createdByUserId: TEST_USER_ID,
|
|
1218
1232
|
}));
|
|
1219
1233
|
}));
|
|
1220
1234
|
await Promise.all(toggles.map((toggle) => updateFeature(toggle.name, {
|
|
@@ -1250,10 +1264,10 @@ test('should return average time to production per toggle for a specific project
|
|
|
1250
1264
|
{ name: 'average-prod-time-pt-14', subdays: 2 },
|
|
1251
1265
|
];
|
|
1252
1266
|
const featureTogglesProject1 = await Promise.all(togglesProject1.map((toggle) => {
|
|
1253
|
-
return featureToggleService.createFeatureToggle(project1.id, toggle, user.email);
|
|
1267
|
+
return featureToggleService.createFeatureToggle(project1.id, toggle, user.email, TEST_USER_ID);
|
|
1254
1268
|
}));
|
|
1255
1269
|
const featureTogglesProject2 = await Promise.all(togglesProject2.map((toggle) => {
|
|
1256
|
-
return featureToggleService.createFeatureToggle(project2.id, toggle, user.email);
|
|
1270
|
+
return featureToggleService.createFeatureToggle(project2.id, toggle, user.email, TEST_USER_ID);
|
|
1257
1271
|
}));
|
|
1258
1272
|
await Promise.all(featureTogglesProject1.map((toggle) => {
|
|
1259
1273
|
return eventService.storeEvent(new events_1.FeatureEnvironmentEvent({
|
|
@@ -1262,6 +1276,7 @@ test('should return average time to production per toggle for a specific project
|
|
|
1262
1276
|
featureName: toggle.name,
|
|
1263
1277
|
environment: 'default',
|
|
1264
1278
|
createdBy: 'Fredrik',
|
|
1279
|
+
createdByUserId: TEST_USER_ID,
|
|
1265
1280
|
}));
|
|
1266
1281
|
}));
|
|
1267
1282
|
await Promise.all(featureTogglesProject2.map((toggle) => {
|
|
@@ -1271,6 +1286,7 @@ test('should return average time to production per toggle for a specific project
|
|
|
1271
1286
|
featureName: toggle.name,
|
|
1272
1287
|
environment: 'default',
|
|
1273
1288
|
createdBy: 'Fredrik',
|
|
1289
|
+
createdByUserId: TEST_USER_ID,
|
|
1274
1290
|
}));
|
|
1275
1291
|
}));
|
|
1276
1292
|
await Promise.all(togglesProject1.map((toggle) => updateFeature(toggle.name, {
|
|
@@ -1298,7 +1314,7 @@ test('should return average time to production per toggle and include archived t
|
|
|
1298
1314
|
{ name: 'average-prod-time-pta-12', subdays: 40 },
|
|
1299
1315
|
];
|
|
1300
1316
|
const featureTogglesProject1 = await Promise.all(togglesProject1.map((toggle) => {
|
|
1301
|
-
return featureToggleService.createFeatureToggle(project1.id, toggle, user.email);
|
|
1317
|
+
return featureToggleService.createFeatureToggle(project1.id, toggle, user.email, TEST_USER_ID);
|
|
1302
1318
|
}));
|
|
1303
1319
|
await Promise.all(featureTogglesProject1.map((toggle) => {
|
|
1304
1320
|
return eventService.storeEvent(new events_1.FeatureEnvironmentEvent({
|
|
@@ -1307,6 +1323,7 @@ test('should return average time to production per toggle and include archived t
|
|
|
1307
1323
|
featureName: toggle.name,
|
|
1308
1324
|
environment: 'default',
|
|
1309
1325
|
createdBy: 'Fredrik',
|
|
1326
|
+
createdByUserId: TEST_USER_ID,
|
|
1310
1327
|
}));
|
|
1311
1328
|
}));
|
|
1312
1329
|
await Promise.all(togglesProject1.map((toggle) => updateFeature(toggle.name, {
|
|
@@ -1362,6 +1379,7 @@ test('deleting a project with archived toggles should result in any remaining ar
|
|
|
1362
1379
|
await projectService.createProject(project, user);
|
|
1363
1380
|
await stores.featureToggleStore.create(project.id, {
|
|
1364
1381
|
name: toggleName,
|
|
1382
|
+
createdByUserId: 9999,
|
|
1365
1383
|
});
|
|
1366
1384
|
await stores.featureToggleStore.archive(toggleName);
|
|
1367
1385
|
await projectService.deleteProject(project.id, user);
|