unleash-server 5.1.9 → 5.2.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/create-config.js +5 -2
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/access-store.d.ts +2 -1
- package/dist/lib/db/access-store.js +17 -3
- package/dist/lib/db/access-store.js.map +1 -1
- package/dist/lib/db/client-metrics-store-v2.js +19 -30
- package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
- package/dist/lib/db/context-field-store.d.ts +4 -1
- package/dist/lib/db/context-field-store.js +44 -14
- package/dist/lib/db/context-field-store.js.map +1 -1
- package/dist/lib/db/environment-store.d.ts +1 -0
- package/dist/lib/db/environment-store.js +6 -0
- package/dist/lib/db/environment-store.js.map +1 -1
- package/dist/lib/db/event-store.js +2 -1
- package/dist/lib/db/event-store.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.d.ts +2 -0
- package/dist/lib/db/feature-strategy-store.js +25 -0
- package/dist/lib/db/feature-strategy-store.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.test.js +75 -0
- package/dist/lib/db/feature-strategy-store.test.js.map +1 -0
- package/dist/lib/db/group-store.d.ts +1 -1
- package/dist/lib/db/group-store.js +2 -2
- package/dist/lib/db/group-store.js.map +1 -1
- package/dist/lib/db/index.js +2 -2
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/db/role-store.js +2 -2
- package/dist/lib/db/role-store.js.map +1 -1
- package/dist/lib/db/segment-store.d.ts +6 -2
- package/dist/lib/db/segment-store.js +27 -6
- package/dist/lib/db/segment-store.js.map +1 -1
- package/dist/lib/error/no-access-error.d.ts +3 -2
- package/dist/lib/error/no-access-error.js +10 -4
- package/dist/lib/error/no-access-error.js.map +1 -1
- package/dist/lib/error/unleash-error.test.js +8 -2
- package/dist/lib/error/unleash-error.test.js.map +1 -1
- package/dist/lib/features/access/createAccessService.js +5 -5
- package/dist/lib/features/access/createAccessService.js.map +1 -1
- package/dist/lib/features/export-import-toggles/createExportImportService.js +4 -2
- package/dist/lib/features/export-import-toggles/createExportImportService.js.map +1 -1
- package/dist/lib/features/export-import-toggles/export-import-api-usage.test.d.ts +1 -0
- package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js +69 -0
- package/dist/lib/features/export-import-toggles/export-import-api-usage.test.js.map +1 -0
- package/dist/lib/features/export-import-toggles/export-import-controller.js +5 -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.js +7 -2
- package/dist/lib/features/export-import-toggles/export-import-service.js.map +1 -1
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js +4 -4
- package/dist/lib/features/feature-toggle/createFeatureToggleService.js.map +1 -1
- package/dist/lib/features/playground/advanced-playground.test.d.ts +1 -0
- package/dist/lib/features/playground/advanced-playground.test.js +238 -0
- package/dist/lib/features/playground/advanced-playground.test.js.map +1 -0
- package/dist/lib/{util → features/playground}/feature-evaluator/client.d.ts +3 -2
- package/dist/lib/{util → features/playground}/feature-evaluator/client.js +1 -1
- package/dist/lib/features/playground/feature-evaluator/client.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/constraint.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/context.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/feature-evaluator.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/feature.js.map +1 -0
- package/dist/lib/{util → features/playground}/feature-evaluator/helpers.d.ts +1 -1
- package/dist/lib/features/playground/feature-evaluator/helpers.js.map +1 -0
- package/dist/lib/{util → features/playground}/feature-evaluator/index.d.ts +1 -1
- package/dist/lib/{util → features/playground}/feature-evaluator/index.js +2 -2
- package/dist/lib/features/playground/feature-evaluator/index.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/repository/bootstrap-provider.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/repository/index.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/repository/storage-provider-in-mem.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/repository/storage-provider.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/application-hostname-strategy.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/default-strategy.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/flexible-rollout-strategy.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-session-id.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/gradual-rollout-user-id.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/index.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/strategy.js.map +1 -0
- package/dist/lib/{util → features/playground}/feature-evaluator/strategy/unknown-strategy.js +1 -1
- package/dist/lib/features/playground/feature-evaluator/strategy/unknown-strategy.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/user-with-id-strategy.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/strategy/util.js.map +1 -0
- package/dist/lib/features/playground/feature-evaluator/variant.js.map +1 -0
- package/dist/lib/features/playground/generateObjectCombinations.d.ts +7 -0
- package/dist/lib/features/playground/generateObjectCombinations.js +16 -0
- package/dist/lib/features/playground/generateObjectCombinations.js.map +1 -0
- package/dist/lib/features/playground/generateObjectCombinations.test.d.ts +1 -0
- package/dist/lib/features/playground/generateObjectCombinations.test.js +33 -0
- package/dist/lib/features/playground/generateObjectCombinations.test.js.map +1 -0
- package/dist/lib/{util → features/playground}/offline-unleash-client.js +2 -2
- package/dist/lib/features/playground/offline-unleash-client.js.map +1 -0
- package/dist/lib/{util → features/playground}/offline-unleash-client.test.js +1 -1
- package/dist/lib/features/playground/offline-unleash-client.test.js.map +1 -0
- package/dist/lib/features/playground/playground-service.d.ts +34 -0
- package/dist/lib/features/playground/playground-service.js +114 -0
- package/dist/lib/features/playground/playground-service.js.map +1 -0
- package/dist/lib/features/playground/playground-view-model.d.ts +4 -0
- package/dist/lib/features/playground/playground-view-model.js +49 -0
- package/dist/lib/features/playground/playground-view-model.js.map +1 -0
- package/dist/lib/features/playground/playground-view-model.test.d.ts +1 -0
- package/dist/lib/features/playground/playground-view-model.test.js +122 -0
- package/dist/lib/features/playground/playground-view-model.test.js.map +1 -0
- package/dist/lib/features/playground/playground.d.ts +16 -0
- package/dist/lib/features/playground/playground.js +78 -0
- package/dist/lib/features/playground/playground.js.map +1 -0
- package/dist/lib/features/playground/playground.test.d.ts +1 -0
- package/dist/lib/{routes/admin-api → features/playground}/playground.test.js +3 -2
- package/dist/lib/features/playground/playground.test.js.map +1 -0
- package/dist/lib/features/playground/validateQueryComplexity.d.ts +1 -0
- package/dist/lib/features/playground/validateQueryComplexity.js +15 -0
- package/dist/lib/features/playground/validateQueryComplexity.js.map +1 -0
- package/dist/lib/features/playground/validateQueryComplexity.test.d.ts +1 -0
- package/dist/lib/features/playground/validateQueryComplexity.test.js +19 -0
- package/dist/lib/features/playground/validateQueryComplexity.test.js.map +1 -0
- package/dist/lib/middleware/rbac-middleware.d.ts +1 -1
- package/dist/lib/middleware/rbac-middleware.js +7 -4
- package/dist/lib/middleware/rbac-middleware.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.test.js +8 -8
- package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
- package/dist/lib/openapi/endpoint-descriptions.d.ts +4 -0
- package/dist/lib/openapi/endpoint-descriptions.js +4 -0
- package/dist/lib/openapi/endpoint-descriptions.js.map +1 -1
- package/dist/lib/openapi/index.js +7 -0
- package/dist/lib/openapi/index.js.map +1 -1
- package/dist/lib/openapi/meta-schema-rules.test.js +16 -25
- package/dist/lib/openapi/meta-schema-rules.test.js.map +1 -1
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.d.ts +652 -0
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js +146 -0
- package/dist/lib/openapi/spec/advanced-playground-environment-feature-schema.js.map +1 -0
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.d.ts +1217 -0
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.js +51 -0
- package/dist/lib/openapi/spec/advanced-playground-feature-schema.js.map +1 -0
- package/dist/lib/openapi/spec/advanced-playground-request-schema.d.ts +95 -0
- package/dist/lib/openapi/spec/advanced-playground-request-schema.js +49 -0
- package/dist/lib/openapi/spec/advanced-playground-request-schema.js.map +1 -0
- package/dist/lib/openapi/spec/advanced-playground-response-schema.d.ts +2560 -0
- package/dist/lib/openapi/spec/advanced-playground-response-schema.js +50 -0
- package/dist/lib/openapi/spec/advanced-playground-response-schema.js.map +1 -0
- package/dist/lib/openapi/spec/client-application-schema.d.ts +17 -0
- package/dist/lib/openapi/spec/client-application-schema.js +17 -0
- package/dist/lib/openapi/spec/client-application-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-feature-schema.d.ts +44 -13
- package/dist/lib/openapi/spec/client-feature-schema.js +17 -12
- package/dist/lib/openapi/spec/client-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-features-query-schema.d.ts +12 -0
- package/dist/lib/openapi/spec/client-features-query-schema.js +12 -0
- package/dist/lib/openapi/spec/client-features-query-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-features-schema.d.ts +90 -14
- package/dist/lib/openapi/spec/client-features-schema.js +7 -0
- package/dist/lib/openapi/spec/client-features-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-features-schema.test.js +5 -12
- package/dist/lib/openapi/spec/client-features-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/client-metrics-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/client-metrics-schema.js +1 -1
- package/dist/lib/openapi/spec/client-metrics-schema.js.map +1 -1
- package/dist/lib/openapi/spec/context-field-schema.d.ts +13 -0
- package/dist/lib/openapi/spec/context-field-schema.js +13 -0
- package/dist/lib/openapi/spec/context-field-schema.js.map +1 -1
- package/dist/lib/openapi/spec/context-field-strategies-schema.d.ts +43 -0
- package/dist/lib/openapi/spec/context-field-strategies-schema.js +51 -0
- package/dist/lib/openapi/spec/context-field-strategies-schema.js.map +1 -0
- package/dist/lib/openapi/spec/context-fields-schema.d.ts +13 -0
- package/dist/lib/openapi/spec/create-application-schema.d.ts +0 -1
- package/dist/lib/openapi/spec/create-application-schema.js +0 -1
- package/dist/lib/openapi/spec/create-application-schema.js.map +1 -1
- package/dist/lib/openapi/spec/export-result-schema.d.ts +137 -4
- package/dist/lib/openapi/spec/feature-environment-schema.d.ts +22 -1
- package/dist/lib/openapi/spec/feature-schema.d.ts +49 -2
- package/dist/lib/openapi/spec/feature-schema.test.js +1 -1
- package/dist/lib/openapi/spec/feature-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/feature-strategy-schema.d.ts +1 -1
- package/dist/lib/openapi/spec/feature-strategy-schema.js +1 -1
- package/dist/lib/openapi/spec/feature-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/feature-variants-schema.d.ts +26 -0
- package/dist/lib/openapi/spec/features-schema.d.ts +98 -4
- package/dist/lib/openapi/spec/health-check-schema.d.ts +3 -0
- package/dist/lib/openapi/spec/health-check-schema.js +3 -0
- package/dist/lib/openapi/spec/health-check-schema.js.map +1 -1
- package/dist/lib/openapi/spec/health-overview-schema.d.ts +98 -4
- package/dist/lib/openapi/spec/health-report-schema.d.ts +98 -4
- package/dist/lib/openapi/spec/import-toggles-schema.d.ts +274 -8
- package/dist/lib/openapi/spec/index.d.ts +3 -0
- package/dist/lib/openapi/spec/index.js +3 -0
- package/dist/lib/openapi/spec/index.js.map +1 -1
- package/dist/lib/openapi/spec/instance-admin-stats-schema.d.ts +65 -2
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js +65 -2
- package/dist/lib/openapi/spec/instance-admin-stats-schema.js.map +1 -1
- package/dist/lib/openapi/spec/override-schema.d.ts +5 -0
- package/dist/lib/openapi/spec/override-schema.js +5 -0
- package/dist/lib/openapi/spec/override-schema.js.map +1 -1
- package/dist/lib/openapi/spec/password-schema.d.ts +3 -0
- package/dist/lib/openapi/spec/password-schema.js +3 -0
- package/dist/lib/openapi/spec/password-schema.js.map +1 -1
- package/dist/lib/openapi/spec/playground-feature-schema.d.ts +41 -1
- package/dist/lib/openapi/spec/playground-feature-schema.js +6 -1
- package/dist/lib/openapi/spec/playground-feature-schema.js.map +1 -1
- package/dist/lib/openapi/spec/playground-feature-schema.test.js +3 -0
- package/dist/lib/openapi/spec/playground-feature-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/playground-request-schema.d.ts +7 -1
- package/dist/lib/openapi/spec/playground-request-schema.js +1 -1
- package/dist/lib/openapi/spec/playground-request-schema.js.map +1 -1
- package/dist/lib/openapi/spec/playground-response-schema.d.ts +93 -3
- package/dist/lib/openapi/spec/playground-strategy-schema.d.ts +13 -1
- package/dist/lib/openapi/spec/playground-strategy-schema.js +13 -0
- package/dist/lib/openapi/spec/playground-strategy-schema.js.map +1 -1
- package/dist/lib/openapi/spec/profile-schema.d.ts +49 -2
- package/dist/lib/openapi/spec/project-overview-schema.d.ts +98 -4
- package/dist/lib/openapi/spec/push-variants-schema.d.ts +26 -0
- package/dist/lib/openapi/spec/sdk-context-schema.d.ts +6 -0
- package/dist/lib/openapi/spec/sdk-context-schema.js +14 -2
- package/dist/lib/openapi/spec/sdk-context-schema.js.map +1 -1
- package/dist/lib/openapi/spec/state-schema.d.ts +72 -4
- package/dist/lib/openapi/spec/variant-schema.d.ts +21 -0
- package/dist/lib/openapi/spec/variant-schema.js +13 -0
- package/dist/lib/openapi/spec/variant-schema.js.map +1 -1
- package/dist/lib/openapi/spec/variants-schema.d.ts +26 -0
- package/dist/lib/openapi/util/create-response-schema.d.ts +1 -0
- package/dist/lib/openapi/util/create-response-schema.js +7 -1
- package/dist/lib/openapi/util/create-response-schema.js.map +1 -1
- package/dist/lib/proxy/proxy-repository.js +1 -1
- package/dist/lib/proxy/proxy-repository.js.map +1 -1
- package/dist/lib/routes/admin-api/api-token.d.ts +2 -0
- package/dist/lib/routes/admin-api/api-token.js +120 -11
- package/dist/lib/routes/admin-api/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/context.d.ts +3 -0
- package/dist/lib/routes/admin-api/context.js +21 -0
- package/dist/lib/routes/admin-api/context.js.map +1 -1
- package/dist/lib/routes/admin-api/index.js +1 -1
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/instance-admin.d.ts +3 -1
- package/dist/lib/routes/admin-api/instance-admin.js +41 -0
- package/dist/lib/routes/admin-api/instance-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/metrics.test.js +12 -0
- package/dist/lib/routes/admin-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/admin-api/project/api-token.js +7 -0
- package/dist/lib/routes/admin-api/project/api-token.js.map +1 -1
- package/dist/lib/routes/admin-api/user/user.js +5 -4
- package/dist/lib/routes/admin-api/user/user.js.map +1 -1
- package/dist/lib/routes/admin-api/user/user.test.js +30 -5
- package/dist/lib/routes/admin-api/user/user.test.js.map +1 -1
- package/dist/lib/routes/admin-api/user-admin.js +0 -1
- package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
- package/dist/lib/routes/client-api/feature.js +4 -0
- package/dist/lib/routes/client-api/feature.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.js +2 -0
- package/dist/lib/routes/client-api/metrics.js.map +1 -1
- package/dist/lib/routes/client-api/register.js +2 -0
- package/dist/lib/routes/client-api/register.js.map +1 -1
- package/dist/lib/routes/controller.d.ts +8 -7
- package/dist/lib/routes/controller.js +11 -10
- package/dist/lib/routes/controller.js.map +1 -1
- package/dist/lib/routes/health-check.js +2 -0
- package/dist/lib/routes/health-check.js.map +1 -1
- package/dist/lib/server-impl.js +1 -1
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/access-service.d.ts +6 -4
- package/dist/lib/services/access-service.js +47 -11
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/access-service.test.js +39 -22
- package/dist/lib/services/access-service.test.js.map +1 -1
- package/dist/lib/services/api-token-service.d.ts +1 -0
- package/dist/lib/services/api-token-service.js +3 -0
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/context-service.d.ts +4 -1
- package/dist/lib/services/context-service.js +14 -1
- package/dist/lib/services/context-service.js.map +1 -1
- package/dist/lib/services/feature-toggle-service.d.ts +1 -1
- package/dist/lib/services/feature-toggle-service.js +6 -7
- package/dist/lib/services/feature-toggle-service.js.map +1 -1
- package/dist/lib/services/group-service.js +1 -3
- package/dist/lib/services/group-service.js.map +1 -1
- package/dist/lib/services/index.d.ts +1 -1
- package/dist/lib/services/index.js +1 -1
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/instance-stats-service.d.ts +2 -3
- package/dist/lib/services/user-service.d.ts +1 -0
- package/dist/lib/services/user-service.js +8 -0
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/version-service.d.ts +37 -1
- package/dist/lib/services/version-service.js +76 -5
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/services/version-service.test.js +196 -9
- package/dist/lib/services/version-service.test.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +1 -1
- package/dist/lib/types/experimental.js +6 -2
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/lib/types/model.d.ts +8 -4
- package/dist/lib/types/model.js +1 -0
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/option.d.ts +2 -0
- package/dist/lib/types/permissions.d.ts +34 -27
- package/dist/lib/types/permissions.js +85 -29
- package/dist/lib/types/permissions.js.map +1 -1
- package/dist/lib/types/services.d.ts +1 -1
- package/dist/lib/types/stores/access-store.d.ts +1 -1
- package/dist/lib/types/stores/context-field-store.d.ts +2 -0
- package/dist/lib/types/stores/environment-store.d.ts +1 -0
- package/dist/lib/types/stores/feature-strategies-store.d.ts +2 -0
- package/dist/lib/types/stores/feature-toggle-store.d.ts +1 -1
- package/dist/lib/types/stores/group-store.d.ts +1 -1
- package/dist/lib/util/constants.d.ts +7 -1
- package/dist/lib/util/constants.js +8 -2
- package/dist/lib/util/constants.js.map +1 -1
- package/dist/lib/util/ensureArray.d.ts +1 -0
- package/dist/lib/util/ensureArray.js +8 -0
- package/dist/lib/util/ensureArray.js.map +1 -0
- package/dist/lib/util/index.d.ts +1 -1
- package/dist/lib/util/index.js +1 -1
- package/dist/lib/util/index.js.map +1 -1
- package/dist/migrations/20230615122909-fix-env-sort-order.d.ts +2 -0
- package/dist/migrations/20230615122909-fix-env-sort-order.js +28 -0
- package/dist/migrations/20230615122909-fix-env-sort-order.js.map +1 -0
- package/dist/migrations/20230619105029-new-fine-grained-api-token-permissions.d.ts +2 -0
- package/dist/migrations/20230619105029-new-fine-grained-api-token-permissions.js +26 -0
- package/dist/migrations/20230619105029-new-fine-grained-api-token-permissions.js.map +1 -0
- package/dist/migrations/20230619110243-assign-apitoken-permissions-to-rootroles.d.ts +2 -0
- package/dist/migrations/20230619110243-assign-apitoken-permissions-to-rootroles.js +23 -0
- package/dist/migrations/20230619110243-assign-apitoken-permissions-to-rootroles.js.map +1 -0
- package/dist/migrations/20230621141239-refactor-api-token-permissions.d.ts +2 -0
- package/dist/migrations/20230621141239-refactor-api-token-permissions.js +19 -0
- package/dist/migrations/20230621141239-refactor-api-token-permissions.js.map +1 -0
- package/dist/server-dev.js +3 -3
- package/dist/server-dev.js.map +1 -1
- package/dist/test/arbitraries.test.js +3 -1
- package/dist/test/arbitraries.test.js.map +1 -1
- package/dist/test/config/test-config.js +0 -1
- package/dist/test/config/test-config.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js +542 -3
- package/dist/test/e2e/api/admin/api-token.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/api-token.e2e.test.js +14 -1
- package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +1 -8
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/context.e2e.test.js +47 -1
- package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/features.e2e.test.js +14 -14
- package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
- package/dist/test/e2e/helpers/test-helper.d.ts +1 -1
- package/dist/test/e2e/helpers/test-helper.js +4 -2
- package/dist/test/e2e/helpers/test-helper.js.map +1 -1
- package/dist/test/e2e/services/access-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/access-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/playground-service.test.js +2 -2
- package/dist/test/e2e/services/playground-service.test.js.map +1 -1
- package/dist/test/fixtures/access-service-mock.js +1 -1
- package/dist/test/fixtures/access-service-mock.js.map +1 -1
- package/dist/test/fixtures/fake-access-store.d.ts +5 -3
- package/dist/test/fixtures/fake-access-store.js +24 -9
- package/dist/test/fixtures/fake-access-store.js.map +1 -1
- package/dist/test/fixtures/fake-environment-store.d.ts +1 -0
- package/dist/test/fixtures/fake-environment-store.js +3 -0
- package/dist/test/fixtures/fake-environment-store.js.map +1 -1
- package/dist/test/fixtures/fake-feature-strategies-store.d.ts +2 -0
- package/dist/test/fixtures/fake-feature-strategies-store.js +7 -0
- package/dist/test/fixtures/fake-feature-strategies-store.js.map +1 -1
- package/dist/test/fixtures/fake-group-store.d.ts +1 -1
- package/dist/test/fixtures/fake-group-store.js +1 -1
- package/dist/test/fixtures/fake-group-store.js.map +1 -1
- package/dist/test/fixtures/fake-role-store.d.ts +1 -1
- package/dist/test/fixtures/fake-role-store.js +9 -4
- package/dist/test/fixtures/fake-role-store.js.map +1 -1
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/AdvancedPlayground-520a25e1.js +1 -0
- package/frontend/build/static/CreateProject-c430691b.js +4 -0
- package/frontend/build/static/{Error-fa3099b2.js → Error-492e8b38.js} +1 -1
- package/frontend/build/static/FeatureArchiveDialog-70daa567.js +10 -0
- package/frontend/build/static/{FeatureMetricsChart-caa58088.js → FeatureMetricsChart-bc99b364.js} +2 -2
- package/frontend/build/static/FeatureViewLazyExport-01d70575.js +7 -0
- package/frontend/build/static/LazyAdminExport-e2c90193.js +37 -0
- package/frontend/build/static/LazyProjectExport-fa62d2fe.js +13 -0
- package/frontend/build/static/NetworkOverview-3b72e4ea.js +1298 -0
- package/frontend/build/static/NetworkTraffic-365db744.js +1 -0
- package/frontend/build/static/Playground-b473b399.js +1 -0
- package/frontend/build/static/{Playground-3eeb2ce7.js → PlaygroundGuidancePopper-8e3e97db.js} +12 -12
- package/frontend/build/static/RoleCell-9bb513a8.js +1 -0
- package/frontend/build/static/StrategyItemContainer-1f7503c7.js +1 -0
- package/frontend/build/static/{chartjs-adapter-date-fns.esm-d0669d39.js → chartjs-adapter-date-fns.esm-db338d44.js} +1 -1
- package/frontend/build/static/flowchart-elk-definition-170a3958-a428dd25.js +134 -0
- package/frontend/build/static/index-0a56292a.js +450 -0
- package/frontend/build/static/{index-70a530dd.js → index-d362ae7a.js} +1 -1
- package/frontend/build/static/{index-5ae801ef.js → index-dc5debe9.js} +1 -1
- package/frontend/build/static/is_dark-884249e0.js +1 -0
- package/frontend/build/static/mindmap-definition-44684416-3c9425ff.js +101 -0
- package/frontend/build/static/stringify-ec884b6d.js +1 -0
- package/frontend/build/static/timeline-definition-8e5a9bc6-d289cd6d.js +62 -0
- package/frontend/build/static/{unknownify-d86d026c.js → unknownify-5b23bf29.js} +1 -1
- package/frontend/package.json +18 -17
- package/package.json +16 -13
- package/dist/lib/routes/admin-api/playground.d.ts +0 -12
- package/dist/lib/routes/admin-api/playground.js +0 -46
- package/dist/lib/routes/admin-api/playground.js.map +0 -1
- package/dist/lib/routes/admin-api/playground.test.js.map +0 -1
- package/dist/lib/services/playground-service.d.ts +0 -12
- package/dist/lib/services/playground-service.js +0 -65
- package/dist/lib/services/playground-service.js.map +0 -1
- package/dist/lib/util/feature-evaluator/client.js.map +0 -1
- package/dist/lib/util/feature-evaluator/constraint.js.map +0 -1
- package/dist/lib/util/feature-evaluator/context.js.map +0 -1
- package/dist/lib/util/feature-evaluator/feature-evaluator.js.map +0 -1
- package/dist/lib/util/feature-evaluator/feature.js.map +0 -1
- package/dist/lib/util/feature-evaluator/helpers.js.map +0 -1
- package/dist/lib/util/feature-evaluator/index.js.map +0 -1
- package/dist/lib/util/feature-evaluator/repository/bootstrap-provider.js.map +0 -1
- package/dist/lib/util/feature-evaluator/repository/index.js.map +0 -1
- package/dist/lib/util/feature-evaluator/repository/storage-provider-in-mem.js.map +0 -1
- package/dist/lib/util/feature-evaluator/repository/storage-provider.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/application-hostname-strategy.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/default-strategy.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/flexible-rollout-strategy.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-random.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-session-id.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/gradual-rollout-user-id.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/index.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/remote-address-strategy.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/strategy.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/unknown-strategy.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/user-with-id-strategy.js.map +0 -1
- package/dist/lib/util/feature-evaluator/strategy/util.js.map +0 -1
- package/dist/lib/util/feature-evaluator/variant.js.map +0 -1
- package/dist/lib/util/offline-unleash-client.js.map +0 -1
- package/dist/lib/util/offline-unleash-client.test.js.map +0 -1
- package/frontend/build/static/CreateProject-0e1caafd.js +0 -4
- package/frontend/build/static/FeatureArchiveDialog-ec9e5524.js +0 -4
- package/frontend/build/static/FeatureViewLazyExport-4da2d0f1.js +0 -7
- package/frontend/build/static/LazyAdminExport-b294bdfc.js +0 -43
- package/frontend/build/static/LazyProjectExport-fc25f20d.js +0 -19
- package/frontend/build/static/NetworkOverview-9038e532.js +0 -1296
- package/frontend/build/static/NetworkTraffic-de75c58b.js +0 -1
- package/frontend/build/static/StrategyItemContainer-4f8afe80.js +0 -1
- package/frontend/build/static/index-e59cfb08.js +0 -450
- package/frontend/build/static/useProjectRole-cddab9e6.js +0 -1
- package/frontend/build/static/v4-a960c1f4.js +0 -1
- /package/dist/lib/{routes/admin-api/playground.test.d.ts → db/feature-strategy-store.test.d.ts} +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/constraint.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/constraint.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/context.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/context.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/feature-evaluator.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/feature-evaluator.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/feature.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/feature.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/helpers.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/repository/bootstrap-provider.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/repository/bootstrap-provider.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/repository/index.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/repository/index.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider-in-mem.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider-in-mem.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/repository/storage-provider.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/application-hostname-strategy.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/application-hostname-strategy.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/default-strategy.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/default-strategy.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/flexible-rollout-strategy.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/flexible-rollout-strategy.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-random.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-random.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-session-id.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-session-id.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-user-id.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/gradual-rollout-user-id.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/index.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/index.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/remote-address-strategy.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/remote-address-strategy.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/strategy.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/strategy.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/unknown-strategy.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/user-with-id-strategy.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/user-with-id-strategy.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/util.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/strategy/util.js +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/variant.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/feature-evaluator/variant.js +0 -0
- /package/dist/lib/{util → features/playground}/offline-unleash-client.d.ts +0 -0
- /package/dist/lib/{util → features/playground}/offline-unleash-client.test.d.ts +0 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const playground_view_model_1 = require("./playground-view-model");
|
|
4
|
+
describe('playground result to view model', () => {
|
|
5
|
+
it('adds edit links to playground models', () => {
|
|
6
|
+
const input = {
|
|
7
|
+
environment: 'development',
|
|
8
|
+
projects: '*',
|
|
9
|
+
context: { appName: 'playground', userId: '1' },
|
|
10
|
+
};
|
|
11
|
+
const featureResult = {
|
|
12
|
+
isEnabled: false,
|
|
13
|
+
isEnabledInCurrentEnvironment: false,
|
|
14
|
+
strategies: {
|
|
15
|
+
result: false,
|
|
16
|
+
data: [
|
|
17
|
+
{
|
|
18
|
+
name: 'flexibleRollout',
|
|
19
|
+
id: 'ea2c22c1-07fc-4cbe-934d-ffff57cd774b',
|
|
20
|
+
disabled: false,
|
|
21
|
+
parameters: {
|
|
22
|
+
groupId: 'test-playground',
|
|
23
|
+
rollout: '32',
|
|
24
|
+
stickiness: 'default',
|
|
25
|
+
},
|
|
26
|
+
result: {
|
|
27
|
+
enabled: false,
|
|
28
|
+
evaluationStatus: 'complete',
|
|
29
|
+
},
|
|
30
|
+
constraints: [],
|
|
31
|
+
segments: [],
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
projectId: 'default',
|
|
36
|
+
variant: {
|
|
37
|
+
name: 'disabled',
|
|
38
|
+
enabled: false,
|
|
39
|
+
},
|
|
40
|
+
name: 'test-playground',
|
|
41
|
+
variants: [],
|
|
42
|
+
};
|
|
43
|
+
const viewModel = (0, playground_view_model_1.playgroundViewModel)(input, [featureResult]);
|
|
44
|
+
const transformedStrategy = viewModel.features[0].strategies.data[0];
|
|
45
|
+
// check that we're adding links correctly
|
|
46
|
+
expect(transformedStrategy).toMatchObject({
|
|
47
|
+
links: {
|
|
48
|
+
edit: expect.stringMatching(`/projects/${featureResult.projectId}/features/${featureResult.name}/strategies/edit?`) &&
|
|
49
|
+
expect.stringMatching(`environmentId=development`) &&
|
|
50
|
+
expect.stringMatching(`strategyId=${transformedStrategy.id}`),
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
// check that we're not changing anything else
|
|
54
|
+
expect(viewModel).toMatchObject({ input, features: [featureResult] });
|
|
55
|
+
});
|
|
56
|
+
it('adds edit links to advanced playground models', () => {
|
|
57
|
+
const input = {
|
|
58
|
+
environments: ['development'],
|
|
59
|
+
projects: '*',
|
|
60
|
+
context: { appName: 'playground', userId: '1' },
|
|
61
|
+
};
|
|
62
|
+
const featureResult = {
|
|
63
|
+
name: 'test-playground',
|
|
64
|
+
projectId: 'default',
|
|
65
|
+
environments: {
|
|
66
|
+
development: [
|
|
67
|
+
{
|
|
68
|
+
isEnabled: false,
|
|
69
|
+
isEnabledInCurrentEnvironment: true,
|
|
70
|
+
strategies: {
|
|
71
|
+
result: false,
|
|
72
|
+
data: [
|
|
73
|
+
{
|
|
74
|
+
name: 'flexibleRollout',
|
|
75
|
+
id: '2a7dfda6-acf1-4e53-8813-6559e8bd66b0',
|
|
76
|
+
disabled: false,
|
|
77
|
+
parameters: {
|
|
78
|
+
groupId: 'test-playground',
|
|
79
|
+
rollout: '50',
|
|
80
|
+
stickiness: 'default',
|
|
81
|
+
},
|
|
82
|
+
result: {
|
|
83
|
+
enabled: false,
|
|
84
|
+
evaluationStatus: 'complete',
|
|
85
|
+
},
|
|
86
|
+
constraints: [],
|
|
87
|
+
segments: [],
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
projectId: 'default',
|
|
92
|
+
variant: {
|
|
93
|
+
name: 'disabled',
|
|
94
|
+
enabled: false,
|
|
95
|
+
},
|
|
96
|
+
name: 'test-playground',
|
|
97
|
+
environment: 'development',
|
|
98
|
+
context: {
|
|
99
|
+
appName: 'playground',
|
|
100
|
+
userId: '1',
|
|
101
|
+
},
|
|
102
|
+
variants: [],
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
const viewModel = (0, playground_view_model_1.advancedPlaygroundViewModel)(input, [featureResult]);
|
|
108
|
+
const transformedStrategy = viewModel.features[0].environments.development[0].strategies
|
|
109
|
+
.data[0];
|
|
110
|
+
// ensure that we're adding the required data
|
|
111
|
+
expect(transformedStrategy).toMatchObject({
|
|
112
|
+
links: {
|
|
113
|
+
edit: expect.stringMatching(`/projects/${featureResult.projectId}/features/${featureResult.name}/strategies/edit?`) &&
|
|
114
|
+
expect.stringMatching(`environmentId=development`) &&
|
|
115
|
+
expect.stringMatching(`strategyId=${transformedStrategy.id}`),
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
// check that we're not changing anything else
|
|
119
|
+
expect(viewModel).toMatchObject({ input, features: [featureResult] });
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=playground-view-model.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playground-view-model.test.js","sourceRoot":"","sources":["../../../../src/lib/features/playground/playground-view-model.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
|
+
import { IUnleashConfig } from '../../types/option';
|
|
3
|
+
import { IUnleashServices } from '../../types/services';
|
|
4
|
+
import Controller from '../../routes/controller';
|
|
5
|
+
import { PlaygroundResponseSchema } from '../../openapi/spec/playground-response-schema';
|
|
6
|
+
import { PlaygroundRequestSchema } from '../../openapi/spec/playground-request-schema';
|
|
7
|
+
import { AdvancedPlaygroundRequestSchema } from '../../openapi/spec/advanced-playground-request-schema';
|
|
8
|
+
import { AdvancedPlaygroundResponseSchema } from '../../openapi/spec/advanced-playground-response-schema';
|
|
9
|
+
export default class PlaygroundController extends Controller {
|
|
10
|
+
private openApiService;
|
|
11
|
+
private playgroundService;
|
|
12
|
+
private flagResolver;
|
|
13
|
+
constructor(config: IUnleashConfig, { openApiService, playgroundService, }: Pick<IUnleashServices, 'openApiService' | 'playgroundService'>);
|
|
14
|
+
evaluateContext(req: Request<any, any, PlaygroundRequestSchema>, res: Response<PlaygroundResponseSchema>): Promise<void>;
|
|
15
|
+
evaluateAdvancedContext(req: Request<any, any, AdvancedPlaygroundRequestSchema>, res: Response<AdvancedPlaygroundResponseSchema>): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const permissions_1 = require("../../types/permissions");
|
|
7
|
+
const controller_1 = __importDefault(require("../../routes/controller"));
|
|
8
|
+
const create_response_schema_1 = require("../../openapi/util/create-response-schema");
|
|
9
|
+
const endpoint_descriptions_1 = require("../../openapi/endpoint-descriptions");
|
|
10
|
+
const standard_responses_1 = require("../../openapi/util/standard-responses");
|
|
11
|
+
const create_request_schema_1 = require("../../openapi/util/create-request-schema");
|
|
12
|
+
const playground_response_schema_1 = require("../../openapi/spec/playground-response-schema");
|
|
13
|
+
const playground_view_model_1 = require("./playground-view-model");
|
|
14
|
+
class PlaygroundController extends controller_1.default {
|
|
15
|
+
constructor(config, { openApiService, playgroundService, }) {
|
|
16
|
+
super(config);
|
|
17
|
+
this.openApiService = openApiService;
|
|
18
|
+
this.playgroundService = playgroundService;
|
|
19
|
+
this.flagResolver = config.flagResolver;
|
|
20
|
+
this.route({
|
|
21
|
+
method: 'post',
|
|
22
|
+
path: '',
|
|
23
|
+
handler: this.evaluateContext,
|
|
24
|
+
permission: permissions_1.NONE,
|
|
25
|
+
middleware: [
|
|
26
|
+
openApiService.validPath({
|
|
27
|
+
operationId: 'getPlayground',
|
|
28
|
+
tags: ['Playground'],
|
|
29
|
+
responses: {
|
|
30
|
+
...(0, standard_responses_1.getStandardResponses)(400, 401),
|
|
31
|
+
200: (0, create_response_schema_1.createResponseSchema)('playgroundResponseSchema'),
|
|
32
|
+
},
|
|
33
|
+
requestBody: (0, create_request_schema_1.createRequestSchema)('playgroundRequestSchema'),
|
|
34
|
+
...endpoint_descriptions_1.endpointDescriptions.admin.playground,
|
|
35
|
+
}),
|
|
36
|
+
],
|
|
37
|
+
});
|
|
38
|
+
this.route({
|
|
39
|
+
method: 'post',
|
|
40
|
+
path: '/advanced',
|
|
41
|
+
handler: this.evaluateAdvancedContext,
|
|
42
|
+
permission: permissions_1.NONE,
|
|
43
|
+
middleware: [
|
|
44
|
+
openApiService.validPath({
|
|
45
|
+
operationId: 'getAdvancedPlayground',
|
|
46
|
+
tags: ['Unstable'],
|
|
47
|
+
responses: {
|
|
48
|
+
...(0, standard_responses_1.getStandardResponses)(400, 401),
|
|
49
|
+
200: (0, create_response_schema_1.createResponseSchema)('advancedPlaygroundResponseSchema'),
|
|
50
|
+
},
|
|
51
|
+
requestBody: (0, create_request_schema_1.createRequestSchema)('advancedPlaygroundRequestSchema'),
|
|
52
|
+
...endpoint_descriptions_1.endpointDescriptions.admin.advancedPlayground,
|
|
53
|
+
}),
|
|
54
|
+
],
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async evaluateContext(req, res) {
|
|
58
|
+
const result = await this.playgroundService.evaluateQuery(req.body.projects || '*', req.body.environment, req.body.context);
|
|
59
|
+
const response = (0, playground_view_model_1.playgroundViewModel)(req.body, result);
|
|
60
|
+
this.openApiService.respondWithValidation(200, res, playground_response_schema_1.playgroundResponseSchema.$id, response);
|
|
61
|
+
}
|
|
62
|
+
async evaluateAdvancedContext(req, res) {
|
|
63
|
+
if (this.flagResolver.isEnabled('advancedPlayground')) {
|
|
64
|
+
const { payload } = this.flagResolver.getVariant('advancedPlayground');
|
|
65
|
+
const limit = payload?.value && Number.isInteger(parseInt(payload?.value))
|
|
66
|
+
? parseInt(payload?.value)
|
|
67
|
+
: 15000;
|
|
68
|
+
const result = await this.playgroundService.evaluateAdvancedQuery(req.body.projects || '*', req.body.environments, req.body.context, limit);
|
|
69
|
+
const response = (0, playground_view_model_1.advancedPlaygroundViewModel)(req.body, result);
|
|
70
|
+
res.json(response);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
res.status(409).end();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.default = PlaygroundController;
|
|
78
|
+
//# sourceMappingURL=playground.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playground.js","sourceRoot":"","sources":["../../../../src/lib/features/playground/playground.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -9,14 +9,15 @@ const services_1 = require("../../services");
|
|
|
9
9
|
const test_config_1 = require("../../../test/config/test-config");
|
|
10
10
|
const store_1 = __importDefault(require("../../../test/fixtures/store"));
|
|
11
11
|
const app_1 = __importDefault(require("../../app"));
|
|
12
|
-
const playground_request_schema_1 = require("
|
|
13
|
-
const playground_request_schema_test_1 = require("
|
|
12
|
+
const playground_request_schema_1 = require("../../openapi/spec/playground-request-schema");
|
|
13
|
+
const playground_request_schema_test_1 = require("../../openapi/spec/playground-request-schema.test");
|
|
14
14
|
const arbitraries_test_1 = require("../../../test/arbitraries.test");
|
|
15
15
|
async function getSetup() {
|
|
16
16
|
const base = `/random${Math.round(Math.random() * 1000)}`;
|
|
17
17
|
const stores = (0, store_1.default)();
|
|
18
18
|
const config = (0, test_config_1.createTestConfig)({
|
|
19
19
|
server: { baseUriPath: base },
|
|
20
|
+
experimental: { flags: { strictSchemaValidation: true } },
|
|
20
21
|
});
|
|
21
22
|
const services = (0, services_1.createServices)(stores, config);
|
|
22
23
|
const app = await (0, app_1.default)(config, stores, services);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playground.test.js","sourceRoot":"","sources":["../../../../src/lib/features/playground/playground.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const validateQueryComplexity: (environmentsCount: number, featuresCount: number, contextCombinationsCount: number, limit?: number) => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateQueryComplexity = void 0;
|
|
4
|
+
const error_1 = require("../../error");
|
|
5
|
+
const MAX_COMPLEXITY = 30000;
|
|
6
|
+
const validateQueryComplexity = (environmentsCount, featuresCount, contextCombinationsCount, limit = MAX_COMPLEXITY) => {
|
|
7
|
+
const totalCount = environmentsCount * featuresCount * contextCombinationsCount;
|
|
8
|
+
const reason = `Rejecting evaluation as it would generate ${totalCount} combinations exceeding ${limit} limit. `;
|
|
9
|
+
const action = `Please reduce the number of selected environments (${environmentsCount}), features (${featuresCount}), context field combinations (${contextCombinationsCount}).`;
|
|
10
|
+
if (totalCount > limit) {
|
|
11
|
+
throw new error_1.BadDataError(reason + action);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.validateQueryComplexity = validateQueryComplexity;
|
|
15
|
+
//# sourceMappingURL=validateQueryComplexity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateQueryComplexity.js","sourceRoot":"","sources":["../../../../src/lib/features/playground/validateQueryComplexity.ts"],"names":[],"mappings":";;;AAAA,uCAA2C;AAE3C,MAAM,cAAc,GAAG,KAAK,CAAC;AAEtB,MAAM,uBAAuB,GAAG,CACnC,iBAAyB,EACzB,aAAqB,EACrB,wBAAgC,EAChC,KAAK,GAAG,cAAc,EAClB,EAAE;IACN,MAAM,UAAU,GACZ,iBAAiB,GAAG,aAAa,GAAG,wBAAwB,CAAC;IAEjE,MAAM,MAAM,GAAG,6CAA6C,UAAU,2BAA2B,KAAK,UAAU,CAAC;IACjH,MAAM,MAAM,GAAG,sDAAsD,iBAAiB,gBAAgB,aAAa,kCAAkC,wBAAwB,IAAI,CAAC;IAElL,IAAI,UAAU,GAAG,KAAK,EAAE;QACpB,MAAM,IAAI,oBAAY,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;KAC3C;AACL,CAAC,CAAC;AAfW,QAAA,uBAAuB,2BAelC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const validateQueryComplexity_1 = require("./validateQueryComplexity");
|
|
4
|
+
const error_1 = require("../../error");
|
|
5
|
+
test('should not throw error when total combinations are under MAX_COMPLEXITY', () => {
|
|
6
|
+
const environmentsCount = 10;
|
|
7
|
+
const featuresCount = 10;
|
|
8
|
+
const contextCombinationsCount = 10;
|
|
9
|
+
expect(() => (0, validateQueryComplexity_1.validateQueryComplexity)(environmentsCount, featuresCount, contextCombinationsCount)).not.toThrow();
|
|
10
|
+
});
|
|
11
|
+
test('should throw BadDataError when total combinations are over MAX_COMPLEXITY', () => {
|
|
12
|
+
const environmentsCount = 2;
|
|
13
|
+
const featuresCount = 200;
|
|
14
|
+
const contextCombinationsCount = 10000;
|
|
15
|
+
const expectedMessage = `Rejecting evaluation as it would generate 4000000 combinations exceeding 30000 limit. Please reduce the number of selected environments (2), features (200), context field combinations (10000).`;
|
|
16
|
+
expect(() => (0, validateQueryComplexity_1.validateQueryComplexity)(environmentsCount, featuresCount, contextCombinationsCount)).toThrow(error_1.BadDataError);
|
|
17
|
+
expect(() => (0, validateQueryComplexity_1.validateQueryComplexity)(environmentsCount, featuresCount, contextCombinationsCount)).toThrow(expectedMessage);
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=validateQueryComplexity.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateQueryComplexity.test.js","sourceRoot":"","sources":["../../../../src/lib/features/playground/validateQueryComplexity.test.ts"],"names":[],"mappings":";;AAAA,uEAAoE;AACpE,uCAA2C;AAE3C,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACjF,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,MAAM,wBAAwB,GAAG,EAAE,CAAC;IAEpC,MAAM,CAAC,GAAG,EAAE,CACR,IAAA,iDAAuB,EACnB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,CAC3B,CACJ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2EAA2E,EAAE,GAAG,EAAE;IACnF,MAAM,iBAAiB,GAAG,CAAC,CAAC;IAC5B,MAAM,aAAa,GAAG,GAAG,CAAC;IAC1B,MAAM,wBAAwB,GAAG,KAAK,CAAC;IAEvC,MAAM,eAAe,GAAG,kMAAkM,CAAC;IAE3N,MAAM,CAAC,GAAG,EAAE,CACR,IAAA,iDAAuB,EACnB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,CAC3B,CACJ,CAAC,OAAO,CAAC,oBAAY,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,EAAE,CACR,IAAA,iDAAuB,EACnB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,CAC3B,CACJ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { IUnleashConfig } from '../types/option';
|
|
|
2
2
|
import { IUnleashStores } from '../types/stores';
|
|
3
3
|
import User from '../types/user';
|
|
4
4
|
interface PermissionChecker {
|
|
5
|
-
hasPermission(user: User,
|
|
5
|
+
hasPermission(user: User, permissions: string[], projectId?: string, environment?: string): Promise<boolean>;
|
|
6
6
|
}
|
|
7
7
|
declare const rbacMiddleware: (config: Pick<IUnleashConfig, 'getLogger'>, { featureToggleStore }: Pick<IUnleashStores, 'featureToggleStore'>, accessService: PermissionChecker) => any;
|
|
8
8
|
export default rbacMiddleware;
|
|
@@ -12,7 +12,10 @@ const rbacMiddleware = (config, { featureToggleStore }, accessService) => {
|
|
|
12
12
|
const logger = config.getLogger('/middleware/rbac-middleware.ts');
|
|
13
13
|
logger.debug('Enabling RBAC middleware');
|
|
14
14
|
return (req, res, next) => {
|
|
15
|
-
req.checkRbac = async (
|
|
15
|
+
req.checkRbac = async (permissions) => {
|
|
16
|
+
const permissionsArray = Array.isArray(permissions)
|
|
17
|
+
? permissions
|
|
18
|
+
: [permissions];
|
|
16
19
|
const { user, params } = req;
|
|
17
20
|
if (!user) {
|
|
18
21
|
logger.error('RBAC requires a user to exist on the request.');
|
|
@@ -31,16 +34,16 @@ const rbacMiddleware = (config, { featureToggleStore }, accessService) => {
|
|
|
31
34
|
// Temporary workaround to figure out projectId for feature toggle updates.
|
|
32
35
|
// will be removed in Unleash v5.0
|
|
33
36
|
if (!projectId &&
|
|
34
|
-
[permissions_1.DELETE_FEATURE, permissions_1.UPDATE_FEATURE].includes(permission)) {
|
|
37
|
+
permissionsArray.some((permission) => [permissions_1.DELETE_FEATURE, permissions_1.UPDATE_FEATURE].includes(permission))) {
|
|
35
38
|
const { featureName } = params;
|
|
36
39
|
projectId = await featureToggleStore.getProjectId(featureName);
|
|
37
40
|
}
|
|
38
41
|
else if (projectId === undefined &&
|
|
39
|
-
(permission == permissions_1.CREATE_FEATURE ||
|
|
42
|
+
permissionsArray.some((permission) => permission == permissions_1.CREATE_FEATURE ||
|
|
40
43
|
permission.endsWith('FEATURE_STRATEGY'))) {
|
|
41
44
|
projectId = 'default';
|
|
42
45
|
}
|
|
43
|
-
return accessService.hasPermission(user,
|
|
46
|
+
return accessService.hasPermission(user, permissionsArray, projectId, environment);
|
|
44
47
|
};
|
|
45
48
|
return next();
|
|
46
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.ts"],"names":[],"mappings":";;AAAA,sDAK8B;AAc9B,SAAS,SAAS,CACd,IAAY,EACZ,EAAE,MAAM,EAAE,IAAI,EAAO,EACrB,YAAqB;IAErB,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACzC;IACD,OAAO,KAAK,IAAI,YAAY,CAAC;AACjC,CAAC;AAED,MAAM,cAAc,GAAG,CACnB,MAAyC,EACzC,EAAE,kBAAkB,EAA8C,EAClE,aAAgC,EAC7B,EAAE;IACL,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,GAAG,CAAC,SAAS,GAAG,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"rbac-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.ts"],"names":[],"mappings":";;AAAA,sDAK8B;AAc9B,SAAS,SAAS,CACd,IAAY,EACZ,EAAE,MAAM,EAAE,IAAI,EAAO,EACrB,YAAqB;IAErB,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACzC;IACD,OAAO,KAAK,IAAI,YAAY,CAAC;AACjC,CAAC;AAED,MAAM,cAAc,GAAG,CACnB,MAAyC,EACzC,EAAE,kBAAkB,EAA8C,EAClE,aAAgC,EAC7B,EAAE;IACL,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,GAAG,CAAC,SAAS,GAAG,KAAK,EAAE,WAA8B,EAAE,EAAE;YACrD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC/C,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAEpB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAE7B,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAK,CAAC,CAAC;aAC3C;YAED,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,SAAS,GACT,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC7D,IAAI,WAAW,GACX,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC;gBAC7B,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YAEpC,2EAA2E;YAC3E,kCAAkC;YAClC,IACI,CAAC,SAAS;gBACV,gBAAgB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACjC,CAAC,4BAAc,EAAE,4BAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CACxD,EACH;gBACE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;gBAC/B,SAAS,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAClE;iBAAM,IACH,SAAS,KAAK,SAAS;gBACvB,gBAAgB,CAAC,IAAI,CACjB,CAAC,UAAU,EAAE,EAAE,CACX,UAAU,IAAI,4BAAc;oBAC5B,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAC9C,EACH;gBACE,SAAS,GAAG,SAAS,CAAC;aACzB;YAED,OAAO,aAAa,CAAC,aAAa,CAC9B,IAAI,EACJ,gBAAgB,EAChB,SAAS,EACT,WAAW,CACd,CAAC;QACN,CAAC,CAAC;QACF,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -138,7 +138,7 @@ test('should verify permission for root resource', async () => {
|
|
|
138
138
|
func(req, undefined, cb);
|
|
139
139
|
await req.checkRbac(perms.ADMIN);
|
|
140
140
|
expect(accessService.hasPermission).toHaveBeenCalledTimes(1);
|
|
141
|
-
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.ADMIN, undefined, undefined);
|
|
141
|
+
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, [perms.ADMIN], undefined, undefined);
|
|
142
142
|
});
|
|
143
143
|
test('should lookup projectId from params', async () => {
|
|
144
144
|
const accessService = {
|
|
@@ -157,7 +157,7 @@ test('should lookup projectId from params', async () => {
|
|
|
157
157
|
};
|
|
158
158
|
func(req, undefined, cb);
|
|
159
159
|
await req.checkRbac(perms.UPDATE_PROJECT);
|
|
160
|
-
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.UPDATE_PROJECT, req.params.projectId, undefined);
|
|
160
|
+
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, [perms.UPDATE_PROJECT], req.params.projectId, undefined);
|
|
161
161
|
});
|
|
162
162
|
test('should lookup projectId from feature toggle', async () => {
|
|
163
163
|
const projectId = 'some-project-33';
|
|
@@ -179,7 +179,7 @@ test('should lookup projectId from feature toggle', async () => {
|
|
|
179
179
|
};
|
|
180
180
|
func(req, undefined, cb);
|
|
181
181
|
await req.checkRbac(perms.UPDATE_FEATURE);
|
|
182
|
-
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.UPDATE_FEATURE, projectId, undefined);
|
|
182
|
+
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, [perms.UPDATE_FEATURE], projectId, undefined);
|
|
183
183
|
});
|
|
184
184
|
test('should lookup projectId from data', async () => {
|
|
185
185
|
const projectId = 'some-project-33';
|
|
@@ -202,7 +202,7 @@ test('should lookup projectId from data', async () => {
|
|
|
202
202
|
};
|
|
203
203
|
func(req, undefined, cb);
|
|
204
204
|
await req.checkRbac(perms.CREATE_FEATURE);
|
|
205
|
-
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.CREATE_FEATURE, projectId, undefined);
|
|
205
|
+
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, [perms.CREATE_FEATURE], projectId, undefined);
|
|
206
206
|
});
|
|
207
207
|
test('Does not double check permission if not changing project when updating toggle', async () => {
|
|
208
208
|
const oldProjectId = 'some-project-34';
|
|
@@ -221,7 +221,7 @@ test('Does not double check permission if not changing project when updating tog
|
|
|
221
221
|
func(req, undefined, cb);
|
|
222
222
|
await req.checkRbac(perms.UPDATE_FEATURE);
|
|
223
223
|
expect(accessService.hasPermission).toHaveBeenCalledTimes(1);
|
|
224
|
-
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.UPDATE_FEATURE, oldProjectId, undefined);
|
|
224
|
+
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, [perms.UPDATE_FEATURE], oldProjectId, undefined);
|
|
225
225
|
});
|
|
226
226
|
test('UPDATE_TAG_TYPE does not need projectId', async () => {
|
|
227
227
|
const accessService = {
|
|
@@ -237,7 +237,7 @@ test('UPDATE_TAG_TYPE does not need projectId', async () => {
|
|
|
237
237
|
func(req, undefined, cb);
|
|
238
238
|
await req.checkRbac(perms.UPDATE_TAG_TYPE);
|
|
239
239
|
expect(accessService.hasPermission).toHaveBeenCalledTimes(1);
|
|
240
|
-
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.UPDATE_TAG_TYPE, undefined, undefined);
|
|
240
|
+
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, [perms.UPDATE_TAG_TYPE], undefined, undefined);
|
|
241
241
|
});
|
|
242
242
|
test('DELETE_TAG_TYPE does not need projectId', async () => {
|
|
243
243
|
const accessService = {
|
|
@@ -253,7 +253,7 @@ test('DELETE_TAG_TYPE does not need projectId', async () => {
|
|
|
253
253
|
func(req, undefined, cb);
|
|
254
254
|
await req.checkRbac(perms.DELETE_TAG_TYPE);
|
|
255
255
|
expect(accessService.hasPermission).toHaveBeenCalledTimes(1);
|
|
256
|
-
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.DELETE_TAG_TYPE, undefined, undefined);
|
|
256
|
+
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, [perms.DELETE_TAG_TYPE], undefined, undefined);
|
|
257
257
|
});
|
|
258
258
|
test('should not expect featureName for UPDATE_FEATURE when projectId specified', async () => {
|
|
259
259
|
const projectId = 'some-project-33';
|
|
@@ -274,6 +274,6 @@ test('should not expect featureName for UPDATE_FEATURE when projectId specified'
|
|
|
274
274
|
};
|
|
275
275
|
func(req, undefined, cb);
|
|
276
276
|
await req.checkRbac(perms.UPDATE_FEATURE);
|
|
277
|
-
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.UPDATE_FEATURE, projectId, undefined);
|
|
277
|
+
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, [perms.UPDATE_FEATURE], projectId, undefined);
|
|
278
278
|
});
|
|
279
279
|
//# sourceMappingURL=rbac-middleware.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rbac-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,5 +12,9 @@ export declare const endpointDescriptions: {
|
|
|
12
12
|
readonly description: "Use the provided `context`, `environment`, and `projects` to evaluate toggles on this Unleash instance. Returns a list of all toggles that match the parameters and what they evaluate to. The response also contains the input parameters that were provided.";
|
|
13
13
|
readonly summary: "Evaluate an Unleash context against a set of environments and projects.";
|
|
14
14
|
};
|
|
15
|
+
readonly advancedPlayground: {
|
|
16
|
+
readonly description: "Use the provided `context`, `environments`, and `projects` to evaluate toggles on this Unleash instance. You can use comma-separated values to provide multiple values to each context field. Returns a combinatorial list of all toggles that match the parameters and what they evaluate to. The response also contains the input parameters that were provided.";
|
|
17
|
+
readonly summary: "Batch evaluate an Unleash context against a set of environments and projects.";
|
|
18
|
+
};
|
|
15
19
|
};
|
|
16
20
|
};
|
|
@@ -15,6 +15,10 @@ exports.endpointDescriptions = {
|
|
|
15
15
|
description: 'Use the provided `context`, `environment`, and `projects` to evaluate toggles on this Unleash instance. Returns a list of all toggles that match the parameters and what they evaluate to. The response also contains the input parameters that were provided.',
|
|
16
16
|
summary: 'Evaluate an Unleash context against a set of environments and projects.',
|
|
17
17
|
},
|
|
18
|
+
advancedPlayground: {
|
|
19
|
+
description: 'Use the provided `context`, `environments`, and `projects` to evaluate toggles on this Unleash instance. You can use comma-separated values to provide multiple values to each context field. Returns a combinatorial list of all toggles that match the parameters and what they evaluate to. The response also contains the input parameters that were provided.',
|
|
20
|
+
summary: 'Batch evaluate an Unleash context against a set of environments and projects.',
|
|
21
|
+
},
|
|
18
22
|
},
|
|
19
23
|
};
|
|
20
24
|
//# sourceMappingURL=endpoint-descriptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint-descriptions.js","sourceRoot":"","sources":["../../../src/lib/openapi/endpoint-descriptions.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;IAChC,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,WAAW,EACP,yQAAyQ;YAC7Q,OAAO,EACH,0FAA0F;SACjG;QACD,gBAAgB,EAAE;YACd,WAAW,EACP,qIAAqI;YACzI,OAAO,EAAE,sDAAsD;SAClE;QACD,UAAU,EAAE;YACR,WAAW,EACP,gQAAgQ;YACpQ,OAAO,EACH,yEAAyE;SAChF;KACJ;CACK,CAAC"}
|
|
1
|
+
{"version":3,"file":"endpoint-descriptions.js","sourceRoot":"","sources":["../../../src/lib/openapi/endpoint-descriptions.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;IAChC,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,WAAW,EACP,yQAAyQ;YAC7Q,OAAO,EACH,0FAA0F;SACjG;QACD,gBAAgB,EAAE;YACd,WAAW,EACP,qIAAqI;YACzI,OAAO,EAAE,sDAAsD;SAClE;QACD,UAAU,EAAE;YACR,WAAW,EACP,gQAAgQ;YACpQ,OAAO,EACH,yEAAyE;SAChF;QACD,kBAAkB,EAAE;YAChB,WAAW,EACP,oWAAoW;YACxW,OAAO,EACH,+EAA+E;SACtF;KACJ;CACK,CAAC"}
|
|
@@ -31,6 +31,8 @@ const client_metrics_env_schema_1 = require("./spec/client-metrics-env-schema");
|
|
|
31
31
|
const update_tags_schema_1 = require("./spec/update-tags-schema");
|
|
32
32
|
const batch_stale_schema_1 = require("./spec/batch-stale-schema");
|
|
33
33
|
const create_application_schema_1 = require("./spec/create-application-schema");
|
|
34
|
+
const context_field_strategies_schema_1 = require("./spec/context-field-strategies-schema");
|
|
35
|
+
const advanced_playground_environment_feature_schema_1 = require("./spec/advanced-playground-environment-feature-schema");
|
|
34
36
|
// All schemas in `openapi/spec` should be listed here.
|
|
35
37
|
exports.schemas = {
|
|
36
38
|
adminCountSchema: spec_1.adminCountSchema,
|
|
@@ -40,6 +42,10 @@ exports.schemas = {
|
|
|
40
42
|
addonCreateUpdateSchema: spec_1.addonCreateUpdateSchema,
|
|
41
43
|
addonsSchema: spec_1.addonsSchema,
|
|
42
44
|
addonTypeSchema: spec_1.addonTypeSchema,
|
|
45
|
+
advancedPlaygroundEnvironmentFeatureSchema: advanced_playground_environment_feature_schema_1.advancedPlaygroundEnvironmentFeatureSchema,
|
|
46
|
+
advancedPlaygroundFeatureSchema: spec_1.advancedPlaygroundFeatureSchema,
|
|
47
|
+
advancedPlaygroundRequestSchema: spec_1.advancedPlaygroundRequestSchema,
|
|
48
|
+
advancedPlaygroundResponseSchema: spec_1.advancedPlaygroundResponseSchema,
|
|
43
49
|
apiTokenSchema: spec_1.apiTokenSchema,
|
|
44
50
|
apiTokensSchema: spec_1.apiTokensSchema,
|
|
45
51
|
applicationSchema: spec_1.applicationSchema,
|
|
@@ -179,6 +185,7 @@ exports.schemas = {
|
|
|
179
185
|
importTogglesSchema: spec_1.importTogglesSchema,
|
|
180
186
|
importTogglesValidateSchema: spec_1.importTogglesValidateSchema,
|
|
181
187
|
importTogglesValidateItemSchema: spec_1.importTogglesValidateItemSchema,
|
|
188
|
+
contextFieldStrategiesSchema: context_field_strategies_schema_1.contextFieldStrategiesSchema,
|
|
182
189
|
};
|
|
183
190
|
// Remove JSONSchema keys that would result in an invalid OpenAPI spec.
|
|
184
191
|
const removeJsonSchemaProps = (schema) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/openapi/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/openapi/index.ts"],"names":[],"mappings":"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"}
|