unleash-server 5.4.3 → 5.5.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 +5 -3
- package/dist/lib/addons/addon-schema.js +2 -1
- package/dist/lib/addons/addon-schema.js.map +1 -1
- package/dist/lib/addons/datadog-definition.js +22 -7
- package/dist/lib/addons/datadog-definition.js.map +1 -1
- package/dist/lib/addons/datadog.d.ts +7 -1
- package/dist/lib/addons/datadog.js +16 -3
- package/dist/lib/addons/datadog.js.map +1 -1
- package/dist/lib/addons/datadog.test.js +62 -0
- package/dist/lib/addons/datadog.test.js.map +1 -1
- package/dist/lib/addons/index.js +3 -11
- package/dist/lib/addons/index.js.map +1 -1
- package/dist/lib/addons/slack-app-definition.js +5 -24
- package/dist/lib/addons/slack-app-definition.js.map +1 -1
- package/dist/lib/addons/slack-app.d.ts +0 -1
- package/dist/lib/addons/slack-app.js +5 -17
- package/dist/lib/addons/slack-app.js.map +1 -1
- package/dist/lib/addons/slack-app.test.js +39 -25
- package/dist/lib/addons/slack-app.test.js.map +1 -1
- package/dist/lib/addons/slack-definition.js +11 -4
- package/dist/lib/addons/slack-definition.js.map +1 -1
- package/dist/lib/addons/teams-definition.js +5 -4
- package/dist/lib/addons/teams-definition.js.map +1 -1
- package/dist/lib/addons/webhook-definition.js +10 -12
- package/dist/lib/addons/webhook-definition.js.map +1 -1
- package/dist/lib/create-config.js +13 -1
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/create-config.test.js +14 -0
- package/dist/lib/create-config.test.js.map +1 -1
- package/dist/lib/db/access-store.d.ts +23 -5
- package/dist/lib/db/access-store.js +263 -17
- package/dist/lib/db/access-store.js.map +1 -1
- package/dist/lib/db/access-store.test.js +83 -0
- package/dist/lib/db/access-store.test.js.map +1 -0
- package/dist/lib/db/client-applications-store.d.ts +1 -3
- package/dist/lib/db/client-applications-store.js +13 -24
- package/dist/lib/db/client-applications-store.js.map +1 -1
- package/dist/lib/db/event-store.js +1 -0
- package/dist/lib/db/event-store.js.map +1 -1
- package/dist/lib/db/feature-toggle-client-store.js +17 -4
- package/dist/lib/db/feature-toggle-client-store.js.map +1 -1
- package/dist/lib/db/feature-toggle-store.js +1 -1
- package/dist/lib/db/feature-toggle-store.js.map +1 -1
- package/dist/lib/db/group-store.d.ts +4 -2
- package/dist/lib/db/group-store.js +24 -0
- package/dist/lib/db/group-store.js.map +1 -1
- package/dist/lib/db/index.d.ts +1 -2
- package/dist/lib/db/index.js +5 -1
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/db/project-stats-store.d.ts +2 -0
- package/dist/lib/db/project-stats-store.js +27 -0
- package/dist/lib/db/project-stats-store.js.map +1 -1
- package/dist/lib/db/project-store.d.ts +7 -1
- package/dist/lib/db/project-store.js +34 -1
- package/dist/lib/db/project-store.js.map +1 -1
- package/dist/lib/error/bad-data-error.d.ts +1 -1
- package/dist/lib/error/index.d.ts +2 -1
- package/dist/lib/error/index.js +3 -1
- package/dist/lib/error/index.js.map +1 -1
- package/dist/lib/error/pattern-error.d.ts +10 -0
- package/dist/lib/error/pattern-error.js +20 -0
- package/dist/lib/error/pattern-error.js.map +1 -0
- package/dist/lib/features/dependent-features/createDependentFeaturesService.d.ts +3 -0
- package/dist/lib/features/dependent-features/createDependentFeaturesService.js +11 -0
- package/dist/lib/features/dependent-features/createDependentFeaturesService.js.map +1 -0
- package/dist/lib/features/dependent-features/dependent-features-controller.d.ts +28 -0
- package/dist/lib/features/dependent-features/dependent-features-controller.js +151 -0
- package/dist/lib/features/dependent-features/dependent-features-controller.js.map +1 -0
- package/dist/lib/features/dependent-features/dependent-features-service.d.ts +11 -0
- package/dist/lib/features/dependent-features/dependent-features-service.js +40 -0
- package/dist/lib/features/dependent-features/dependent-features-service.js.map +1 -0
- package/dist/lib/features/dependent-features/dependent-features-store-type.d.ts +8 -0
- package/dist/lib/features/dependent-features/dependent-features-store-type.js +3 -0
- package/dist/lib/features/dependent-features/dependent-features-store-type.js.map +1 -0
- package/dist/lib/features/dependent-features/dependent-features-store.d.ts +12 -0
- package/dist/lib/features/dependent-features/dependent-features-store.js +56 -0
- package/dist/lib/features/dependent-features/dependent-features-store.js.map +1 -0
- package/dist/lib/features/dependent-features/dependent-features.d.ts +14 -0
- package/dist/lib/features/dependent-features/dependent-features.js +3 -0
- package/dist/lib/features/dependent-features/dependent-features.js.map +1 -0
- package/dist/lib/features/dependent-features/dependent.features.e2e.test.d.ts +1 -0
- package/dist/lib/features/dependent-features/dependent.features.e2e.test.js +82 -0
- package/dist/lib/features/dependent-features/dependent.features.e2e.test.js.map +1 -0
- package/dist/lib/features/dependent-features/fake-dependent-features-store.d.ts +8 -0
- package/dist/lib/features/dependent-features/fake-dependent-features-store.js +22 -0
- package/dist/lib/features/dependent-features/fake-dependent-features-store.js.map +1 -0
- package/dist/lib/features/export-import-toggles/createExportImportService.js +6 -3
- package/dist/lib/features/export-import-toggles/createExportImportService.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-service.d.ts +9 -3
- package/dist/lib/features/export-import-toggles/export-import-service.js +51 -21
- 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 +120 -50
- package/dist/lib/features/export-import-toggles/export-import.e2e.test.js.map +1 -1
- package/dist/lib/features/export-import-toggles/import-permissions-service.d.ts +1 -2
- package/dist/lib/features/export-import-toggles/import-toggles-store-type.d.ts +6 -0
- package/dist/lib/features/export-import-toggles/import-toggles-store.d.ts +2 -1
- package/dist/lib/features/export-import-toggles/import-toggles-store.js +25 -0
- package/dist/lib/features/export-import-toggles/import-toggles-store.js.map +1 -1
- package/dist/lib/features/export-import-toggles/import-validation-messages.d.ts +18 -2
- package/dist/lib/features/export-import-toggles/import-validation-messages.js +27 -11
- package/dist/lib/features/export-import-toggles/import-validation-messages.js.map +1 -1
- package/dist/lib/features/feature-naming-pattern/feature-naming-validation.d.ts +14 -0
- package/dist/lib/features/feature-naming-pattern/feature-naming-validation.js +46 -0
- package/dist/lib/features/feature-naming-pattern/feature-naming-validation.js.map +1 -0
- package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.d.ts +1 -0
- package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js +116 -0
- package/dist/lib/features/feature-naming-pattern/feature-naming-validation.test.js.map +1 -0
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js +11 -2
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
- package/dist/lib/features/instance-stats/getActiveUsers.d.ts +9 -0
- package/dist/lib/features/instance-stats/getActiveUsers.e2e.test.d.ts +1 -0
- package/dist/lib/features/instance-stats/getActiveUsers.e2e.test.js +141 -0
- package/dist/lib/features/instance-stats/getActiveUsers.e2e.test.js.map +1 -0
- package/dist/lib/features/instance-stats/getActiveUsers.js +33 -0
- package/dist/lib/features/instance-stats/getActiveUsers.js.map +1 -0
- package/dist/lib/{services → features/instance-stats}/instance-stats-service.d.ts +13 -7
- package/dist/lib/{services → features/instance-stats}/instance-stats-service.js +16 -7
- package/dist/lib/features/instance-stats/instance-stats-service.js.map +1 -0
- package/dist/lib/features/instance-stats/instance-stats-service.test.d.ts +1 -0
- package/dist/lib/{services → features/instance-stats}/instance-stats-service.test.js +6 -5
- package/dist/lib/features/instance-stats/instance-stats-service.test.js.map +1 -0
- package/dist/lib/features/playground/advanced-playground.test.js +2 -3
- package/dist/lib/features/playground/advanced-playground.test.js.map +1 -1
- package/dist/lib/features/playground/feature-evaluator/variant.d.ts +1 -1
- package/dist/lib/features/playground/generateObjectCombinations.d.ts +1 -1
- package/dist/lib/features/playground/generateObjectCombinations.js +14 -4
- package/dist/lib/features/playground/generateObjectCombinations.js.map +1 -1
- package/dist/lib/features/playground/generateObjectCombinations.test.js +21 -0
- package/dist/lib/features/playground/generateObjectCombinations.test.js.map +1 -1
- package/dist/lib/features/playground/playground-service.d.ts +5 -3
- package/dist/lib/features/playground/playground-service.js +18 -3
- package/dist/lib/features/playground/playground-service.js.map +1 -1
- package/dist/lib/features/playground/playground.d.ts +2 -1
- package/dist/lib/features/playground/playground.js +2 -1
- package/dist/lib/features/playground/playground.js.map +1 -1
- package/dist/lib/features/private-project/createPrivateProjectChecker.d.ts +5 -0
- package/dist/lib/features/private-project/createPrivateProjectChecker.js +22 -0
- package/dist/lib/features/private-project/createPrivateProjectChecker.js.map +1 -0
- package/dist/lib/features/private-project/fakePrivateProjectChecker.d.ts +7 -0
- package/dist/lib/features/private-project/fakePrivateProjectChecker.js +15 -0
- package/dist/lib/features/private-project/fakePrivateProjectChecker.js.map +1 -0
- package/dist/lib/features/private-project/privateProjectChecker.d.ts +10 -0
- package/dist/lib/features/private-project/privateProjectChecker.js +22 -0
- package/dist/lib/features/private-project/privateProjectChecker.js.map +1 -0
- package/dist/lib/features/private-project/privateProjectCheckerType.d.ts +5 -0
- package/dist/lib/features/private-project/privateProjectCheckerType.js +3 -0
- package/dist/lib/features/private-project/privateProjectCheckerType.js.map +1 -0
- package/dist/lib/features/private-project/privateProjectStore.d.ts +18 -0
- package/dist/lib/features/private-project/privateProjectStore.js +70 -0
- package/dist/lib/features/private-project/privateProjectStore.js.map +1 -0
- package/dist/lib/features/private-project/privateProjectStoreType.d.ts +4 -0
- package/dist/lib/features/private-project/privateProjectStoreType.js +3 -0
- package/dist/lib/features/private-project/privateProjectStoreType.js.map +1 -0
- package/dist/lib/features/project/createProjectService.js +5 -8
- package/dist/lib/features/project/createProjectService.js.map +1 -1
- package/dist/lib/features/segment/createSegmentService.js +5 -2
- package/dist/lib/features/segment/createSegmentService.js.map +1 -1
- package/dist/lib/features/segment/segment-controller.d.ts +39 -0
- package/dist/lib/features/segment/segment-controller.js +291 -0
- package/dist/lib/features/segment/segment-controller.js.map +1 -0
- package/dist/lib/metrics.d.ts +1 -1
- package/dist/lib/metrics.js +30 -1
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/metrics.test.js +3 -2
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.d.ts +2 -0
- package/dist/lib/middleware/rbac-middleware.js +2 -0
- package/dist/lib/middleware/rbac-middleware.js.map +1 -1
- package/dist/lib/middleware/secure-headers.js +18 -0
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/openapi/index.js +13 -0
- package/dist/lib/openapi/index.js.map +1 -1
- package/dist/lib/openapi/meta-schema-rules.test.js +14 -4
- package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
- package/dist/lib/openapi/spec/addon-type-schema.d.ts +6 -1
- package/dist/lib/openapi/spec/addon-type-schema.js +6 -1
- package/dist/lib/openapi/spec/addon-type-schema.js.map +1 -1
- package/dist/lib/openapi/spec/addons-schema.d.ts +8 -3
- package/dist/lib/openapi/spec/addons-schema.js +8 -3
- package/dist/lib/openapi/spec/addons-schema.js.map +1 -1
- package/dist/lib/openapi/spec/admin-segment-schema.d.ts +115 -0
- package/dist/lib/openapi/spec/admin-segment-schema.js +75 -0
- package/dist/lib/openapi/spec/admin-segment-schema.js.map +1 -0
- package/dist/lib/openapi/spec/admin-segment-schema.test.d.ts +1 -0
- package/dist/lib/openapi/spec/admin-segment-schema.test.js +39 -0
- package/dist/lib/openapi/spec/admin-segment-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/admin-strategies-schema.d.ts +46 -0
- package/dist/lib/openapi/spec/admin-strategies-schema.js +54 -0
- package/dist/lib/openapi/spec/admin-strategies-schema.js.map +1 -0
- package/dist/lib/openapi/spec/admin-strategies-schema.test.d.ts +1 -0
- package/dist/lib/openapi/spec/admin-strategies-schema.test.js +40 -0
- package/dist/lib/openapi/spec/admin-strategies-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +51 -6
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js +3 -1
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +101 -11
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.js +2 -0
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/advanced-playground-request-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +203 -22
- package/dist/lib/openapi/spec/advanced-playground-response-schema.js +2 -0
- package/dist/lib/openapi/spec/advanced-playground-response-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-feature-schema.d.ts +41 -6
- package/dist/lib/openapi/spec/client-feature-schema.js +9 -0
- package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-features-schema.d.ts +75 -12
- package/dist/lib/openapi/spec/client-features-schema.js +2 -0
- package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
- package/dist/lib/openapi/spec/context-field-strategies-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/context-field-strategies-schema.js +1 -1
- package/dist/lib/openapi/spec/context-field-strategies-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-api-token-schema.d.ts +1 -139
- package/dist/lib/openapi/spec/create-api-token-schema.js +16 -20
- package/dist/lib/openapi/spec/create-api-token-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-dependent-feature-schema.d.ts +29 -0
- package/dist/lib/openapi/spec/create-dependent-feature-schema.js +31 -0
- package/dist/lib/openapi/spec/create-dependent-feature-schema.js.map +1 -0
- package/dist/lib/openapi/spec/create-feature-naming-pattern-schema.d.ts +29 -0
- package/dist/lib/openapi/spec/create-feature-naming-pattern-schema.js +33 -0
- package/dist/lib/openapi/spec/create-feature-naming-pattern-schema.js.map +1 -0
- package/dist/lib/openapi/spec/create-feature-strategy-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/create-strategy-schema.d.ts +15 -0
- package/dist/lib/openapi/spec/create-strategy-schema.js +15 -0
- package/dist/lib/openapi/spec/create-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/create-strategy-variant-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/create-strategy-variant-schema.js +2 -2
- package/dist/lib/openapi/spec/create-strategy-variant-schema.js.map +1 -1
- package/dist/lib/openapi/spec/dependent-feature-schema.d.ts +30 -0
- package/dist/lib/openapi/spec/dependent-feature-schema.js +14 -0
- package/dist/lib/openapi/spec/dependent-feature-schema.js.map +1 -0
- package/dist/lib/openapi/spec/dora-features-schema.d.ts +20 -0
- package/dist/lib/openapi/spec/dora-features-schema.js +22 -0
- package/dist/lib/openapi/spec/dora-features-schema.js.map +1 -0
- package/dist/lib/openapi/spec/environment-project-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/environments-project-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/event-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/events-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/export-query-schema.d.ts +22 -15
- package/dist/lib/openapi/spec/export-query-schema.js +16 -15
- package/dist/lib/openapi/spec/export-query-schema.js.map +1 -1
- package/dist/lib/openapi/spec/export-result-schema.d.ts +26 -26
- package/dist/lib/openapi/spec/feature-environment-schema.d.ts +6 -6
- package/dist/lib/openapi/spec/feature-events-schema.d.ts +3 -3
- package/dist/lib/openapi/spec/feature-schema.d.ts +12 -12
- package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/feature-variants-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/features-schema.d.ts +24 -24
- package/dist/lib/openapi/spec/health-overview-schema.d.ts +63 -33
- package/dist/lib/openapi/spec/health-overview-schema.js +6 -1
- package/dist/lib/openapi/spec/health-overview-schema.js.map +1 -1
- package/dist/lib/openapi/spec/health-report-schema.d.ts +63 -33
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts +52 -52
- package/dist/lib/openapi/spec/index.d.ts +9 -0
- package/dist/lib/openapi/spec/index.js +9 -0
- package/dist/lib/openapi/spec/index.js.map +1 -1
- package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +42 -0
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js +42 -0
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
- package/dist/lib/openapi/spec/parent-feature-options-schema.d.ts +11 -0
- package/dist/lib/openapi/spec/parent-feature-options-schema.js +13 -0
- package/dist/lib/openapi/spec/parent-feature-options-schema.js.map +1 -0
- package/dist/lib/openapi/spec/playground-feature-schema.d.ts +5 -5
- package/dist/lib/openapi/spec/playground-request-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/playground-response-schema.d.ts +12 -10
- package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/playground-strategy-schema.js +1 -1
- package/dist/lib/openapi/spec/playground-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/profile-schema.d.ts +12 -12
- package/dist/lib/openapi/spec/project-dora-metrics-schema.d.ts +44 -0
- package/dist/lib/openapi/spec/project-dora-metrics-schema.js +28 -0
- package/dist/lib/openapi/spec/project-dora-metrics-schema.js.map +1 -0
- package/dist/lib/openapi/spec/project-environment-schema.d.ts +4 -4
- package/dist/lib/openapi/spec/project-overview-schema.d.ts +63 -33
- package/dist/lib/openapi/spec/project-overview-schema.js +6 -1
- package/dist/lib/openapi/spec/project-overview-schema.js.map +1 -1
- package/dist/lib/openapi/spec/project-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/project-schema.js +1 -1
- package/dist/lib/openapi/spec/project-schema.js.map +1 -1
- package/dist/lib/openapi/spec/projects-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/push-variants-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/sdk-context-schema.d.ts +1 -0
- package/dist/lib/openapi/spec/sdk-context-schema.js +1 -0
- package/dist/lib/openapi/spec/sdk-context-schema.js.map +1 -1
- package/dist/lib/openapi/spec/sdk-flat-context-schema.d.ts +46 -0
- package/dist/lib/openapi/spec/sdk-flat-context-schema.js +15 -0
- package/dist/lib/openapi/spec/sdk-flat-context-schema.js.map +1 -0
- package/dist/lib/openapi/spec/search-events-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/segments-schema.d.ts +177 -0
- package/dist/lib/openapi/spec/segments-schema.js +26 -0
- package/dist/lib/openapi/spec/segments-schema.js.map +1 -0
- package/dist/lib/openapi/spec/segments-schema.test.d.ts +1 -0
- package/dist/lib/openapi/spec/segments-schema.test.js +16 -0
- package/dist/lib/openapi/spec/segments-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/state-schema.d.ts +23 -23
- package/dist/lib/openapi/spec/strategy-variant-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.d.ts +35 -0
- package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.js +37 -0
- package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.js.map +1 -0
- package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.test.d.ts +1 -0
- package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.test.js +19 -0
- package/dist/lib/openapi/spec/update-feature-strategy-segments-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/upsert-segment-schema.d.ts +8 -15
- package/dist/lib/openapi/spec/upsert-segment-schema.js +8 -17
- package/dist/lib/openapi/spec/upsert-segment-schema.js.map +1 -1
- package/dist/lib/openapi/spec/upsert-segment-schema.test.d.ts +1 -0
- package/dist/lib/openapi/spec/upsert-segment-schema.test.js +35 -0
- package/dist/lib/openapi/spec/upsert-segment-schema.test.js.map +1 -0
- package/dist/lib/openapi/spec/validate-feature-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/validate-feature-schema.js +6 -0
- package/dist/lib/openapi/spec/validate-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/variant-schema.d.ts +2 -2
- package/dist/lib/openapi/spec/variant-schema.js +2 -2
- package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
- package/dist/lib/openapi/spec/variants-schema.d.ts +2 -2
- package/dist/lib/openapi/util/all-of.d.ts +3 -0
- package/dist/lib/openapi/util/all-of.js +34 -0
- package/dist/lib/openapi/util/all-of.js.map +1 -0
- package/dist/lib/openapi/util/openapi-tags.d.ts +46 -58
- package/dist/lib/openapi/util/openapi-tags.js +27 -34
- package/dist/lib/openapi/util/openapi-tags.js.map +1 -1
- package/dist/lib/openapi/util/openapi-tags.test.d.ts +1 -0
- package/dist/lib/openapi/util/openapi-tags.test.js +15 -0
- package/dist/lib/openapi/util/openapi-tags.test.js.map +1 -0
- package/dist/lib/openapi/validate.js +0 -1
- package/dist/lib/openapi/validate.js.map +1 -1
- package/dist/lib/routes/admin-api/archive.d.ts +1 -1
- package/dist/lib/routes/admin-api/archive.js +3 -2
- package/dist/lib/routes/admin-api/archive.js.map +1 -1
- package/dist/lib/routes/admin-api/context.js +2 -1
- package/dist/lib/routes/admin-api/context.js.map +1 -1
- package/dist/lib/routes/admin-api/feature.js +2 -1
- package/dist/lib/routes/admin-api/feature.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +2 -0
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/instance-admin.d.ts +2 -2
- package/dist/lib/routes/admin-api/instance-admin.js +7 -1
- package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/metrics.d.ts +2 -1
- package/dist/lib/routes/admin-api/metrics.js +2 -1
- package/dist/lib/routes/admin-api/metrics.js.map +1 -1
- package/dist/lib/routes/admin-api/project/api-token.d.ts +2 -1
- package/dist/lib/routes/admin-api/project/api-token.js +12 -3
- package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/project/environments.d.ts +2 -1
- package/dist/lib/routes/admin-api/project/environments.js +3 -1
- package/dist/lib/routes/admin-api/project/environments.js.map +1 -1
- package/dist/lib/routes/admin-api/project/index.d.ts +2 -1
- package/dist/lib/routes/admin-api/project/index.js +31 -0
- package/dist/lib/routes/admin-api/project/index.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.d.ts +1 -1
- package/dist/lib/routes/admin-api/strategy.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.js +14 -8
- package/dist/lib/routes/client-api/metrics.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.test.js +27 -0
- package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/controller.d.ts +1 -1
- package/dist/lib/routes/controller.js +17 -10
- package/dist/lib/routes/controller.js.map +1 -1
- package/dist/lib/routes/proxy-api/index.js +5 -0
- package/dist/lib/routes/proxy-api/index.js.map +1 -1
- package/dist/lib/schema/role-schema.js +3 -1
- package/dist/lib/schema/role-schema.js.map +1 -1
- package/dist/lib/schema/role-schema.test.js +1 -1
- package/dist/lib/schema/role-schema.test.js.map +1 -1
- package/dist/lib/segments/segment-service-interface.d.ts +1 -1
- package/dist/lib/services/access-service.d.ts +29 -11
- package/dist/lib/services/access-service.js +53 -10
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/access-service.test.js +2 -1
- package/dist/lib/services/access-service.test.js.map +1 -1
- package/dist/lib/services/addon-service.js +4 -2
- package/dist/lib/services/addon-service.js.map +1 -1
- package/dist/lib/services/addon-service.test.js +65 -0
- package/dist/lib/services/addon-service.test.js.map +1 -1
- package/dist/lib/services/client-metrics/instance-service.d.ts +5 -2
- package/dist/lib/services/client-metrics/instance-service.js +22 -3
- package/dist/lib/services/client-metrics/instance-service.js.map +1 -1
- package/dist/lib/services/client-metrics/instance-service.test.js +5 -4
- package/dist/lib/services/client-metrics/instance-service.test.js.map +1 -1
- package/dist/lib/services/context-service.d.ts +6 -2
- package/dist/lib/services/context-service.js +16 -2
- package/dist/lib/services/context-service.js.map +1 -1
- package/dist/lib/services/feature-service-potentially-stale.test.js +1 -1
- package/dist/lib/services/feature-service-potentially-stale.test.js.map +1 -1
- package/dist/lib/services/feature-toggle-service.d.ts +20 -7
- package/dist/lib/services/feature-toggle-service.js +109 -41
- package/dist/lib/services/feature-toggle-service.js.map +1 -1
- package/dist/lib/services/group-service.d.ts +4 -4
- package/dist/lib/services/group-service.js +17 -16
- package/dist/lib/services/group-service.js.map +1 -1
- package/dist/lib/services/index.d.ts +3 -2
- package/dist/lib/services/index.js +31 -17
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/project-schema.js +9 -1
- package/dist/lib/services/project-schema.js.map +1 -1
- package/dist/lib/services/project-service.d.ts +16 -12
- package/dist/lib/services/project-service.js +127 -17
- package/dist/lib/services/project-service.js.map +1 -1
- package/dist/lib/services/scheduler-service.d.ts +1 -1
- package/dist/lib/services/scheduler-service.js +3 -3
- package/dist/lib/services/scheduler-service.js.map +1 -1
- package/dist/lib/services/scheduler-service.test.js +15 -15
- package/dist/lib/services/scheduler-service.test.js.map +1 -1
- package/dist/lib/services/segment-service.d.ts +4 -2
- package/dist/lib/services/segment-service.js +17 -10
- package/dist/lib/services/segment-service.js.map +1 -1
- package/dist/lib/services/state-service.test.js +13 -3
- package/dist/lib/services/state-service.test.js.map +1 -1
- package/dist/lib/services/version-service.test.js +3 -0
- package/dist/lib/services/version-service.test.js.map +1 -1
- package/dist/lib/types/events.d.ts +61 -1
- package/dist/lib/types/events.js +66 -4
- package/dist/lib/types/events.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +1 -1
- package/dist/lib/types/experimental.js +9 -5
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/group.d.ts +2 -2
- package/dist/lib/types/model.d.ts +31 -2
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/no-auth-user.d.ts +1 -0
- package/dist/lib/types/no-auth-user.js +3 -1
- package/dist/lib/types/no-auth-user.js.map +1 -1
- package/dist/lib/types/option.d.ts +7 -0
- package/dist/lib/types/services.d.ts +6 -1
- package/dist/lib/types/stores/access-store.d.ts +23 -4
- package/dist/lib/types/stores/feature-strategies-store.d.ts +2 -1
- package/dist/lib/types/stores/group-store.d.ts +4 -2
- package/dist/lib/types/stores/project-stats-store-type.d.ts +2 -0
- package/dist/lib/types/stores/project-store.d.ts +7 -14
- package/dist/lib/types/stores/strategy-store.d.ts +3 -17
- package/dist/lib/types/stores.d.ts +5 -1
- package/dist/lib/util/findDuplicates.d.ts +1 -0
- package/dist/lib/util/findDuplicates.js +18 -0
- package/dist/lib/util/findDuplicates.js.map +1 -0
- package/dist/lib/util/findDuplicates.test.d.ts +1 -0
- package/dist/lib/util/findDuplicates.test.js +23 -0
- package/dist/lib/util/findDuplicates.test.js.map +1 -0
- package/dist/migrations/20230830121352-update-client-applications-usage-table.d.ts +2 -0
- package/dist/migrations/20230830121352-update-client-applications-usage-table.js +16 -0
- package/dist/migrations/20230830121352-update-client-applications-usage-table.js.map +1 -0
- package/dist/migrations/20230905122605-add-feature-naming-description.d.ts +2 -0
- package/dist/migrations/20230905122605-add-feature-naming-description.js +13 -0
- package/dist/migrations/20230905122605-add-feature-naming-description.js.map +1 -0
- package/dist/migrations/20230919104006-dependent-features.d.ts +2 -0
- package/dist/migrations/20230919104006-dependent-features.js +21 -0
- package/dist/migrations/20230919104006-dependent-features.js.map +1 -0
- package/dist/migrations/20230927071830-reset-pnps-feedback.d.ts +2 -0
- package/dist/migrations/20230927071830-reset-pnps-feedback.js +10 -0
- package/dist/migrations/20230927071830-reset-pnps-feedback.js.map +1 -0
- package/dist/server-dev.js +7 -4
- package/dist/server-dev.js.map +1 -1
- package/dist/test/e2e/api/admin/addon.e2e.test.js +0 -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 +8 -12
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/event.e2e.test.js +9 -2
- package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js +2 -10
- package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js +8 -0
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/features.e2e.test.js +41 -15
- package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js +30 -3
- package/dist/test/e2e/api/admin/project/project.api.tokens.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/segment.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/segment.e2e.test.js +272 -0
- package/dist/test/e2e/api/admin/segment.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/state.e2e.test.js +0 -11
- package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/strategy.e2e.test.js +1 -1
- package/dist/test/e2e/api/client/feature.e2e.test.js +27 -3
- package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +2 -2
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/segment.e2e.test.js +1 -1
- package/dist/test/e2e/api/client/segment.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js +34 -9
- package/dist/test/e2e/api/proxy/proxy.e2e.test.js.map +1 -1
- package/dist/test/e2e/helpers/app.utils.d.ts +6 -0
- package/dist/test/e2e/helpers/app.utils.js +16 -0
- package/dist/test/e2e/helpers/app.utils.js.map +1 -0
- package/dist/test/e2e/helpers/database.json +24 -0
- package/dist/test/e2e/services/access-service.e2e.test.js +549 -135
- package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js +4 -2
- package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/client-metrics-service.e2e.test.js +2 -1
- package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +38 -5
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/group-service.e2e.test.js +16 -11
- package/dist/test/e2e/services/group-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/playground-service.test.js +5 -2
- package/dist/test/e2e/services/playground-service.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js +4 -2
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-service.e2e.test.js +242 -60
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/fixtures/access-service-mock.d.ts +3 -4
- package/dist/test/fixtures/access-service-mock.js.map +1 -1
- package/dist/test/fixtures/fake-access-store.d.ts +15 -5
- package/dist/test/fixtures/fake-access-store.js +30 -3
- package/dist/test/fixtures/fake-access-store.js.map +1 -1
- package/dist/test/fixtures/fake-group-store.d.ts +4 -2
- package/dist/test/fixtures/fake-group-store.js +3 -0
- package/dist/test/fixtures/fake-group-store.js.map +1 -1
- package/dist/test/fixtures/fake-project-stats-store.d.ts +1 -0
- package/dist/test/fixtures/fake-project-stats-store.js +3 -0
- package/dist/test/fixtures/fake-project-stats-store.js.map +1 -1
- package/dist/test/fixtures/fake-project-store.d.ts +2 -1
- package/dist/test/fixtures/fake-project-store.js +3 -0
- package/dist/test/fixtures/fake-project-store.js.map +1 -1
- package/dist/test/fixtures/no-logger.d.ts +2 -1
- package/dist/test/fixtures/no-logger.js +8 -4
- package/dist/test/fixtures/no-logger.js.map +1 -1
- package/dist/test/fixtures/store.js +3 -0
- package/dist/test/fixtures/store.js.map +1 -1
- package/frontend/README.md +7 -1
- package/frontend/build/index.html +2 -2
- package/frontend/build/static/{AdvancedPlayground-1748fcdd.js → AdvancedPlayground-20059178.js} +11 -11
- package/frontend/build/static/CreateProject-6955728f.js +4 -0
- package/frontend/build/static/{Error-cbce6b64.js → Error-f56339ab.js} +1 -1
- package/frontend/build/static/FeatureArchiveDialog-33dc3a5b.js +10 -0
- package/frontend/build/static/{FeatureMetricsChart-8fd8a304.js → FeatureMetricsChart-5ad514bc.js} +2 -2
- package/frontend/build/static/FeatureViewLazyExport-85a68ed0.js +7 -0
- package/frontend/build/static/LazyAdminExport-e2677758.js +35 -0
- package/frontend/build/static/LazyProjectExport-969bb54e.js +24 -0
- package/frontend/build/static/Logo-android-218bddbb.svg +1 -0
- package/frontend/build/static/Logo-flutter-cc3c706f.svg +1 -0
- package/frontend/build/static/Logo-go-02475b3d.svg +1 -0
- package/frontend/build/static/Logo-java-6e556b26.svg +1 -0
- package/frontend/build/static/Logo-javascript-caebc06e.svg +1 -0
- package/frontend/build/static/Logo-net-0a33abee.svg +1 -0
- package/frontend/build/static/Logo-node-318ed025.svg +1 -0
- package/frontend/build/static/Logo-php-201f18c3.svg +1 -0
- package/frontend/build/static/Logo-python-4305760e.svg +1 -0
- package/frontend/build/static/Logo-react-18e98687.svg +1 -0
- package/frontend/build/static/Logo-ruby-58f46832.svg +1 -0
- package/frontend/build/static/Logo-rust-c83a80f9.svg +1 -0
- package/frontend/build/static/Logo-svelte-97dcb624.svg +1 -0
- package/frontend/build/static/Logo-swift-315f842b.svg +5 -0
- package/frontend/build/static/Logo-vue-0de73099.svg +1 -0
- package/frontend/build/static/{NetworkOverview-349a7bdd.js → NetworkOverview-894877e6.js} +2 -2
- package/frontend/build/static/{NetworkTraffic-60478e50.js → NetworkTraffic-81eff1ae.js} +1 -1
- package/frontend/build/static/ReactJSONEditor-59c8a094.js +129 -0
- package/frontend/build/static/RoleCell-35857d41.js +1 -0
- package/frontend/build/static/{StrategyItemContainer-a4caeace.js → StrategyItemContainer-b250f2d4.js} +1 -1
- package/frontend/build/static/{chartjs-adapter-date-fns.esm-03d2fbea.js → chartjs-adapter-date-fns.esm-c51fe022.js} +1 -1
- package/frontend/build/static/cr-db7653ac.png +0 -0
- package/frontend/build/static/datadog-543762b6.svg +5 -0
- package/frontend/build/static/edge-daisy-chaining-012bfdef.svg +48 -0
- package/frontend/build/static/edge-mode-5d25949b.svg +22 -0
- package/frontend/build/static/edge-offline-f6a0f761.svg +19 -0
- package/frontend/build/static/{flowchart-elk-definition-170a3958-fc100c77.js → flowchart-elk-definition-170a3958-a8c4a86a.js} +1 -1
- package/frontend/build/static/{index-866f9bf9.js → index-0515f416.js} +1 -1
- package/frontend/build/static/index-942e9eeb.js +463 -0
- package/frontend/build/static/{index-3c63138f.js → index-a59b2d65.js} +1 -1
- package/frontend/build/static/{is_dark-31c253e9.js → is_dark-464961a8.js} +1 -1
- package/frontend/build/static/jira-1abe7cbf.svg +17 -0
- package/frontend/build/static/{mindmap-definition-44684416-398682f9.js → mindmap-definition-44684416-3a71a9a5.js} +1 -1
- package/frontend/build/static/slack-36ce798a.svg +18 -0
- package/frontend/build/static/style-97d3ef98.css +1 -0
- package/frontend/build/static/teams-4e30b51f.svg +45 -0
- package/frontend/build/static/{timeline-definition-8e5a9bc6-04a0ae08.js → timeline-definition-8e5a9bc6-da4ebc88.js} +1 -1
- package/frontend/build/static/{unknownify-b8618d88.js → unknownify-3563456b.js} +1 -1
- package/frontend/build/static/unleash-integration-949d8966.svg +1 -0
- package/frontend/build/static/webhooks-b1b44207.svg +16 -0
- package/frontend/package.json +20 -18
- package/package.json +23 -23
- package/dist/lib/services/instance-stats-service.js.map +0 -1
- package/dist/lib/services/instance-stats-service.test.js.map +0 -1
- package/frontend/build/static/CreateProject-972fa820.js +0 -4
- package/frontend/build/static/FeatureArchiveDialog-8a281845.js +0 -10
- package/frontend/build/static/FeatureViewLazyExport-a215d53b.js +0 -7
- package/frontend/build/static/LazyAdminExport-ba7d55ca.js +0 -35
- package/frontend/build/static/LazyProjectExport-12bccd40.js +0 -17
- package/frontend/build/static/RoleCell-144e7eca.js +0 -1
- package/frontend/build/static/datadog-591b6a73.svg +0 -1
- package/frontend/build/static/index-17d74ac9.js +0 -454
- package/frontend/build/static/slack-c0af31c6.svg +0 -1
- package/frontend/build/static/style-770afaee.css +0 -1
- package/frontend/build/static/teams-62e72076.svg +0 -26
- package/frontend/build/static/webhooks-ffa904ac.svg +0 -1
- /package/dist/lib/{services/instance-stats-service.test.d.ts → db/access-store.test.d.ts} +0 -0
- /package/frontend/build/static/{jira-d9eb9af9.svg → jira-comment-d9eb9af9.svg} +0 -0
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SchedulerService = exports.FavoritesService = exports.InstanceStatsService = exports.LastSeenService = exports.PublicSignupTokenService = exports.PatService = exports.EdgeService = exports.ProxyService = exports.GroupService = exports.PlaygroundService = exports.ClientSpecService = exports.OpenApiService = exports.SegmentService = exports.UserSplashService = exports.ProjectHealthService = exports.FeatureTagService = exports.EnvironmentService = exports.FeatureToggleService = exports.UserFeedbackService = exports.SessionService = exports.SettingService = exports.ResetTokenService = exports.UserService = exports.ApiTokenService = exports.AccessService = exports.EmailService = exports.VersionService = exports.ContextService = exports.AddonService = exports.StrategyService = exports.TagService = exports.TagTypeService = exports.ClientMetricsServiceV2 = exports.ClientInstanceService = exports.StateService = exports.ProjectService = exports.HealthService = exports.EventService = exports.FeatureTypeService = exports.createServices = exports.scheduleServices = void 0;
|
|
6
|
+
exports.DependentFeaturesService = exports.SchedulerService = exports.FavoritesService = exports.InstanceStatsService = exports.LastSeenService = exports.PublicSignupTokenService = exports.PatService = exports.EdgeService = exports.ProxyService = exports.GroupService = exports.PlaygroundService = exports.ClientSpecService = exports.OpenApiService = exports.SegmentService = exports.UserSplashService = exports.ProjectHealthService = exports.FeatureTagService = exports.EnvironmentService = exports.FeatureToggleService = exports.UserFeedbackService = exports.SessionService = exports.SettingService = exports.ResetTokenService = exports.UserService = exports.ApiTokenService = exports.AccessService = exports.EmailService = exports.VersionService = exports.ContextService = exports.AddonService = exports.StrategyService = exports.TagService = exports.TagTypeService = exports.ClientMetricsServiceV2 = exports.ClientInstanceService = exports.StateService = exports.ProjectService = exports.HealthService = exports.EventService = exports.FeatureTypeService = exports.createServices = exports.scheduleServices = void 0;
|
|
7
7
|
const feature_type_service_1 = __importDefault(require("./feature-type-service"));
|
|
8
8
|
exports.FeatureTypeService = feature_type_service_1.default;
|
|
9
9
|
const event_service_1 = __importDefault(require("./event-service"));
|
|
@@ -76,7 +76,7 @@ const public_signup_token_service_1 = require("./public-signup-token-service");
|
|
|
76
76
|
Object.defineProperty(exports, "PublicSignupTokenService", { enumerable: true, get: function () { return public_signup_token_service_1.PublicSignupTokenService; } });
|
|
77
77
|
const last_seen_service_1 = require("./client-metrics/last-seen-service");
|
|
78
78
|
Object.defineProperty(exports, "LastSeenService", { enumerable: true, get: function () { return last_seen_service_1.LastSeenService; } });
|
|
79
|
-
const instance_stats_service_1 = require("
|
|
79
|
+
const instance_stats_service_1 = require("../features/instance-stats/instance-stats-service");
|
|
80
80
|
Object.defineProperty(exports, "InstanceStatsService", { enumerable: true, get: function () { return instance_stats_service_1.InstanceStatsService; } });
|
|
81
81
|
const favorites_service_1 = require("./favorites-service");
|
|
82
82
|
Object.defineProperty(exports, "FavoritesService", { enumerable: true, get: function () { return favorites_service_1.FavoritesService; } });
|
|
@@ -91,31 +91,38 @@ const configuration_revision_service_1 = __importDefault(require("../features/fe
|
|
|
91
91
|
const features_1 = require("../features");
|
|
92
92
|
const event_announcer_service_1 = __importDefault(require("./event-announcer-service"));
|
|
93
93
|
const createGroupService_1 = require("../features/group/createGroupService");
|
|
94
|
+
const createPrivateProjectChecker_1 = require("../features/private-project/createPrivateProjectChecker");
|
|
95
|
+
const getActiveUsers_1 = require("../features/instance-stats/getActiveUsers");
|
|
96
|
+
const dependent_features_service_1 = require("../features/dependent-features/dependent-features-service");
|
|
97
|
+
Object.defineProperty(exports, "DependentFeaturesService", { enumerable: true, get: function () { return dependent_features_service_1.DependentFeaturesService; } });
|
|
98
|
+
const createDependentFeaturesService_1 = require("../features/dependent-features/createDependentFeaturesService");
|
|
94
99
|
// TODO: will be moved to scheduler feature directory
|
|
95
100
|
const scheduleServices = async (services) => {
|
|
96
101
|
const { schedulerService, apiTokenService, instanceStatsService, clientInstanceService, projectService, projectHealthService, configurationRevisionService, maintenanceService, eventAnnouncerService, featureToggleService, } = services;
|
|
97
102
|
if (await maintenanceService.isMaintenanceMode()) {
|
|
98
103
|
schedulerService.pause();
|
|
99
104
|
}
|
|
100
|
-
schedulerService.schedule(apiTokenService.fetchActiveTokens.bind(apiTokenService), (0, date_fns_1.minutesToMilliseconds)(1));
|
|
101
|
-
schedulerService.schedule(apiTokenService.updateLastSeen.bind(apiTokenService), (0, date_fns_1.minutesToMilliseconds)(3));
|
|
102
|
-
schedulerService.schedule(instanceStatsService.refreshStatsSnapshot.bind(instanceStatsService), (0, date_fns_1.minutesToMilliseconds)(5));
|
|
103
|
-
schedulerService.schedule(clientInstanceService.removeInstancesOlderThanTwoDays.bind(clientInstanceService), (0, date_fns_1.hoursToMilliseconds)(24));
|
|
104
|
-
schedulerService.schedule(projectService.statusJob.bind(projectService), (0, date_fns_1.hoursToMilliseconds)(24));
|
|
105
|
-
schedulerService.schedule(projectHealthService.setHealthRating.bind(projectHealthService), (0, date_fns_1.hoursToMilliseconds)(1));
|
|
106
|
-
schedulerService.schedule(configurationRevisionService.updateMaxRevisionId.bind(configurationRevisionService), (0, date_fns_1.secondsToMilliseconds)(1));
|
|
107
|
-
schedulerService.schedule(eventAnnouncerService.publishUnannouncedEvents.bind(eventAnnouncerService), (0, date_fns_1.secondsToMilliseconds)(1));
|
|
108
|
-
schedulerService.schedule(featureToggleService.updatePotentiallyStaleFeatures.bind(featureToggleService), (0, date_fns_1.minutesToMilliseconds)(1));
|
|
105
|
+
schedulerService.schedule(apiTokenService.fetchActiveTokens.bind(apiTokenService), (0, date_fns_1.minutesToMilliseconds)(1), 'fetchActiveTokens');
|
|
106
|
+
schedulerService.schedule(apiTokenService.updateLastSeen.bind(apiTokenService), (0, date_fns_1.minutesToMilliseconds)(3), 'updateLastSeen');
|
|
107
|
+
schedulerService.schedule(instanceStatsService.refreshStatsSnapshot.bind(instanceStatsService), (0, date_fns_1.minutesToMilliseconds)(5), 'refreshStatsSnapshot');
|
|
108
|
+
schedulerService.schedule(clientInstanceService.removeInstancesOlderThanTwoDays.bind(clientInstanceService), (0, date_fns_1.hoursToMilliseconds)(24), 'removeInstancesOlderThanTwoDays');
|
|
109
|
+
schedulerService.schedule(projectService.statusJob.bind(projectService), (0, date_fns_1.hoursToMilliseconds)(24), 'statusJob');
|
|
110
|
+
schedulerService.schedule(projectHealthService.setHealthRating.bind(projectHealthService), (0, date_fns_1.hoursToMilliseconds)(1), 'setHealthRating');
|
|
111
|
+
schedulerService.schedule(configurationRevisionService.updateMaxRevisionId.bind(configurationRevisionService), (0, date_fns_1.secondsToMilliseconds)(1), 'updateMaxRevisionId');
|
|
112
|
+
schedulerService.schedule(eventAnnouncerService.publishUnannouncedEvents.bind(eventAnnouncerService), (0, date_fns_1.secondsToMilliseconds)(1), 'publishUnannouncedEvents');
|
|
113
|
+
schedulerService.schedule(featureToggleService.updatePotentiallyStaleFeatures.bind(featureToggleService), (0, date_fns_1.minutesToMilliseconds)(1), 'updatePotentiallyStaleFeatures');
|
|
109
114
|
};
|
|
110
115
|
exports.scheduleServices = scheduleServices;
|
|
111
116
|
const createServices = (stores, config, db) => {
|
|
112
117
|
const groupService = new group_service_1.GroupService(stores, config);
|
|
113
118
|
const accessService = new access_service_1.AccessService(stores, config, groupService);
|
|
114
119
|
const apiTokenService = new api_token_service_1.ApiTokenService(stores, config);
|
|
115
|
-
const clientInstanceService = new instance_service_1.default(stores, config);
|
|
116
120
|
const lastSeenService = new last_seen_service_1.LastSeenService(stores, config);
|
|
117
121
|
const clientMetricsServiceV2 = new metrics_service_v2_1.default(stores, config, lastSeenService);
|
|
118
|
-
const
|
|
122
|
+
const privateProjectChecker = db
|
|
123
|
+
? (0, createPrivateProjectChecker_1.createPrivateProjectChecker)(db, config)
|
|
124
|
+
: (0, createPrivateProjectChecker_1.createFakePrivateProjectChecker)();
|
|
125
|
+
const contextService = new context_service_1.default(stores, config, privateProjectChecker);
|
|
119
126
|
const emailService = new email_service_1.EmailService(config.email, config.getLogger);
|
|
120
127
|
const eventService = new event_service_1.default(stores, config);
|
|
121
128
|
const featureTypeService = new feature_type_service_1.default(stores, config);
|
|
@@ -143,12 +150,13 @@ const createServices = (stores, config, db) => {
|
|
|
143
150
|
const changeRequestAccessReadModel = db
|
|
144
151
|
? (0, createChangeRequestAccessReadModel_1.createChangeRequestAccessReadModel)(db, config)
|
|
145
152
|
: (0, createChangeRequestAccessReadModel_1.createFakeChangeRequestAccessService)();
|
|
146
|
-
const segmentService = new segment_service_1.SegmentService(stores, changeRequestAccessReadModel, config);
|
|
147
|
-
const
|
|
153
|
+
const segmentService = new segment_service_1.SegmentService(stores, changeRequestAccessReadModel, config, privateProjectChecker);
|
|
154
|
+
const clientInstanceService = new instance_service_1.default(stores, config, privateProjectChecker);
|
|
155
|
+
const featureToggleServiceV2 = new feature_toggle_service_1.default(stores, config, segmentService, accessService, changeRequestAccessReadModel, privateProjectChecker);
|
|
148
156
|
const environmentService = new environment_service_1.default(stores, config);
|
|
149
157
|
const featureTagService = new feature_tag_service_1.default(stores, config);
|
|
150
158
|
const favoritesService = new favorites_service_1.FavoritesService(stores, config);
|
|
151
|
-
const projectService = new project_service_1.default(stores, config, accessService, featureToggleServiceV2, groupService, favoritesService);
|
|
159
|
+
const projectService = new project_service_1.default(stores, config, accessService, featureToggleServiceV2, groupService, favoritesService, privateProjectChecker);
|
|
152
160
|
const projectHealthService = new project_health_service_1.default(stores, config, projectService);
|
|
153
161
|
// TODO: this is a temporary seam to enable packaging by feature
|
|
154
162
|
const exportImportService = db
|
|
@@ -163,6 +171,7 @@ const createServices = (stores, config, db) => {
|
|
|
163
171
|
const playgroundService = new playground_service_1.PlaygroundService(config, {
|
|
164
172
|
featureToggleServiceV2,
|
|
165
173
|
segmentService,
|
|
174
|
+
privateProjectChecker,
|
|
166
175
|
});
|
|
167
176
|
const configurationRevisionService = new configuration_revision_service_1.default(stores, config);
|
|
168
177
|
const proxyService = new proxy_service_1.ProxyService(config, stores, {
|
|
@@ -175,10 +184,12 @@ const createServices = (stores, config, db) => {
|
|
|
175
184
|
const edgeService = new edge_service_1.default(stores, config);
|
|
176
185
|
const patService = new pat_service_1.default(stores, config);
|
|
177
186
|
const publicSignupTokenService = new public_signup_token_service_1.PublicSignupTokenService(stores, config, userService);
|
|
178
|
-
const instanceStatsService = new instance_stats_service_1.InstanceStatsService(stores, config, versionService);
|
|
187
|
+
const instanceStatsService = new instance_stats_service_1.InstanceStatsService(stores, config, versionService, db ? (0, getActiveUsers_1.createGetActiveUsers)(db) : (0, getActiveUsers_1.createFakeGetActiveUsers)());
|
|
179
188
|
const schedulerService = new scheduler_service_1.SchedulerService(config.getLogger);
|
|
180
189
|
const maintenanceService = new maintenance_service_1.default(stores, config, settingService, schedulerService);
|
|
181
190
|
const eventAnnouncerService = new event_announcer_service_1.default(stores, config);
|
|
191
|
+
const dependentFeaturesService = new dependent_features_service_1.DependentFeaturesService(stores.dependentFeaturesStore);
|
|
192
|
+
const transactionalDependentFeaturesService = (txDb) => (0, createDependentFeaturesService_1.createDependentFeaturesService)(txDb);
|
|
182
193
|
return {
|
|
183
194
|
accessService,
|
|
184
195
|
accountService,
|
|
@@ -228,6 +239,9 @@ const createServices = (stores, config, db) => {
|
|
|
228
239
|
configurationRevisionService,
|
|
229
240
|
transactionalFeatureToggleService,
|
|
230
241
|
transactionalGroupService,
|
|
242
|
+
privateProjectChecker,
|
|
243
|
+
dependentFeaturesService,
|
|
244
|
+
transactionalDependentFeaturesService,
|
|
231
245
|
};
|
|
232
246
|
};
|
|
233
247
|
exports.createServices = createServices;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/services/index.ts"],"names":[],"mappings":";;;;;;AACA,kFAAwD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/services/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,17 @@ exports.projectSchema = joi_1.default
|
|
|
12
12
|
id: util_1.nameType,
|
|
13
13
|
name: joi_1.default.string().required(),
|
|
14
14
|
description: joi_1.default.string().allow(null).allow('').optional(),
|
|
15
|
-
mode: joi_1.default
|
|
15
|
+
mode: joi_1.default
|
|
16
|
+
.string()
|
|
17
|
+
.valid('open', 'protected', 'private')
|
|
18
|
+
.default('open'),
|
|
16
19
|
defaultStickiness: joi_1.default.string().default('default'),
|
|
17
20
|
featureLimit: joi_1.default.number().allow(null).optional(),
|
|
21
|
+
featureNaming: joi_1.default.object().keys({
|
|
22
|
+
pattern: joi_1.default.string().allow(null).allow('').optional(),
|
|
23
|
+
example: joi_1.default.string().allow(null).allow('').optional(),
|
|
24
|
+
description: joi_1.default.string().allow(null).allow('').optional(),
|
|
25
|
+
}),
|
|
18
26
|
})
|
|
19
27
|
.options({ allowUnknown: false, stripUnknown: true });
|
|
20
28
|
//# sourceMappingURL=project-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-schema.js","sourceRoot":"","sources":["../../../src/lib/services/project-schema.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AACtB,yCAA0C;AAE7B,QAAA,aAAa,GAAG,aAAG;KAC3B,MAAM,EAAE;KACR,IAAI,CAAC;IACF,EAAE,EAAE,eAAQ;IACZ,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1D,IAAI,EAAE,aAAG,
|
|
1
|
+
{"version":3,"file":"project-schema.js","sourceRoot":"","sources":["../../../src/lib/services/project-schema.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AACtB,yCAA0C;AAE7B,QAAA,aAAa,GAAG,aAAG;KAC3B,MAAM,EAAE;KACR,IAAI,CAAC;IACF,EAAE,EAAE,eAAQ;IACZ,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1D,IAAI,EAAE,aAAG;SACJ,MAAM,EAAE;SACR,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC;SACrC,OAAO,CAAC,MAAM,CAAC;IACpB,iBAAiB,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAClD,YAAY,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACjD,aAAa,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QAC7B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtD,WAAW,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC7D,CAAC;CACL,CAAC;KACD,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import User, { IUser } from '../types/user';
|
|
2
|
-
import { AccessService } from './access-service';
|
|
3
|
-
import { FeatureToggle, IProject, IProjectOverview, IProjectWithCount, IUnleashConfig, IUnleashStores,
|
|
2
|
+
import { AccessService, AccessWithRoles } from './access-service';
|
|
3
|
+
import { FeatureToggle, IProject, IProjectOverview, IProjectWithCount, IUnleashConfig, IUnleashStores, IProjectRoleUsage, CreateProject } from '../types';
|
|
4
4
|
import { IProjectQuery } from '../types/stores/project-store';
|
|
5
5
|
import { IProjectAccessModel, IRoleDescriptor } from '../types/stores/access-store';
|
|
6
6
|
import FeatureToggleService from './feature-toggle-service';
|
|
7
7
|
import { GroupService } from './group-service';
|
|
8
|
-
import {
|
|
8
|
+
import { IGroupRole } from 'lib/types/group';
|
|
9
9
|
import { FavoritesService } from './favorites-service';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
roles: IRoleDescriptor[];
|
|
13
|
-
groups: IGroupModelWithProjectRole[];
|
|
14
|
-
}
|
|
10
|
+
import { ProjectDoraMetricsSchema } from 'lib/openapi';
|
|
11
|
+
import { IPrivateProjectChecker } from '../features/private-project/privateProjectCheckerType';
|
|
15
12
|
declare type Days = number;
|
|
16
13
|
declare type Count = number;
|
|
17
14
|
export interface IProjectStats {
|
|
@@ -39,15 +36,16 @@ export default class ProjectService {
|
|
|
39
36
|
private groupService;
|
|
40
37
|
private logger;
|
|
41
38
|
private featureToggleService;
|
|
42
|
-
private
|
|
39
|
+
private privateProjectChecker;
|
|
43
40
|
private accountStore;
|
|
44
41
|
private favoritesService;
|
|
45
42
|
private projectStatsStore;
|
|
46
43
|
private flagResolver;
|
|
47
|
-
constructor({ projectStore, eventStore, featureToggleStore, featureTypeStore, environmentStore, featureEnvironmentStore,
|
|
44
|
+
constructor({ projectStore, eventStore, featureToggleStore, featureTypeStore, environmentStore, featureEnvironmentStore, accountStore, projectStatsStore, }: Pick<IUnleashStores, 'projectStore' | 'eventStore' | 'featureToggleStore' | 'featureTypeStore' | 'environmentStore' | 'featureEnvironmentStore' | 'accountStore' | 'projectStatsStore'>, config: IUnleashConfig, accessService: AccessService, featureToggleService: FeatureToggleService, groupService: GroupService, favoriteService: FavoritesService, privateProjectChecker: IPrivateProjectChecker);
|
|
48
45
|
getProjects(query?: IProjectQuery, userId?: number): Promise<IProjectWithCount[]>;
|
|
49
46
|
getProject(id: string): Promise<IProject>;
|
|
50
|
-
|
|
47
|
+
private validateAndProcessFeatureNamingPattern;
|
|
48
|
+
createProject(newProject: CreateProject, user: IUser): Promise<IProject>;
|
|
51
49
|
updateProject(updatedProject: IProject, user: User): Promise<void>;
|
|
52
50
|
checkProjectsCompatibility(feature: FeatureToggle, newProjectId: string): Promise<boolean>;
|
|
53
51
|
addEnvironmentToProject(project: string, environment: string): Promise<void>;
|
|
@@ -58,12 +56,18 @@ export default class ProjectService {
|
|
|
58
56
|
getAccessToProject(projectId: string): Promise<AccessWithRoles>;
|
|
59
57
|
addUser(projectId: string, roleId: number, userId: number, createdBy: string): Promise<void>;
|
|
60
58
|
removeUser(projectId: string, roleId: number, userId: number, createdBy: string): Promise<void>;
|
|
59
|
+
removeUserAccess(projectId: string, userId: number, createdBy: string): Promise<void>;
|
|
60
|
+
removeGroupAccess(projectId: string, groupId: number, createdBy: string): Promise<void>;
|
|
61
61
|
addGroup(projectId: string, roleId: number, groupId: number, modifiedBy: string): Promise<void>;
|
|
62
62
|
removeGroup(projectId: string, roleId: number, groupId: number, modifiedBy: string): Promise<void>;
|
|
63
|
-
|
|
63
|
+
addRoleAccess(projectId: string, roleId: number, usersAndGroups: IProjectAccessModel, createdBy: string): Promise<void>;
|
|
64
|
+
addAccess(projectId: string, roles: number[], groups: number[], users: number[], createdBy: string): Promise<void>;
|
|
65
|
+
setRolesForUser(projectId: string, userId: number, roles: number[], createdByUserName: string): Promise<void>;
|
|
66
|
+
setRolesForGroup(projectId: string, groupId: number, roles: number[], createdBy: string): Promise<void>;
|
|
64
67
|
findProjectGroupRole(projectId: string, roleId: number): Promise<IGroupRole>;
|
|
65
68
|
findProjectRole(projectId: string, roleId: number): Promise<IRoleDescriptor>;
|
|
66
69
|
validateAtLeastOneOwner(projectId: string, currentRole: IRoleDescriptor): Promise<void>;
|
|
70
|
+
getDoraMetrics(projectId: string): Promise<ProjectDoraMetricsSchema>;
|
|
67
71
|
changeRole(projectId: string, roleId: number, userId: number, createdBy: string): Promise<void>;
|
|
68
72
|
changeGroupRole(projectId: string, roleId: number, userId: number, createdBy: string): Promise<void>;
|
|
69
73
|
getMembers(projectId: string): Promise<number>;
|
|
@@ -17,9 +17,26 @@ const util_2 = require("../util");
|
|
|
17
17
|
const time_to_production_1 = require("../features/feature-toggle/time-to-production/time-to-production");
|
|
18
18
|
const unique_1 = require("../util/unique");
|
|
19
19
|
const error_1 = require("../error");
|
|
20
|
+
const feature_naming_validation_1 = require("../features/feature-naming-pattern/feature-naming-validation");
|
|
20
21
|
const getCreatedBy = (user) => user.email || user.username || 'unknown';
|
|
21
22
|
class ProjectService {
|
|
22
|
-
constructor({ projectStore, eventStore, featureToggleStore, featureTypeStore, environmentStore, featureEnvironmentStore,
|
|
23
|
+
constructor({ projectStore, eventStore, featureToggleStore, featureTypeStore, environmentStore, featureEnvironmentStore, accountStore, projectStatsStore, }, config, accessService, featureToggleService, groupService, favoriteService, privateProjectChecker) {
|
|
24
|
+
this.validateAndProcessFeatureNamingPattern = (featureNaming) => {
|
|
25
|
+
const validationResult = (0, feature_naming_validation_1.checkFeatureNamingData)(featureNaming);
|
|
26
|
+
if (validationResult.state === 'invalid') {
|
|
27
|
+
const [firstReason, ...remainingReasons] = validationResult.reasons.map((message) => ({
|
|
28
|
+
message,
|
|
29
|
+
}));
|
|
30
|
+
throw new error_1.BadDataError('The feature naming pattern data you provided was invalid.', [firstReason, ...remainingReasons]);
|
|
31
|
+
}
|
|
32
|
+
if (featureNaming.pattern && !featureNaming.example) {
|
|
33
|
+
featureNaming.example = null;
|
|
34
|
+
}
|
|
35
|
+
if (featureNaming.pattern && !featureNaming.description) {
|
|
36
|
+
featureNaming.description = null;
|
|
37
|
+
}
|
|
38
|
+
return featureNaming;
|
|
39
|
+
};
|
|
23
40
|
this.store = projectStore;
|
|
24
41
|
this.environmentStore = environmentStore;
|
|
25
42
|
this.featureEnvironmentStore = featureEnvironmentStore;
|
|
@@ -29,7 +46,7 @@ class ProjectService {
|
|
|
29
46
|
this.featureTypeStore = featureTypeStore;
|
|
30
47
|
this.featureToggleService = featureToggleService;
|
|
31
48
|
this.favoritesService = favoriteService;
|
|
32
|
-
this.
|
|
49
|
+
this.privateProjectChecker = privateProjectChecker;
|
|
33
50
|
this.accountStore = accountStore;
|
|
34
51
|
this.groupService = groupService;
|
|
35
52
|
this.projectStatsStore = projectStatsStore;
|
|
@@ -37,7 +54,17 @@ class ProjectService {
|
|
|
37
54
|
this.flagResolver = config.flagResolver;
|
|
38
55
|
}
|
|
39
56
|
async getProjects(query, userId) {
|
|
40
|
-
|
|
57
|
+
const projects = await this.store.getProjectsWithCounts(query, userId);
|
|
58
|
+
if (this.flagResolver.isEnabled('privateProjects') && userId) {
|
|
59
|
+
const projectAccess = await this.privateProjectChecker.getUserAccessibleProjects(userId);
|
|
60
|
+
if (projectAccess.mode === 'all') {
|
|
61
|
+
return projects;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return projects.filter((project) => projectAccess.projects.includes(project.id));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return projects;
|
|
41
68
|
}
|
|
42
69
|
async getProject(id) {
|
|
43
70
|
return this.store.get(id);
|
|
@@ -45,6 +72,9 @@ class ProjectService {
|
|
|
45
72
|
async createProject(newProject, user) {
|
|
46
73
|
const data = await project_schema_1.projectSchema.validateAsync(newProject);
|
|
47
74
|
await this.validateUniqueId(data.id);
|
|
75
|
+
if (data.featureNaming) {
|
|
76
|
+
this.validateAndProcessFeatureNamingPattern(data.featureNaming);
|
|
77
|
+
}
|
|
48
78
|
await this.store.create(data);
|
|
49
79
|
const enabledEnvironments = await this.environmentStore.getAll({
|
|
50
80
|
enabled: true,
|
|
@@ -64,13 +94,15 @@ class ProjectService {
|
|
|
64
94
|
}
|
|
65
95
|
async updateProject(updatedProject, user) {
|
|
66
96
|
const preData = await this.store.get(updatedProject.id);
|
|
67
|
-
|
|
68
|
-
|
|
97
|
+
if (updatedProject.featureNaming) {
|
|
98
|
+
this.validateAndProcessFeatureNamingPattern(updatedProject.featureNaming);
|
|
99
|
+
}
|
|
100
|
+
await this.store.update(updatedProject);
|
|
69
101
|
await this.eventStore.store({
|
|
70
102
|
type: types_1.PROJECT_UPDATED,
|
|
71
|
-
project:
|
|
103
|
+
project: updatedProject.id,
|
|
72
104
|
createdBy: getCreatedBy(user),
|
|
73
|
-
data:
|
|
105
|
+
data: updatedProject,
|
|
74
106
|
preData,
|
|
75
107
|
});
|
|
76
108
|
}
|
|
@@ -137,16 +169,11 @@ class ProjectService {
|
|
|
137
169
|
}
|
|
138
170
|
// RBAC methods
|
|
139
171
|
async getAccessToProject(projectId) {
|
|
140
|
-
|
|
141
|
-
return {
|
|
142
|
-
roles,
|
|
143
|
-
users,
|
|
144
|
-
groups,
|
|
145
|
-
};
|
|
172
|
+
return this.accessService.getProjectRoleAccess(projectId);
|
|
146
173
|
}
|
|
147
174
|
// Deprecated: See addAccess instead.
|
|
148
175
|
async addUser(projectId, roleId, userId, createdBy) {
|
|
149
|
-
const
|
|
176
|
+
const { roles, users } = await this.accessService.getProjectRoleAccess(projectId);
|
|
150
177
|
const user = await this.accountStore.get(userId);
|
|
151
178
|
const role = roles.find((r) => r.id === roleId);
|
|
152
179
|
if (!role) {
|
|
@@ -184,6 +211,30 @@ class ProjectService {
|
|
|
184
211
|
},
|
|
185
212
|
}));
|
|
186
213
|
}
|
|
214
|
+
async removeUserAccess(projectId, userId, createdBy) {
|
|
215
|
+
const existingRoles = await this.accessService.getProjectRolesForUser(projectId, userId);
|
|
216
|
+
await this.accessService.removeUserAccess(projectId, userId);
|
|
217
|
+
await this.eventStore.store(new types_1.ProjectAccessUserRolesDeleted({
|
|
218
|
+
project: projectId,
|
|
219
|
+
createdBy,
|
|
220
|
+
preData: {
|
|
221
|
+
roles: existingRoles,
|
|
222
|
+
userId,
|
|
223
|
+
},
|
|
224
|
+
}));
|
|
225
|
+
}
|
|
226
|
+
async removeGroupAccess(projectId, groupId, createdBy) {
|
|
227
|
+
const existingRoles = await this.accessService.getProjectRolesForGroup(projectId, groupId);
|
|
228
|
+
await this.accessService.removeGroupAccess(projectId, groupId);
|
|
229
|
+
await this.eventStore.store(new types_1.ProjectAccessUserRolesDeleted({
|
|
230
|
+
project: projectId,
|
|
231
|
+
createdBy,
|
|
232
|
+
preData: {
|
|
233
|
+
roles: existingRoles,
|
|
234
|
+
groupId,
|
|
235
|
+
},
|
|
236
|
+
}));
|
|
237
|
+
}
|
|
187
238
|
async addGroup(projectId, roleId, groupId, modifiedBy) {
|
|
188
239
|
const role = await this.accessService.getRole(roleId);
|
|
189
240
|
const group = await this.groupService.getGroup(groupId);
|
|
@@ -218,8 +269,8 @@ class ProjectService {
|
|
|
218
269
|
},
|
|
219
270
|
}));
|
|
220
271
|
}
|
|
221
|
-
async
|
|
222
|
-
await this.accessService.
|
|
272
|
+
async addRoleAccess(projectId, roleId, usersAndGroups, createdBy) {
|
|
273
|
+
await this.accessService.addRoleAccessToProject(usersAndGroups.users, usersAndGroups.groups, projectId, roleId, createdBy);
|
|
223
274
|
await this.eventStore.store(new types_1.ProjectAccessAddedEvent({
|
|
224
275
|
project: projectId,
|
|
225
276
|
createdBy,
|
|
@@ -230,6 +281,50 @@ class ProjectService {
|
|
|
230
281
|
},
|
|
231
282
|
}));
|
|
232
283
|
}
|
|
284
|
+
async addAccess(projectId, roles, groups, users, createdBy) {
|
|
285
|
+
await this.accessService.addAccessToProject(roles, groups, users, projectId, createdBy);
|
|
286
|
+
await this.eventStore.store(new types_1.ProjectAccessAddedEvent({
|
|
287
|
+
project: projectId,
|
|
288
|
+
createdBy,
|
|
289
|
+
data: {
|
|
290
|
+
roles,
|
|
291
|
+
groups,
|
|
292
|
+
users,
|
|
293
|
+
},
|
|
294
|
+
}));
|
|
295
|
+
}
|
|
296
|
+
async setRolesForUser(projectId, userId, roles, createdByUserName) {
|
|
297
|
+
const existingRoles = await this.accessService.getProjectRolesForUser(projectId, userId);
|
|
298
|
+
await this.accessService.setProjectRolesForUser(projectId, userId, roles);
|
|
299
|
+
await this.eventStore.store(new types_1.ProjectAccessUserRolesUpdated({
|
|
300
|
+
project: projectId,
|
|
301
|
+
createdBy: createdByUserName,
|
|
302
|
+
data: {
|
|
303
|
+
roles,
|
|
304
|
+
userId,
|
|
305
|
+
},
|
|
306
|
+
preData: {
|
|
307
|
+
roles: existingRoles,
|
|
308
|
+
userId,
|
|
309
|
+
},
|
|
310
|
+
}));
|
|
311
|
+
}
|
|
312
|
+
async setRolesForGroup(projectId, groupId, roles, createdBy) {
|
|
313
|
+
const existingRoles = await this.accessService.getProjectRolesForGroup(projectId, groupId);
|
|
314
|
+
await this.accessService.setProjectRolesForGroup(projectId, groupId, roles, createdBy);
|
|
315
|
+
await this.eventStore.store(new types_1.ProjectAccessGroupRolesUpdated({
|
|
316
|
+
project: projectId,
|
|
317
|
+
createdBy,
|
|
318
|
+
data: {
|
|
319
|
+
roles,
|
|
320
|
+
groupId,
|
|
321
|
+
},
|
|
322
|
+
preData: {
|
|
323
|
+
roles: existingRoles,
|
|
324
|
+
groupId,
|
|
325
|
+
},
|
|
326
|
+
}));
|
|
327
|
+
}
|
|
233
328
|
async findProjectGroupRole(projectId, roleId) {
|
|
234
329
|
const roles = await this.groupService.getRolesForProject(projectId);
|
|
235
330
|
const role = roles.find((r) => r.roleId === roleId);
|
|
@@ -256,6 +351,20 @@ class ProjectService {
|
|
|
256
351
|
}
|
|
257
352
|
}
|
|
258
353
|
}
|
|
354
|
+
async getDoraMetrics(projectId) {
|
|
355
|
+
const activeFeatureToggles = (await this.featureToggleStore.getAll({ project: projectId })).map((feature) => feature.name);
|
|
356
|
+
const archivedFeatureToggles = (await this.featureToggleStore.getAll({
|
|
357
|
+
project: projectId,
|
|
358
|
+
archived: true,
|
|
359
|
+
})).map((feature) => feature.name);
|
|
360
|
+
const featureToggleNames = [
|
|
361
|
+
...activeFeatureToggles,
|
|
362
|
+
...archivedFeatureToggles,
|
|
363
|
+
];
|
|
364
|
+
const projectAverage = (0, time_to_production_1.calculateAverageTimeToProd)(await this.projectStatsStore.getTimeToProdDates(projectId));
|
|
365
|
+
const toggleAverage = await this.projectStatsStore.getTimeToProdDatesForFeatureToggles(projectId, featureToggleNames);
|
|
366
|
+
return { features: toggleAverage, projectAverage: projectAverage };
|
|
367
|
+
}
|
|
259
368
|
async changeRole(projectId, roleId, userId, createdBy) {
|
|
260
369
|
const usersWithRoles = await this.getAccessToProject(projectId);
|
|
261
370
|
const user = usersWithRoles.users.find((u) => u.id === userId);
|
|
@@ -322,7 +431,7 @@ class ProjectService {
|
|
|
322
431
|
return this.store.getMembersCountByProject(projectId);
|
|
323
432
|
}
|
|
324
433
|
async getProjectUsers(projectId) {
|
|
325
|
-
const
|
|
434
|
+
const { groups, users } = await this.accessService.getProjectRoleAccess(projectId);
|
|
326
435
|
const actualUsers = users.map((user) => ({
|
|
327
436
|
id: user.id,
|
|
328
437
|
email: user.email,
|
|
@@ -444,6 +553,7 @@ class ProjectService {
|
|
|
444
553
|
description: project.description,
|
|
445
554
|
mode: project.mode,
|
|
446
555
|
featureLimit: project.featureLimit,
|
|
556
|
+
featureNaming: project.featureNaming,
|
|
447
557
|
defaultStickiness: project.defaultStickiness,
|
|
448
558
|
health: project.health || 0,
|
|
449
559
|
favorite: favorite,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-service.js","sourceRoot":"","sources":["../../../src/lib/services/project-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-service.js","sourceRoot":"","sources":["../../../src/lib/services/project-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare class SchedulerService {
|
|
|
5
5
|
private mode;
|
|
6
6
|
private logger;
|
|
7
7
|
constructor(getLogger: LogProvider);
|
|
8
|
-
schedule(scheduledFunction: () => void, timeMs: number): Promise<void>;
|
|
8
|
+
schedule(scheduledFunction: () => void, timeMs: number, id: string): Promise<void>;
|
|
9
9
|
stop(): void;
|
|
10
10
|
pause(): void;
|
|
11
11
|
resume(): void;
|
|
@@ -7,7 +7,7 @@ class SchedulerService {
|
|
|
7
7
|
this.logger = getLogger('/services/scheduler-service.ts');
|
|
8
8
|
this.mode = 'active';
|
|
9
9
|
}
|
|
10
|
-
async schedule(scheduledFunction, timeMs) {
|
|
10
|
+
async schedule(scheduledFunction, timeMs, id) {
|
|
11
11
|
this.intervalIds.push(setInterval(async () => {
|
|
12
12
|
try {
|
|
13
13
|
if (this.mode === 'active') {
|
|
@@ -15,7 +15,7 @@ class SchedulerService {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
catch (e) {
|
|
18
|
-
this.logger.error(
|
|
18
|
+
this.logger.error(`scheduled job failed | id: ${id} | ${e}`);
|
|
19
19
|
}
|
|
20
20
|
}, timeMs).unref());
|
|
21
21
|
try {
|
|
@@ -24,7 +24,7 @@ class SchedulerService {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
catch (e) {
|
|
27
|
-
this.logger.error(
|
|
27
|
+
this.logger.error(`scheduled job failed | id: ${id} | ${e}`);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
stop() {
|