unleash-server 4.1.2 → 4.2.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +920 -0
- package/README.md +3 -2
- package/dist/lib/addons/addon.js +1 -1
- package/dist/lib/addons/addon.js.map +1 -1
- package/dist/lib/addons/slack.js +9 -9
- package/dist/lib/addons/slack.js.map +1 -1
- package/dist/lib/addons/teams.js +1 -1
- package/dist/lib/addons/teams.js.map +1 -1
- package/dist/lib/app.js +20 -20
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/app.test.js +11 -7
- package/dist/lib/app.test.js.map +1 -1
- package/dist/lib/create-config.js +9 -9
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/api-token-store.d.ts +2 -1
- package/dist/lib/db/api-token-store.js +5 -0
- package/dist/lib/db/api-token-store.js.map +1 -1
- package/dist/lib/db/client-metrics-store.d.ts +6 -0
- package/dist/lib/db/client-metrics-store.js +6 -1
- package/dist/lib/db/client-metrics-store.js.map +1 -1
- package/dist/lib/db/db-pool.js +1 -1
- package/dist/lib/db/db-pool.js.map +1 -1
- package/dist/lib/db/environment-store.d.ts +7 -7
- package/dist/lib/db/environment-store.js +59 -54
- package/dist/lib/db/environment-store.js.map +1 -1
- package/dist/lib/db/event-store.d.ts +5 -2
- package/dist/lib/db/event-store.js +27 -4
- package/dist/lib/db/event-store.js.map +1 -1
- package/dist/lib/db/event-store.test.js +2 -2
- package/dist/lib/db/event-store.test.js.map +1 -1
- package/dist/lib/db/feature-environment-store.d.ts +8 -6
- package/dist/lib/db/feature-environment-store.js +53 -19
- package/dist/lib/db/feature-environment-store.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.d.ts +7 -11
- package/dist/lib/db/feature-strategy-store.js +77 -147
- package/dist/lib/db/feature-strategy-store.js.map +1 -1
- package/dist/lib/db/feature-toggle-client-store.d.ts +26 -0
- package/dist/lib/db/feature-toggle-client-store.js +106 -0
- package/dist/lib/db/feature-toggle-client-store.js.map +1 -0
- package/dist/lib/db/feature-toggle-store.d.ts +10 -22
- package/dist/lib/db/feature-toggle-store.js +9 -42
- package/dist/lib/db/feature-toggle-store.js.map +1 -1
- package/dist/lib/db/index.js +2 -0
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/db/project-store.d.ts +4 -6
- package/dist/lib/db/project-store.js +7 -43
- package/dist/lib/db/project-store.js.map +1 -1
- package/dist/lib/event-hook.test.js +8 -7
- package/dist/lib/event-hook.test.js.map +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/logger.test.js +26 -4
- package/dist/lib/logger.test.js.map +1 -1
- package/dist/lib/metrics.test.js +3 -3
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.js +10 -2
- package/dist/lib/middleware/api-token-middleware.js.map +1 -1
- package/dist/lib/middleware/api-token-middleware.test.js +44 -8
- package/dist/lib/middleware/api-token-middleware.test.js.map +1 -1
- package/dist/lib/middleware/content_type_checker.test.js +4 -4
- package/dist/lib/middleware/content_type_checker.test.js.map +1 -1
- package/dist/lib/middleware/demo-authentication.js +1 -1
- package/dist/lib/middleware/demo-authentication.js.map +1 -1
- package/dist/lib/middleware/no-authentication.test.js +3 -3
- package/dist/lib/middleware/no-authentication.test.js.map +1 -1
- package/dist/lib/middleware/oss-authentication.js +0 -3
- package/dist/lib/middleware/oss-authentication.js.map +1 -1
- package/dist/lib/middleware/oss-authentication.test.js +7 -7
- package/dist/lib/middleware/oss-authentication.test.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.js +2 -2
- package/dist/lib/middleware/rbac-middleware.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.test.js +51 -12
- package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
- package/dist/lib/middleware/secure-headers.js +1 -1
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/middleware/session-db.js +2 -2
- package/dist/lib/middleware/session-db.js.map +1 -1
- package/dist/lib/routes/admin-api/addon.d.ts +4 -3
- package/dist/lib/routes/admin-api/addon.js +4 -4
- package/dist/lib/routes/admin-api/addon.js.map +1 -1
- package/dist/lib/routes/admin-api/api-token-controller.js +10 -38
- package/dist/lib/routes/admin-api/api-token-controller.js.map +1 -1
- package/dist/lib/routes/admin-api/archive.d.ts +4 -3
- package/dist/lib/routes/admin-api/archive.js +3 -3
- package/dist/lib/routes/admin-api/archive.js.map +1 -1
- package/dist/lib/routes/admin-api/config.test.js +5 -5
- package/dist/lib/routes/admin-api/config.test.js.map +1 -1
- package/dist/lib/routes/admin-api/context.d.ts +4 -3
- package/dist/lib/routes/admin-api/context.js +4 -4
- package/dist/lib/routes/admin-api/context.js.map +1 -1
- package/dist/lib/routes/admin-api/context.test.js +6 -6
- package/dist/lib/routes/admin-api/context.test.js.map +1 -1
- package/dist/lib/routes/admin-api/email.test.js +6 -6
- package/dist/lib/routes/admin-api/email.test.js.map +1 -1
- package/dist/lib/routes/admin-api/environments-controller.d.ts +4 -4
- package/dist/lib/routes/admin-api/environments-controller.js +17 -43
- package/dist/lib/routes/admin-api/environments-controller.js.map +1 -1
- package/dist/lib/routes/admin-api/event.js +7 -1
- package/dist/lib/routes/admin-api/event.js.map +1 -1
- package/dist/lib/routes/admin-api/events.test.js +5 -5
- package/dist/lib/routes/admin-api/events.test.js.map +1 -1
- package/dist/lib/routes/admin-api/feature.d.ts +11 -10
- package/dist/lib/routes/admin-api/feature.js +26 -24
- package/dist/lib/routes/admin-api/feature.js.map +1 -1
- package/dist/lib/routes/admin-api/metrics.js +25 -66
- package/dist/lib/routes/admin-api/metrics.js.map +1 -1
- package/dist/lib/routes/admin-api/metrics.test.js +6 -6
- package/dist/lib/routes/admin-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/admin-api/project/environments.js +6 -15
- package/dist/lib/routes/admin-api/project/environments.js.map +1 -1
- package/dist/lib/routes/admin-api/project/features.d.ts +29 -11
- package/dist/lib/routes/admin-api/project/features.js +97 -35
- package/dist/lib/routes/admin-api/project/features.js.map +1 -1
- package/dist/lib/routes/admin-api/project/health-report.js +7 -18
- package/dist/lib/routes/admin-api/project/health-report.js.map +1 -1
- package/dist/lib/routes/admin-api/project/index.d.ts +3 -0
- package/dist/lib/routes/admin-api/project/index.js +8 -0
- package/dist/lib/routes/admin-api/project/index.js.map +1 -1
- package/dist/lib/routes/admin-api/state.d.ts +2 -1
- package/dist/lib/routes/admin-api/state.js +7 -6
- package/dist/lib/routes/admin-api/state.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.d.ts +1 -1
- package/dist/lib/routes/admin-api/strategy.js +24 -22
- package/dist/lib/routes/admin-api/strategy.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.test.js +6 -6
- package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
- package/dist/lib/routes/admin-api/tag-type.d.ts +4 -3
- package/dist/lib/routes/admin-api/tag-type.js +19 -50
- package/dist/lib/routes/admin-api/tag-type.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.d.ts +3 -2
- package/dist/lib/routes/admin-api/tag.js +3 -4
- package/dist/lib/routes/admin-api/tag.js.map +1 -1
- package/dist/lib/routes/admin-api/tag.test.js +6 -6
- package/dist/lib/routes/admin-api/tag.test.js.map +1 -1
- package/dist/lib/routes/admin-api/user-admin.js +11 -37
- package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
- package/dist/lib/routes/admin-api/user.test.js +5 -5
- package/dist/lib/routes/admin-api/user.test.js.map +1 -1
- package/dist/lib/routes/api-def.d.ts +49 -52
- package/dist/lib/routes/api-def.js +13 -9
- package/dist/lib/routes/api-def.js.map +1 -1
- package/dist/lib/routes/backstage.test.js +5 -5
- package/dist/lib/routes/backstage.test.js.map +1 -1
- package/dist/lib/routes/client-api/feature.d.ts +7 -8
- package/dist/lib/routes/client-api/feature.js +40 -28
- package/dist/lib/routes/client-api/feature.js.map +1 -1
- package/dist/lib/routes/client-api/feature.test.js +15 -15
- package/dist/lib/routes/client-api/feature.test.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.d.ts +3 -2
- package/dist/lib/routes/client-api/metrics.js +8 -13
- package/dist/lib/routes/client-api/metrics.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.test.js +7 -12
- package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/client-api/register.js +3 -14
- package/dist/lib/routes/client-api/register.js.map +1 -1
- package/dist/lib/routes/client-api/register.test.js +5 -5
- package/dist/lib/routes/client-api/register.test.js.map +1 -1
- package/dist/lib/routes/controller.d.ts +1 -0
- package/dist/lib/routes/controller.js +4 -1
- package/dist/lib/routes/controller.js.map +1 -1
- package/dist/lib/routes/health-check.test.js +9 -9
- package/dist/lib/routes/health-check.test.js.map +1 -1
- package/dist/lib/routes/index.js +5 -5
- package/dist/lib/routes/index.js.map +1 -1
- package/dist/lib/routes/index.test.js +5 -5
- package/dist/lib/routes/index.test.js.map +1 -1
- package/dist/lib/routes/logout.test.js +15 -15
- package/dist/lib/routes/logout.test.js.map +1 -1
- package/dist/lib/routes/unleash-types.d.ts +1 -2
- package/dist/lib/routes/util.js +1 -0
- package/dist/lib/routes/util.js.map +1 -1
- package/dist/lib/schema/api-token-schema.d.ts +2 -0
- package/dist/lib/schema/api-token-schema.js +28 -0
- package/dist/lib/schema/api-token-schema.js.map +1 -0
- package/dist/lib/schema/feature-schema.test.js +17 -16
- package/dist/lib/schema/feature-schema.test.js.map +1 -1
- package/dist/lib/schema/project-schema.d.ts +2 -0
- package/dist/lib/schema/project-schema.js +12 -0
- package/dist/lib/schema/project-schema.js.map +1 -0
- package/dist/lib/server-impl.d.ts +2 -2
- package/dist/lib/server-impl.js +20 -18
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/server-impl.test.js +28 -21
- package/dist/lib/server-impl.test.js.map +1 -1
- package/dist/lib/services/access-service.d.ts +1 -1
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/addon-service.js +2 -2
- package/dist/lib/services/addon-service.js.map +1 -1
- package/dist/lib/services/addon-service.test.js +1 -1
- package/dist/lib/services/addon-service.test.js.map +1 -1
- package/dist/lib/services/api-token-service.d.ts +3 -8
- package/dist/lib/services/api-token-service.js +43 -8
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/client-metrics/client-metrics-schema.js +1 -0
- package/dist/lib/services/client-metrics/client-metrics-schema.js.map +1 -1
- package/dist/lib/services/client-metrics/client-metrics.test.js +18 -18
- package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
- package/dist/lib/services/client-metrics/index.js +5 -3
- package/dist/lib/services/client-metrics/index.js.map +1 -1
- package/dist/lib/services/context-schema.d.ts +3 -3
- package/dist/lib/services/context-schema.js +15 -11
- package/dist/lib/services/context-schema.js.map +1 -1
- package/dist/lib/services/email-service.js +5 -5
- package/dist/lib/services/email-service.js.map +1 -1
- package/dist/lib/services/environment-service.d.ts +4 -5
- package/dist/lib/services/environment-service.js +14 -14
- package/dist/lib/services/environment-service.js.map +1 -1
- package/dist/lib/services/event-service.d.ts +1 -0
- package/dist/lib/services/event-service.js +4 -3
- package/dist/lib/services/event-service.js.map +1 -1
- package/dist/lib/services/feature-toggle-service-v2.d.ts +27 -12
- package/dist/lib/services/feature-toggle-service-v2.js +157 -55
- package/dist/lib/services/feature-toggle-service-v2.js.map +1 -1
- package/dist/lib/services/index.js +1 -1
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/project-health-service.d.ts +3 -1
- package/dist/lib/services/project-health-service.js +7 -3
- package/dist/lib/services/project-health-service.js.map +1 -1
- package/dist/lib/services/project-schema.d.ts +2 -3
- package/dist/lib/services/project-schema.js +12 -7
- package/dist/lib/services/project-schema.js.map +1 -1
- package/dist/lib/services/project-service.d.ts +4 -2
- package/dist/lib/services/project-service.js +21 -11
- package/dist/lib/services/project-service.js.map +1 -1
- package/dist/lib/services/state-schema.d.ts +2 -0
- package/dist/lib/services/state-schema.js +16 -6
- package/dist/lib/services/state-schema.js.map +1 -1
- package/dist/lib/services/state-service.d.ts +7 -0
- package/dist/lib/services/state-service.js +75 -17
- package/dist/lib/services/state-service.js.map +1 -1
- package/dist/lib/services/state-service.test.js +73 -28
- package/dist/lib/services/state-service.test.js.map +1 -1
- package/dist/lib/services/state-util.js +1 -1
- package/dist/lib/services/state-util.js.map +1 -1
- package/dist/lib/services/user-service.js +1 -1
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +1 -1
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/services/version-service.js +1 -1
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/services/version-service.test.js +3 -3
- package/dist/lib/services/version-service.test.js.map +1 -1
- package/dist/lib/types/api-user.d.ts +11 -4
- package/dist/lib/types/api-user.js +4 -1
- package/dist/lib/types/api-user.js.map +1 -1
- package/dist/lib/types/events.d.ts +7 -0
- package/dist/lib/types/events.js +9 -1
- package/dist/lib/types/events.js.map +1 -1
- package/dist/lib/types/model.d.ts +25 -7
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/models/api-token.d.ts +19 -0
- package/dist/lib/types/models/api-token.js +10 -0
- package/dist/lib/types/models/api-token.js.map +1 -0
- package/dist/lib/types/permissions.d.ts +2 -0
- package/dist/lib/types/permissions.js +3 -1
- package/dist/lib/types/permissions.js.map +1 -1
- package/dist/lib/types/stores/api-token-store.d.ts +1 -14
- package/dist/lib/types/stores/api-token-store.js +0 -6
- package/dist/lib/types/stores/api-token-store.js.map +1 -1
- package/dist/lib/types/stores/environment-store.d.ts +6 -6
- package/dist/lib/types/stores/event-store.d.ts +1 -0
- package/dist/lib/types/stores/feature-environment-store.d.ts +8 -6
- package/dist/lib/types/stores/feature-strategies-store.d.ts +6 -12
- package/dist/lib/types/stores/feature-toggle-client-store.d.ts +5 -0
- package/dist/lib/types/stores/feature-toggle-client-store.js +3 -0
- package/dist/lib/types/stores/feature-toggle-client-store.js.map +1 -0
- package/dist/lib/types/stores/feature-toggle-store.d.ts +7 -14
- package/dist/lib/types/stores/project-store.d.ts +5 -2
- package/dist/lib/types/stores.d.ts +2 -0
- package/dist/lib/types/user.js +1 -1
- package/dist/lib/types/user.js.map +1 -1
- package/dist/lib/util/constants.d.ts +1 -0
- package/dist/lib/util/constants.js +2 -1
- package/dist/lib/util/constants.js.map +1 -1
- package/dist/lib/util/extract-user.d.ts +2 -0
- package/dist/lib/util/extract-user.js +8 -0
- package/dist/lib/util/extract-user.js.map +1 -0
- package/dist/lib/util/format-base-uri.test.js +6 -6
- package/dist/lib/util/format-base-uri.test.js.map +1 -1
- package/dist/lib/util/graceful-shutdown.js +1 -1
- package/dist/lib/util/graceful-shutdown.js.map +1 -1
- package/dist/lib/util/rewriteHTML.test.js +4 -4
- package/dist/lib/util/rewriteHTML.test.js.map +1 -1
- package/dist/lib/util/snakeCase.d.ts +6 -0
- package/dist/lib/util/snakeCase.js +28 -0
- package/dist/lib/util/snakeCase.js.map +1 -0
- package/dist/{test/e2e/api/admin/boostrap.test.d.ts → lib/util/snakeCase.test.d.ts} +0 -0
- package/dist/lib/util/snakeCase.test.js +23 -0
- package/dist/lib/util/snakeCase.test.js.map +1 -0
- package/dist/migrations/20210831072631-add-sort-order-and-type-to-env.d.ts +5 -0
- package/dist/migrations/20210831072631-add-sort-order-and-type-to-env.js +14 -0
- package/dist/migrations/20210831072631-add-sort-order-and-type-to-env.js.map +1 -0
- package/dist/migrations/20210907124058-add-dbcritic-indices.d.ts +5 -0
- package/dist/migrations/20210907124058-add-dbcritic-indices.js +30 -0
- package/dist/migrations/20210907124058-add-dbcritic-indices.js.map +1 -0
- package/dist/migrations/20210907124850-add-dbcritic-primary-keys.d.ts +5 -0
- package/dist/migrations/20210907124850-add-dbcritic-primary-keys.js +18 -0
- package/dist/migrations/20210907124850-add-dbcritic-primary-keys.js.map +1 -0
- package/dist/migrations/20210908100701-add-enabled-to-environments.d.ts +5 -0
- package/dist/migrations/20210908100701-add-enabled-to-environments.js +14 -0
- package/dist/migrations/20210908100701-add-enabled-to-environments.js.map +1 -0
- package/dist/migrations/20210909085651-add-protected-field-to-environments.d.ts +5 -0
- package/dist/migrations/20210909085651-add-protected-field-to-environments.js +15 -0
- package/dist/migrations/20210909085651-add-protected-field-to-environments.js.map +1 -0
- package/dist/migrations/20210913103159-api-keys-scoping.d.ts +2 -0
- package/dist/migrations/20210913103159-api-keys-scoping.js +13 -0
- package/dist/migrations/20210913103159-api-keys-scoping.js.map +1 -0
- package/dist/migrations/20210915122001-add-project-and-environment-columns-to-events.d.ts +2 -0
- package/dist/migrations/20210915122001-add-project-and-environment-columns-to-events.js +22 -0
- package/dist/migrations/20210915122001-add-project-and-environment-columns-to-events.js.map +1 -0
- package/dist/migrations/20210920104218-rename-global-env-to-default-env.d.ts +2 -0
- package/dist/migrations/20210920104218-rename-global-env-to-default-env.js +25 -0
- package/dist/migrations/20210920104218-rename-global-env-to-default-env.js.map +1 -0
- package/dist/migrations/20210921105032-client-api-tokens-default.d.ts +2 -0
- package/dist/migrations/20210921105032-client-api-tokens-default.js +13 -0
- package/dist/migrations/20210921105032-client-api-tokens-default.js.map +1 -0
- package/dist/migrations/20210922084509-add-non-null-constraint-to-environment-type.d.ts +2 -0
- package/dist/migrations/20210922084509-add-non-null-constraint-to-environment-type.js +10 -0
- package/dist/migrations/20210922084509-add-non-null-constraint-to-environment-type.js.map +1 -0
- package/dist/migrations/20210922120521-add-tag-type-permission.d.ts +2 -0
- package/dist/migrations/20210922120521-add-tag-type-permission.js +19 -0
- package/dist/migrations/20210922120521-add-tag-type-permission.js.map +1 -0
- package/dist/migrations/20210928065411-remove-displayname-from-environments.d.ts +2 -0
- package/dist/migrations/20210928065411-remove-displayname-from-environments.js +10 -0
- package/dist/migrations/20210928065411-remove-displayname-from-environments.js.map +1 -0
- package/dist/migrations/20210928080601-add-development-and-production-environments.d.ts +2 -0
- package/dist/migrations/20210928080601-add-development-and-production-environments.js +16 -0
- package/dist/migrations/20210928080601-add-development-and-production-environments.js.map +1 -0
- package/dist/migrations/20210928082228-connect-default-environment-to-all-existing-projects.d.ts +2 -0
- package/dist/migrations/20210928082228-connect-default-environment-to-all-existing-projects.js +16 -0
- package/dist/migrations/20210928082228-connect-default-environment-to-all-existing-projects.js.map +1 -0
- package/dist/migrator.d.ts +3 -4
- package/dist/migrator.js +19 -5
- package/dist/migrator.js.map +1 -1
- package/dist/server-dev.js +1 -1
- package/dist/server-dev.js.map +1 -1
- package/dist/test/config/create-config.test.js +20 -20
- package/dist/test/config/create-config.test.js.map +1 -1
- package/dist/test/config/test-config.js +1 -1
- package/dist/test/config/test-config.js.map +1 -1
- package/dist/test/e2e/api/admin/addon.e2e.test.js +2 -2
- 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 -8
- 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 +161 -12
- package/dist/test/e2e/api/admin/api-token.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/archive.test.js +2 -2
- package/dist/test/e2e/api/admin/archive.test.js.map +1 -1
- package/dist/test/e2e/api/admin/bootstrap.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/{boostrap.test.js → bootstrap.test.js} +3 -3
- package/dist/test/e2e/api/admin/bootstrap.test.js.map +1 -0
- package/dist/test/e2e/api/admin/context.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/environment.test.js +82 -55
- package/dist/test/e2e/api/admin/environment.test.js.map +1 -1
- package/dist/test/e2e/api/admin/event.e2e.test.js +30 -2
- package/dist/test/e2e/api/admin/event.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature-type.test.js +2 -2
- package/dist/test/e2e/api/admin/feature-type.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.auth.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/feature.auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/feature.custom-auth.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.e2e.test.js +71 -65
- package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feedback.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/feedback.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/environments.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js +65 -0
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/project/feature.strategy.e2e.test.js +503 -72
- package/dist/test/e2e/api/admin/project/feature.strategy.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +4 -2
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/projects.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/project/projects.e2e.test.js +30 -0
- package/dist/test/e2e/api/admin/project/projects.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/state.e2e.test.js +163 -2
- package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/strategy.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/strategy.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/tag-types.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/tag-types.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/tags.e2e.test.js +2 -2
- package/dist/test/e2e/api/admin/tags.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js +3 -3
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user.test.js +2 -2
- package/dist/test/e2e/api/admin/user.test.js.map +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +5 -5
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.e2e.test.js +74 -19
- package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +49 -0
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +156 -0
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/client/metrics.e2e.access.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/client/metrics.e2e.access.e2e.test.js +42 -0
- package/dist/test/e2e/api/client/metrics.e2e.access.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/client/metrics.e2e.test.js +12 -8
- package/dist/test/e2e/api/client/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/register.e2e.test.js +18 -14
- package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
- package/dist/test/e2e/custom-auth.test.js +3 -3
- package/dist/test/e2e/custom-auth.test.js.map +1 -1
- package/dist/test/e2e/health.e2e.test.js +2 -2
- package/dist/test/e2e/health.e2e.test.js.map +1 -1
- package/dist/test/e2e/helpers/database-config.d.ts +1 -1
- package/dist/test/e2e/helpers/database-config.js +12 -8
- package/dist/test/e2e/helpers/database-config.js.map +1 -1
- package/dist/test/e2e/helpers/database-init.d.ts +7 -1
- package/dist/test/e2e/helpers/database-init.js +12 -11
- package/dist/test/e2e/helpers/database-init.js.map +1 -1
- package/dist/test/e2e/helpers/database.json +5 -2
- package/dist/test/e2e/helpers/test-helper.js +4 -4
- package/dist/test/e2e/helpers/test-helper.js.map +1 -1
- package/dist/test/e2e/routes/routes.test.js +2 -2
- package/dist/test/e2e/routes/routes.test.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/addon-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js +30 -17
- package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/environment-service.test.js +38 -40
- package/dist/test/e2e/services/environment-service.test.js.map +1 -1
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +19 -13
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js +12 -12
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-service.e2e.test.js +27 -4
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js +3 -3
- package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/session-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/setting-service.test.js +2 -2
- package/dist/test/e2e/services/setting-service.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-application-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/client-application-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-tag-store.e2e.test.js +4 -4
- package/dist/test/e2e/stores/feature-tag-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-type-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/feature-type-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/project-store.e2e.test.js +5 -2
- package/dist/test/e2e/stores/project-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/setting-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/setting-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/user-feedback-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/user-feedback-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/user-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/user-store.e2e.test.js.map +1 -1
- package/dist/test/fixtures/fake-api-token-store.d.ts +2 -1
- package/dist/test/fixtures/fake-api-token-store.js.map +1 -1
- package/dist/test/fixtures/fake-environment-store.d.ts +5 -3
- package/dist/test/fixtures/fake-environment-store.js +22 -15
- package/dist/test/fixtures/fake-environment-store.js.map +1 -1
- package/dist/test/fixtures/fake-event-store.d.ts +1 -0
- package/dist/test/fixtures/fake-event-store.js +3 -0
- package/dist/test/fixtures/fake-event-store.js.map +1 -1
- package/dist/test/fixtures/fake-feature-environment-store.d.ts +7 -5
- package/dist/test/fixtures/fake-feature-environment-store.js +31 -10
- package/dist/test/fixtures/fake-feature-environment-store.js.map +1 -1
- package/dist/test/fixtures/fake-feature-strategies-store.d.ts +7 -13
- package/dist/test/fixtures/fake-feature-strategies-store.js +14 -51
- package/dist/test/fixtures/fake-feature-strategies-store.js.map +1 -1
- package/dist/test/fixtures/fake-feature-toggle-client-store.d.ts +9 -0
- package/dist/test/fixtures/fake-feature-toggle-client-store.js +50 -0
- package/dist/test/fixtures/fake-feature-toggle-client-store.js.map +1 -0
- package/dist/test/fixtures/fake-feature-toggle-store.d.ts +7 -9
- package/dist/test/fixtures/fake-feature-toggle-store.js +7 -14
- package/dist/test/fixtures/fake-feature-toggle-store.js.map +1 -1
- package/dist/test/fixtures/fake-project-store.d.ts +1 -2
- package/dist/test/fixtures/fake-project-store.js +0 -7
- package/dist/test/fixtures/fake-project-store.js.map +1 -1
- package/dist/test/fixtures/permissions.d.ts +3 -3
- package/dist/test/fixtures/permissions.js +5 -4
- package/dist/test/fixtures/permissions.js.map +1 -1
- package/dist/test/fixtures/store.js +2 -0
- package/dist/test/fixtures/store.js.map +1 -1
- package/package.json +51 -45
- package/dist/lib/extract-user.d.ts +0 -2
- package/dist/lib/extract-user.js +0 -6
- package/dist/lib/extract-user.js.map +0 -1
- package/dist/test/e2e/api/admin/boostrap.test.js.map +0 -1
- package/docs/api/oas/swagger-ui-bundle.js +0 -3
- package/docs/api/oas/swagger-ui-bundle.js.map +0 -1
- package/docs/api/oas/swagger-ui-es-bundle-core.js +0 -3
- package/docs/api/oas/swagger-ui-es-bundle-core.js.map +0 -1
- package/docs/api/oas/swagger-ui-es-bundle.js +0 -3
- package/docs/api/oas/swagger-ui-es-bundle.js.map +0 -1
- package/docs/api/oas/swagger-ui-standalone-preset.js +0 -3
- package/docs/api/oas/swagger-ui-standalone-preset.js.map +0 -1
- package/docs/api/oas/swagger-ui.css +0 -8906
- package/docs/api/oas/swagger-ui.css.map +0 -1
- package/docs/api/oas/swagger-ui.js +0 -3
- package/docs/api/oas/swagger-ui.js.map +0 -1
- package/docs/api/oas/swagger.json +0 -1479
|
@@ -33,13 +33,6 @@ class FeatureToggleStore {
|
|
|
33
33
|
.where(query)
|
|
34
34
|
.then((res) => Number(res[0].count));
|
|
35
35
|
}
|
|
36
|
-
async getFeatureMetadata(name) {
|
|
37
|
-
return this.db
|
|
38
|
-
.first(FEATURE_COLUMNS)
|
|
39
|
-
.from(TABLE)
|
|
40
|
-
.where({ name, archived: 0 })
|
|
41
|
-
.then(this.rowToFeature);
|
|
42
|
-
}
|
|
43
36
|
async deleteAll() {
|
|
44
37
|
await this.db(TABLE).del();
|
|
45
38
|
}
|
|
@@ -48,14 +41,14 @@ class FeatureToggleStore {
|
|
|
48
41
|
return this.db
|
|
49
42
|
.first(FEATURE_COLUMNS)
|
|
50
43
|
.from(TABLE)
|
|
51
|
-
.where({ name
|
|
44
|
+
.where({ name })
|
|
52
45
|
.then(this.rowToFeature);
|
|
53
46
|
}
|
|
54
|
-
async getAll() {
|
|
47
|
+
async getAll(query = { archived: false }) {
|
|
55
48
|
const rows = await this.db
|
|
56
49
|
.select(FEATURE_COLUMNS)
|
|
57
50
|
.from(TABLE)
|
|
58
|
-
.where(
|
|
51
|
+
.where(query);
|
|
59
52
|
return rows.map(this.rowToFeature);
|
|
60
53
|
}
|
|
61
54
|
async getFeatures(archived) {
|
|
@@ -81,25 +74,6 @@ class FeatureToggleStore {
|
|
|
81
74
|
return undefined;
|
|
82
75
|
});
|
|
83
76
|
}
|
|
84
|
-
/**
|
|
85
|
-
* TODO: Should really be a Promise<boolean> rather than returning a { featureName, archived } object
|
|
86
|
-
* @param name
|
|
87
|
-
*/
|
|
88
|
-
async hasFeature(name) {
|
|
89
|
-
return this.db
|
|
90
|
-
.first('name', 'archived')
|
|
91
|
-
.from(TABLE)
|
|
92
|
-
.where({ name })
|
|
93
|
-
.then((row) => {
|
|
94
|
-
if (!row) {
|
|
95
|
-
throw new notfound_error_1.default('No feature toggle found');
|
|
96
|
-
}
|
|
97
|
-
return {
|
|
98
|
-
name: row.name,
|
|
99
|
-
archived: row.archived,
|
|
100
|
-
};
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
77
|
async exists(name) {
|
|
104
78
|
const result = await this.db.raw('SELECT EXISTS (SELECT 1 FROM features WHERE name = ?) AS present', [name]);
|
|
105
79
|
const { present } = result.rows[0];
|
|
@@ -109,11 +83,11 @@ class FeatureToggleStore {
|
|
|
109
83
|
const rows = await this.db
|
|
110
84
|
.select(FEATURE_COLUMNS)
|
|
111
85
|
.from(TABLE)
|
|
112
|
-
.where({ archived:
|
|
86
|
+
.where({ archived: true })
|
|
113
87
|
.orderBy('name', 'asc');
|
|
114
88
|
return rows.map(this.rowToFeature);
|
|
115
89
|
}
|
|
116
|
-
async
|
|
90
|
+
async setLastSeen(toggleNames) {
|
|
117
91
|
const now = new Date();
|
|
118
92
|
try {
|
|
119
93
|
await this.db(TABLE)
|
|
@@ -159,7 +133,7 @@ class FeatureToggleStore {
|
|
|
159
133
|
}
|
|
160
134
|
return row;
|
|
161
135
|
}
|
|
162
|
-
async
|
|
136
|
+
async create(project, data) {
|
|
163
137
|
try {
|
|
164
138
|
const row = await this.db(TABLE)
|
|
165
139
|
.insert(this.dtoToRow(project, data))
|
|
@@ -171,14 +145,14 @@ class FeatureToggleStore {
|
|
|
171
145
|
}
|
|
172
146
|
return undefined;
|
|
173
147
|
}
|
|
174
|
-
async
|
|
148
|
+
async update(project, data) {
|
|
175
149
|
const row = await this.db(TABLE)
|
|
176
150
|
.where({ name: data.name })
|
|
177
151
|
.update(this.dtoToRow(project, data))
|
|
178
152
|
.returning(FEATURE_COLUMNS);
|
|
179
153
|
return this.rowToFeature(row[0]);
|
|
180
154
|
}
|
|
181
|
-
async
|
|
155
|
+
async archive(name) {
|
|
182
156
|
const row = await this.db(TABLE)
|
|
183
157
|
.where({ name })
|
|
184
158
|
.update({ archived: true })
|
|
@@ -190,20 +164,13 @@ class FeatureToggleStore {
|
|
|
190
164
|
.where({ name, archived: true }) // Feature toggle must be archived to allow deletion
|
|
191
165
|
.del();
|
|
192
166
|
}
|
|
193
|
-
async
|
|
167
|
+
async revive(name) {
|
|
194
168
|
const row = await this.db(TABLE)
|
|
195
169
|
.where({ name })
|
|
196
170
|
.update({ archived: false })
|
|
197
171
|
.returning(FEATURE_COLUMNS);
|
|
198
172
|
return this.rowToFeature(row[0]);
|
|
199
173
|
}
|
|
200
|
-
async getFeaturesBy(params) {
|
|
201
|
-
const rows = await this.db(TABLE).where(params);
|
|
202
|
-
return rows.map(this.rowToFeature);
|
|
203
|
-
}
|
|
204
|
-
async getFeaturesByInternal(params) {
|
|
205
|
-
return this.db(TABLE).where(params);
|
|
206
|
-
}
|
|
207
174
|
}
|
|
208
175
|
exports.default = FeatureToggleStore;
|
|
209
176
|
module.exports = FeatureToggleStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-toggle-store.js","sourceRoot":"","sources":["../../../src/lib/db/feature-toggle-store.ts"],"names":[],"mappings":";;;;;AAEA,4EAAmD;AACnD,oDAA2C;AAC3C,6EAAoD;AAKpD,MAAM,eAAe,GAAG;IACpB,MAAM;IACN,aAAa;IACb,MAAM;IACN,SAAS;IACT,OAAO;IACP,UAAU;IACV,YAAY;IACZ,cAAc;CACjB,CAAC;AAaF,MAAM,KAAK,GAAG,UAAU,CAAC;AAEzB,MAAqB,kBAAkB;IAOnC,YAAY,EAAQ,EAAE,QAAsB,EAAE,SAAsB;QAChE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,CACpB,wBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,uBAAO,EAAE;YACvC,KAAK,EAAE,gBAAgB;YACvB,MAAM;SACT,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,KAAK,CACP,QAII,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvB,OAAO,IAAI,CAAC,EAAE;aACT,KAAK,CAAC,GAAG,CAAC;aACV,IAAI,CAAC,KAAK,CAAC;aACX,KAAK,CAAC,KAAK,CAAC;aACZ,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"feature-toggle-store.js","sourceRoot":"","sources":["../../../src/lib/db/feature-toggle-store.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/db/index.js
CHANGED
|
@@ -25,6 +25,7 @@ const access_store_1 = require("./access-store");
|
|
|
25
25
|
const reset_token_store_1 = require("./reset-token-store");
|
|
26
26
|
const user_feedback_store_1 = __importDefault(require("./user-feedback-store"));
|
|
27
27
|
const feature_strategy_store_1 = __importDefault(require("./feature-strategy-store"));
|
|
28
|
+
const feature_toggle_client_store_1 = __importDefault(require("./feature-toggle-client-store"));
|
|
28
29
|
const environment_store_1 = __importDefault(require("./environment-store"));
|
|
29
30
|
const feature_tag_store_1 = __importDefault(require("./feature-tag-store"));
|
|
30
31
|
const feature_environment_store_1 = require("./feature-environment-store");
|
|
@@ -53,6 +54,7 @@ const createStores = (config, eventBus, db) => {
|
|
|
53
54
|
sessionStore: new session_store_1.default(db, eventBus, getLogger),
|
|
54
55
|
userFeedbackStore: new user_feedback_store_1.default(db, eventBus, getLogger),
|
|
55
56
|
featureStrategiesStore: new feature_strategy_store_1.default(db, eventBus, getLogger),
|
|
57
|
+
featureToggleClientStore: new feature_toggle_client_store_1.default(db, eventBus, getLogger),
|
|
56
58
|
environmentStore: new environment_store_1.default(db, eventBus, getLogger),
|
|
57
59
|
featureTagStore: new feature_tag_store_1.default(db, eventBus, getLogger),
|
|
58
60
|
featureEnvironmentStore: new feature_environment_store_1.FeatureEnvironmentStore(db, eventBus, getLogger),
|
package/dist/lib/db/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/db/index.ts"],"names":[],"mappings":";;;;;;AAKA,gEAAuC;AACvC,kFAAwD;AACxD,8EAAoD;AACpD,sEAA6C;AAC7C,oFAA0D;AAC1D,2DAAsD;AACtD,iEAA4D;AAC5D,4FAAkE;AAClE,gFAAsD;AACtD,oEAA2C;AAC3C,8DAAqC;AACrC,oEAA2C;AAC3C,4DAAmC;AACnC,sEAA4C;AAC5C,gEAAuC;AACvC,uDAAkD;AAClD,oEAA2C;AAC3C,iDAA6C;AAC7C,2DAAsD;AACtD,gFAAsD;AACtD,sFAA4D;AAC5D,4EAAmD;AACnD,4EAAkD;AAClD,2EAAsE;AAE/D,MAAM,YAAY,GAAG,CACxB,MAAsB,EACtB,QAAsB,EACtB,EAAQ,EACM,EAAE;IAChB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,qBAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,IAAI,mCAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAE3D,OAAO;QACH,UAAU;QACV,kBAAkB,EAAE,IAAI,8BAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QACnE,gBAAgB,EAAE,IAAI,4BAAgB,CAAC,EAAE,EAAE,SAAS,CAAC;QACrD,aAAa,EAAE,IAAI,wBAAa,CAAC,EAAE,EAAE,SAAS,CAAC;QAC/C,uBAAuB,EAAE,IAAI,mCAAuB,CAChD,EAAE,EACF,QAAQ,EACR,SAAS,CACZ;QACD,mBAAmB,EAAE,IAAI,+BAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QACrE,kBAAkB,EAAE,IAAI,yCAAkB,CACtC,eAAe,EACf,QAAQ,EACR,SAAS,CACZ;QACD,iBAAiB,EAAE,IAAI,6BAAiB,CAAC,EAAE,EAAE,SAAS,CAAC;QACvD,YAAY,EAAE,IAAI,uBAAY,CAAC,EAAE,EAAE,SAAS,CAAC;QAC7C,SAAS,EAAE,IAAI,oBAAS,CAAC,EAAE,EAAE,SAAS,CAAC;QACvC,YAAY,EAAE,IAAI,uBAAY,CAAC,EAAE,EAAE,SAAS,CAAC;QAC7C,QAAQ,EAAE,IAAI,mBAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC/C,YAAY,EAAE,IAAI,wBAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QACvD,UAAU,EAAE,IAAI,qBAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QACnD,WAAW,EAAE,IAAI,0BAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QACrD,aAAa,EAAE,IAAI,+BAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QACzD,eAAe,EAAE,IAAI,mCAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC7D,YAAY,EAAE,IAAI,uBAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QACvD,iBAAiB,EAAE,IAAI,6BAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QACjE,sBAAsB,EAAE,IAAI,gCAAoB,CAC5C,EAAE,EACF,QAAQ,EACR,SAAS,CACZ;QACD,gBAAgB,EAAE,IAAI,2BAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC/D,eAAe,EAAE,IAAI,2BAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC7D,uBAAuB,EAAE,IAAI,mDAAuB,CAChD,EAAE,EACF,QAAQ,EACR,SAAS,CACZ;KACJ,CAAC;AACN,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/db/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Knex } from 'knex';
|
|
2
2
|
import { LogProvider } from '../logger';
|
|
3
|
-
import {
|
|
4
|
-
import { IProjectHealthUpdate, IProjectInsert, IProjectStore } from '../types/stores/project-store';
|
|
3
|
+
import { IProject } from '../types/model';
|
|
4
|
+
import { IProjectHealthUpdate, IProjectInsert, IProjectQuery, IProjectStore } from '../types/stores/project-store';
|
|
5
5
|
declare class ProjectStore implements IProjectStore {
|
|
6
6
|
private db;
|
|
7
7
|
private logger;
|
|
@@ -9,23 +9,21 @@ declare class ProjectStore implements IProjectStore {
|
|
|
9
9
|
fieldToRow(data: any): IProjectInsert;
|
|
10
10
|
destroy(): void;
|
|
11
11
|
exists(id: string): Promise<boolean>;
|
|
12
|
-
getAll(): Promise<IProject[]>;
|
|
12
|
+
getAll(query?: IProjectQuery): Promise<IProject[]>;
|
|
13
13
|
get(id: string): Promise<IProject>;
|
|
14
14
|
hasProject(id: string): Promise<boolean>;
|
|
15
15
|
updateHealth(healthUpdate: IProjectHealthUpdate): Promise<void>;
|
|
16
16
|
create(project: IProjectInsert): Promise<IProject>;
|
|
17
17
|
update(data: any): Promise<void>;
|
|
18
18
|
importProjects(projects: IProjectInsert[]): Promise<IProject[]>;
|
|
19
|
-
|
|
19
|
+
addDefaultEnvironment(projects: any[]): Promise<void>;
|
|
20
20
|
deleteAll(): Promise<void>;
|
|
21
21
|
delete(id: string): Promise<void>;
|
|
22
22
|
deleteEnvironmentForProject(id: string, environment: string): Promise<void>;
|
|
23
23
|
addEnvironmentToProject(id: string, environment: string): Promise<void>;
|
|
24
24
|
getEnvironmentsForProject(id: string): Promise<string[]>;
|
|
25
25
|
getMembers(projectId: string): Promise<number>;
|
|
26
|
-
getProjectOverview(projectId: string, archived?: boolean): Promise<IFeatureOverview[]>;
|
|
27
26
|
count(): Promise<number>;
|
|
28
|
-
private getEnvironment;
|
|
29
27
|
mapRow(row: any): IProject;
|
|
30
28
|
}
|
|
31
29
|
export default ProjectStore;
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const notfound_error_1 = __importDefault(require("../error/notfound-error"));
|
|
7
|
+
const constants_1 = require("../util/constants");
|
|
7
8
|
const COLUMNS = ['id', 'name', 'description', 'created_at', 'health'];
|
|
8
9
|
const TABLE = 'projects';
|
|
9
10
|
class ProjectStore {
|
|
@@ -25,10 +26,11 @@ class ProjectStore {
|
|
|
25
26
|
const { present } = result.rows[0];
|
|
26
27
|
return present;
|
|
27
28
|
}
|
|
28
|
-
async getAll() {
|
|
29
|
+
async getAll(query = {}) {
|
|
29
30
|
const rows = await this.db
|
|
30
31
|
.select(COLUMNS)
|
|
31
32
|
.from(TABLE)
|
|
33
|
+
.where(query)
|
|
32
34
|
.orderBy('name', 'asc');
|
|
33
35
|
return rows.map(this.mapRow);
|
|
34
36
|
}
|
|
@@ -73,15 +75,15 @@ class ProjectStore {
|
|
|
73
75
|
.onConflict('id')
|
|
74
76
|
.ignore();
|
|
75
77
|
if (rows.length > 0) {
|
|
76
|
-
await this.
|
|
78
|
+
await this.addDefaultEnvironment(rows);
|
|
77
79
|
return rows.map(this.mapRow);
|
|
78
80
|
}
|
|
79
81
|
return [];
|
|
80
82
|
}
|
|
81
|
-
async
|
|
83
|
+
async addDefaultEnvironment(projects) {
|
|
82
84
|
const environments = projects.map((p) => ({
|
|
83
85
|
project_id: p.id,
|
|
84
|
-
environment_name:
|
|
86
|
+
environment_name: constants_1.DEFAULT_ENV,
|
|
85
87
|
}));
|
|
86
88
|
await this.db('project_environments')
|
|
87
89
|
.insert(environments)
|
|
@@ -118,7 +120,7 @@ class ProjectStore {
|
|
|
118
120
|
.where({
|
|
119
121
|
project_id: id,
|
|
120
122
|
})
|
|
121
|
-
.
|
|
123
|
+
.pluck('environment_name');
|
|
122
124
|
}
|
|
123
125
|
async getMembers(projectId) {
|
|
124
126
|
const rolesFromProject = this.db('role_permission')
|
|
@@ -135,36 +137,6 @@ class ProjectStore {
|
|
|
135
137
|
}
|
|
136
138
|
return members;
|
|
137
139
|
}
|
|
138
|
-
async getProjectOverview(projectId, archived = false) {
|
|
139
|
-
const rows = await this.db('features')
|
|
140
|
-
.where({ project: projectId, archived })
|
|
141
|
-
.select('features.name as feature_name', 'features.type as type', 'features.created_at as created_at', 'features.last_seen_at as last_seen_at', 'features.stale as stale', 'feature_environments.enabled as enabled', 'feature_environments.environment as environment', 'environments.display_name as display_name')
|
|
142
|
-
.fullOuterJoin('feature_environments', 'feature_environments.feature_name', 'features.name')
|
|
143
|
-
.fullOuterJoin('environments', 'feature_environments.environment', 'environments.name');
|
|
144
|
-
if (rows.length > 0) {
|
|
145
|
-
const overview = rows.reduce((acc, r) => {
|
|
146
|
-
if (acc[r.feature_name] !== undefined) {
|
|
147
|
-
acc[r.feature_name].environments.push(this.getEnvironment(r));
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
acc[r.feature_name] = {
|
|
151
|
-
type: r.type,
|
|
152
|
-
name: r.feature_name,
|
|
153
|
-
createdAt: r.created_at,
|
|
154
|
-
lastSeenAt: r.last_seen_at,
|
|
155
|
-
stale: r.stale,
|
|
156
|
-
environments: [this.getEnvironment(r)],
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
return acc;
|
|
160
|
-
}, {});
|
|
161
|
-
return Object.values(overview).map((o) => ({
|
|
162
|
-
...o,
|
|
163
|
-
environments: o.environments.filter((f) => f.name),
|
|
164
|
-
}));
|
|
165
|
-
}
|
|
166
|
-
return [];
|
|
167
|
-
}
|
|
168
140
|
async count() {
|
|
169
141
|
return this.db
|
|
170
142
|
.count('*')
|
|
@@ -172,14 +144,6 @@ class ProjectStore {
|
|
|
172
144
|
.then((res) => Number(res[0].count));
|
|
173
145
|
}
|
|
174
146
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
175
|
-
getEnvironment(r) {
|
|
176
|
-
return {
|
|
177
|
-
name: r.environment,
|
|
178
|
-
displayName: r.display_name,
|
|
179
|
-
enabled: r.enabled,
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
183
147
|
mapRow(row) {
|
|
184
148
|
if (!row) {
|
|
185
149
|
throw new notfound_error_1.default('No project found');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-store.js","sourceRoot":"","sources":["../../../src/lib/db/project-store.ts"],"names":[],"mappings":";;;;;AAGA,6EAAoD;
|
|
1
|
+
{"version":3,"file":"project-store.js","sourceRoot":"","sources":["../../../src/lib/db/project-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const events_1 = require("events");
|
|
4
|
+
const event_hook_1 = require("./event-hook");
|
|
5
|
+
const events_2 = require("./types/events");
|
|
6
|
+
const eventStore = new events_1.EventEmitter();
|
|
6
7
|
const o = {};
|
|
7
8
|
function testHook(feature, data) {
|
|
8
9
|
o[feature] = data;
|
|
9
10
|
}
|
|
10
11
|
beforeAll(() => {
|
|
11
|
-
addEventHook(testHook, eventStore);
|
|
12
|
+
(0, event_hook_1.addEventHook)(testHook, eventStore);
|
|
12
13
|
});
|
|
13
|
-
[FEATURE_CREATED, FEATURE_UPDATED, FEATURE_ARCHIVED, FEATURE_REVIVED].forEach((feature) => {
|
|
14
|
+
[events_2.FEATURE_CREATED, events_2.FEATURE_UPDATED, events_2.FEATURE_ARCHIVED, events_2.FEATURE_REVIVED].forEach((feature) => {
|
|
14
15
|
test(`should invoke hook on ${feature}`, () => {
|
|
15
16
|
const data = { dataKey: feature };
|
|
16
17
|
eventStore.emit(feature, data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-hook.test.js","sourceRoot":"","sources":["../../src/lib/event-hook.test.
|
|
1
|
+
{"version":3,"file":"event-hook.test.js","sourceRoot":"","sources":["../../src/lib/event-hook.test.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AACtC,6CAA4C;AAC5C,2CAKwB;AAExB,MAAM,UAAU,GAAG,IAAI,qBAAY,EAAE,CAAC;AACtC,MAAM,CAAC,GAAG,EAAE,CAAC;AAEb,SAAS,QAAQ,CAAC,OAAO,EAAE,IAAI;IAC3B,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,CAAC,GAAG,EAAE;IACX,IAAA,yBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,CAAC,wBAAe,EAAE,wBAAe,EAAE,yBAAgB,EAAE,wBAAe,CAAC,CAAC,OAAO,CACzE,CAAC,OAAO,EAAE,EAAE;IACR,IAAI,CAAC,yBAAyB,OAAO,EAAE,EAAE,GAAG,EAAE;QAC1C,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACP,CAAC,CACJ,CAAC"}
|
package/dist/lib/logger.js
CHANGED
|
@@ -11,7 +11,7 @@ var LogLevel;
|
|
|
11
11
|
LogLevel["fatal"] = "fatal";
|
|
12
12
|
})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
|
|
13
13
|
function getDefaultLogProvider(logLevel = LogLevel.error) {
|
|
14
|
-
log4js_1.configure({
|
|
14
|
+
(0, log4js_1.configure)({
|
|
15
15
|
appenders: {
|
|
16
16
|
console: { type: 'console' },
|
|
17
17
|
},
|
package/dist/lib/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":";;;AAAA,mCAA8C;AAI9C,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,2BAAe,CAAA;AACnB,CAAC,EANW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAMnB;AAUD,SAAgB,qBAAqB,CACjC,WAAqB,QAAQ,CAAC,KAAK;IAEnC,kBAAS,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":";;;AAAA,mCAA8C;AAI9C,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,2BAAe,CAAA;AACnB,CAAC,EANW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAMnB;AAUD,SAAgB,qBAAqB,CACjC,WAAqB,QAAQ,CAAC,KAAK;IAEnC,IAAA,kBAAS,EAAC;QACN,SAAS,EAAE;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/B;QACD,UAAU,EAAE;YACR,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;SACvD;KACJ,CAAC,CAAC;IAEH,OAAO,kBAAS,CAAC;AACrB,CAAC;AAbD,sDAaC;AAED,SAAS,QAAQ,CAAC,OAAgB,EAAE,GAAW;IAC3C,IAAI,CAAC,OAAO,EAAE;QACV,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;KAC5B;AACL,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAAqB;IACrD,QAAQ,CAAC,OAAO,QAAQ,KAAK,UAAU,EAAE,iCAAiC,CAAC,CAAC;IAE5E,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,6BAA6B,CAAC,CAAC;IAC5E,QAAQ,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,4BAA4B,CAAC,CAAC;IAC1E,QAAQ,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,4BAA4B,CAAC,CAAC;IAC1E,QAAQ,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,6BAA6B,CAAC,CAAC;AAChF,CAAC;AARD,kDAQC"}
|
package/dist/lib/logger.test.js
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const logger = __importStar(require("./logger"));
|
|
3
23
|
test('should require custom logger to implement info', () => {
|
|
4
24
|
const loggerImpl = {
|
|
5
25
|
debug: () => { },
|
|
@@ -8,7 +28,8 @@ test('should require custom logger to implement info', () => {
|
|
|
8
28
|
};
|
|
9
29
|
const provider = () => loggerImpl;
|
|
10
30
|
expect(() => {
|
|
11
|
-
|
|
31
|
+
// @ts-ignore:next-line
|
|
32
|
+
return logger.validateLogProvider(provider);
|
|
12
33
|
}).toThrowError(new TypeError('Logger must implement info'));
|
|
13
34
|
});
|
|
14
35
|
test('should require custom logger to implement error', () => {
|
|
@@ -19,7 +40,8 @@ test('should require custom logger to implement error', () => {
|
|
|
19
40
|
};
|
|
20
41
|
const provider = () => loggerImpl;
|
|
21
42
|
expect(() => {
|
|
22
|
-
|
|
43
|
+
// @ts-ignore:next-line
|
|
44
|
+
return logger.validateLogProvider(provider);
|
|
23
45
|
}).toThrowError(new TypeError('Logger must implement error'));
|
|
24
46
|
});
|
|
25
47
|
//# sourceMappingURL=logger.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../src/lib/logger.test.
|
|
1
|
+
{"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../../src/lib/logger.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAEnC,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;IACxD,MAAM,UAAU,GAAG;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;KAClB,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE;QACR,uBAAuB;QACvB,OAAO,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;IACzD,MAAM,UAAU,GAAG;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;KACjB,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE;QACR,uBAAuB;QACvB,OAAO,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC"}
|
package/dist/lib/metrics.test.js
CHANGED
|
@@ -10,17 +10,17 @@ const metric_events_1 = require("./metric-events");
|
|
|
10
10
|
const events_2 = require("./types/events");
|
|
11
11
|
const metrics_1 = require("./metrics");
|
|
12
12
|
const store_1 = __importDefault(require("../test/fixtures/store"));
|
|
13
|
-
const monitor = metrics_1.createMetricsMonitor();
|
|
13
|
+
const monitor = (0, metrics_1.createMetricsMonitor)();
|
|
14
14
|
const eventBus = new events_1.default();
|
|
15
15
|
const prometheusRegister = prom_client_1.register;
|
|
16
16
|
let stores;
|
|
17
17
|
beforeAll(() => {
|
|
18
|
-
const config = test_config_1.createTestConfig({
|
|
18
|
+
const config = (0, test_config_1.createTestConfig)({
|
|
19
19
|
server: {
|
|
20
20
|
serverMetrics: true,
|
|
21
21
|
},
|
|
22
22
|
});
|
|
23
|
-
stores = store_1.default();
|
|
23
|
+
stores = (0, store_1.default)();
|
|
24
24
|
const db = {
|
|
25
25
|
client: {
|
|
26
26
|
pool: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../src/lib/metrics.test.ts"],"names":[],"mappings":";;;;;AAAA,6CAAuC;AACvC,oDAAkC;AAClC,4DAA8D;AAC9D,mDAAwD;AACxD,2CAAiD;AACjD,uCAAiD;AACjD,mEAAkD;AAElD,MAAM,OAAO,GAAG,8BAAoB,
|
|
1
|
+
{"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../src/lib/metrics.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
|
4
|
+
const api_token_1 = require("../types/models/api-token");
|
|
5
|
+
const isClientApi = ({ path }) => {
|
|
6
|
+
return path && path.startsWith('/api/client');
|
|
7
|
+
};
|
|
3
8
|
const apiAccessMiddleware = ({ getLogger, authentication, }, { apiTokenService }) => {
|
|
4
9
|
const logger = getLogger('/middleware/api-token.ts');
|
|
5
|
-
logger.
|
|
10
|
+
logger.debug('Enabling api-token middleware');
|
|
6
11
|
if (!authentication.enableApiToken) {
|
|
7
12
|
return (req, res, next) => next();
|
|
8
13
|
}
|
|
9
14
|
return (req, res, next) => {
|
|
10
|
-
if (req.
|
|
15
|
+
if (req.user) {
|
|
11
16
|
return next();
|
|
12
17
|
}
|
|
13
18
|
try {
|
|
14
19
|
const apiToken = req.header('authorization');
|
|
15
20
|
const apiUser = apiTokenService.getUserForToken(apiToken);
|
|
16
21
|
if (apiUser) {
|
|
22
|
+
if (apiUser.type === api_token_1.ApiTokenType.CLIENT && !isClientApi(req)) {
|
|
23
|
+
return res.sendStatus(403);
|
|
24
|
+
}
|
|
17
25
|
req.user = apiUser;
|
|
18
26
|
}
|
|
19
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-token-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/api-token-middleware.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"api-token-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/api-token-middleware.ts"],"names":[],"mappings":";;AAAA,sEAAsE;AACtE,yDAAyD;AAGzD,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7B,OAAO,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CACxB,EACI,SAAS,EACT,cAAc,GACqC,EACvD,EAAE,eAAe,EAAO,EACrB,EAAE;IACL,MAAM,MAAM,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAE9C,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;QAChC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;KACrC;IAED,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,EAAE,CAAC;SACjB;QAED,IAAI;YACA,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,OAAO,EAAE;gBACT,IAAI,OAAO,CAAC,IAAI,KAAK,wBAAY,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;oBAC3D,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC9B;gBACD,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;aACtB;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,mBAAmB,CAAC;AACrC,kBAAe,mBAAmB,CAAC"}
|