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
|
@@ -3,73 +3,113 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const fast_json_patch_1 = require("fast-json-patch");
|
|
6
7
|
const controller_1 = __importDefault(require("../../controller"));
|
|
7
8
|
const permissions_1 = require("../../../types/permissions");
|
|
8
|
-
const extract_user_1 =
|
|
9
|
-
const
|
|
9
|
+
const extract_user_1 = require("../../../util/extract-user");
|
|
10
|
+
const PATH = '/:projectId/features';
|
|
11
|
+
const PATH_FEATURE = `${PATH}/:featureName`;
|
|
12
|
+
const PATH_ENV = `${PATH_FEATURE}/environments/:environment`;
|
|
13
|
+
const PATH_STRATEGIES = `${PATH_ENV}/strategies`;
|
|
14
|
+
const PATH_STRATEGY = `${PATH_STRATEGIES}/:strategyId`;
|
|
10
15
|
class ProjectFeaturesController extends controller_1.default {
|
|
11
|
-
constructor(config, { featureToggleServiceV2
|
|
16
|
+
constructor(config, { featureToggleServiceV2 }) {
|
|
12
17
|
super(config);
|
|
13
18
|
this.featureService = featureToggleServiceV2;
|
|
14
|
-
this.projectHealthService = projectHealthService;
|
|
15
19
|
this.logger = config.getLogger('/admin-api/project/features.ts');
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.post(`${
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.get(`${
|
|
22
|
-
this.put(`${
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
25
|
-
this.get(
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
this.get(`${PATH_ENV}`, this.getEnvironment);
|
|
21
|
+
this.post(`${PATH_ENV}/on`, this.toggleEnvironmentOn, permissions_1.UPDATE_FEATURE);
|
|
22
|
+
this.post(`${PATH_ENV}/off`, this.toggleEnvironmentOff, permissions_1.UPDATE_FEATURE);
|
|
23
|
+
this.get(`${PATH_STRATEGIES}`, this.getStrategies);
|
|
24
|
+
this.post(`${PATH_STRATEGIES}`, this.addStrategy, permissions_1.UPDATE_FEATURE);
|
|
25
|
+
this.get(`${PATH_STRATEGY}`, this.getStrategy);
|
|
26
|
+
this.put(`${PATH_STRATEGY}`, this.updateStrategy, permissions_1.UPDATE_FEATURE);
|
|
27
|
+
this.patch(`${PATH_STRATEGY}`, this.patchStrategy, permissions_1.UPDATE_FEATURE);
|
|
28
|
+
this.delete(`${PATH_STRATEGY}`, this.deleteStrategy, permissions_1.DELETE_FEATURE);
|
|
29
|
+
this.get(PATH, this.getFeatures);
|
|
30
|
+
this.post(PATH, this.createFeature, permissions_1.CREATE_FEATURE);
|
|
31
|
+
this.get(PATH_FEATURE, this.getFeature);
|
|
32
|
+
this.put(PATH_FEATURE, this.updateFeature);
|
|
33
|
+
this.patch(PATH_FEATURE, this.patchFeature);
|
|
34
|
+
this.delete(PATH_FEATURE, this.archiveFeature);
|
|
35
|
+
}
|
|
36
|
+
async getFeatures(req, res) {
|
|
28
37
|
const { projectId } = req.params;
|
|
29
|
-
const features = await this.featureService.
|
|
30
|
-
project: [projectId],
|
|
31
|
-
});
|
|
38
|
+
const features = await this.featureService.getFeatureOverview(projectId);
|
|
32
39
|
res.json({ version: 1, features });
|
|
33
40
|
}
|
|
34
|
-
async
|
|
41
|
+
async createFeature(req, res) {
|
|
35
42
|
const { projectId } = req.params;
|
|
36
|
-
const userName = extract_user_1.
|
|
43
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
37
44
|
const created = await this.featureService.createFeatureToggle(projectId, req.body, userName);
|
|
38
45
|
res.status(201).json(created);
|
|
39
46
|
}
|
|
40
|
-
async getEnvironment(req, res) {
|
|
41
|
-
const { environment, featureName, projectId } = req.params;
|
|
42
|
-
const environmentInfo = await this.featureService.getEnvironmentInfo(projectId, environment, featureName);
|
|
43
|
-
res.status(200).json(environmentInfo);
|
|
44
|
-
}
|
|
45
47
|
async getFeature(req, res) {
|
|
46
48
|
const { featureName } = req.params;
|
|
47
49
|
const feature = await this.featureService.getFeature(featureName);
|
|
48
50
|
res.status(200).json(feature);
|
|
49
51
|
}
|
|
52
|
+
async updateFeature(req, res) {
|
|
53
|
+
const { projectId } = req.params;
|
|
54
|
+
const data = req.body;
|
|
55
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
56
|
+
const created = await this.featureService.updateFeatureToggle(projectId, data, userName);
|
|
57
|
+
res.status(200).json(created);
|
|
58
|
+
}
|
|
59
|
+
async patchFeature(req, res) {
|
|
60
|
+
const { projectId, featureName } = req.params;
|
|
61
|
+
const featureToggle = await this.featureService.getFeatureMetadata(featureName);
|
|
62
|
+
const { newDocument } = (0, fast_json_patch_1.applyPatch)(featureToggle, req.body);
|
|
63
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
64
|
+
const updated = await this.featureService.updateFeatureToggle(projectId, newDocument, userName);
|
|
65
|
+
res.status(200).json(updated);
|
|
66
|
+
}
|
|
67
|
+
// TODO: validate projectId
|
|
68
|
+
async archiveFeature(req, res) {
|
|
69
|
+
const { featureName } = req.params;
|
|
70
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
71
|
+
await this.featureService.archiveToggle(featureName, userName);
|
|
72
|
+
res.status(202).send();
|
|
73
|
+
}
|
|
74
|
+
async getEnvironment(req, res) {
|
|
75
|
+
const { environment, featureName, projectId } = req.params;
|
|
76
|
+
const environmentInfo = await this.featureService.getEnvironmentInfo(projectId, environment, featureName);
|
|
77
|
+
res.status(200).json(environmentInfo);
|
|
78
|
+
}
|
|
50
79
|
async toggleEnvironmentOn(req, res) {
|
|
51
|
-
const { featureName, environment } = req.params;
|
|
52
|
-
await this.featureService.updateEnabled(featureName, environment, true, extract_user_1.
|
|
80
|
+
const { featureName, environment, projectId } = req.params;
|
|
81
|
+
await this.featureService.updateEnabled(projectId, featureName, environment, true, (0, extract_user_1.extractUsername)(req));
|
|
53
82
|
res.status(200).end();
|
|
54
83
|
}
|
|
55
84
|
async toggleEnvironmentOff(req, res) {
|
|
56
|
-
const { featureName, environment } = req.params;
|
|
57
|
-
await this.featureService.updateEnabled(featureName, environment, false, extract_user_1.
|
|
85
|
+
const { featureName, environment, projectId } = req.params;
|
|
86
|
+
await this.featureService.updateEnabled(projectId, featureName, environment, false, (0, extract_user_1.extractUsername)(req));
|
|
58
87
|
res.status(200).end();
|
|
59
88
|
}
|
|
60
|
-
async
|
|
89
|
+
async addStrategy(req, res) {
|
|
61
90
|
const { projectId, featureName, environment } = req.params;
|
|
62
|
-
const
|
|
91
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
92
|
+
const featureStrategy = await this.featureService.createStrategy(req.body, projectId, featureName, userName, environment);
|
|
63
93
|
res.status(200).json(featureStrategy);
|
|
64
94
|
}
|
|
65
|
-
async
|
|
95
|
+
async getStrategies(req, res) {
|
|
66
96
|
const { projectId, featureName, environment } = req.params;
|
|
67
97
|
const featureStrategies = await this.featureService.getStrategiesForEnvironment(projectId, featureName, environment);
|
|
68
98
|
res.status(200).json(featureStrategies);
|
|
69
99
|
}
|
|
70
100
|
async updateStrategy(req, res) {
|
|
71
|
-
const { strategyId } = req.params;
|
|
72
|
-
const
|
|
101
|
+
const { strategyId, environment, projectId } = req.params;
|
|
102
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
103
|
+
const updatedStrategy = await this.featureService.updateStrategy(strategyId, environment, projectId, userName, req.body);
|
|
104
|
+
res.status(200).json(updatedStrategy);
|
|
105
|
+
}
|
|
106
|
+
async patchStrategy(req, res) {
|
|
107
|
+
const { strategyId, projectId, environment } = req.params;
|
|
108
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
109
|
+
const patch = req.body;
|
|
110
|
+
const strategy = await this.featureService.getStrategy(strategyId);
|
|
111
|
+
const { newDocument } = (0, fast_json_patch_1.applyPatch)(strategy, patch);
|
|
112
|
+
const updatedStrategy = await this.featureService.updateStrategy(strategyId, environment, projectId, userName, newDocument);
|
|
73
113
|
res.status(200).json(updatedStrategy);
|
|
74
114
|
}
|
|
75
115
|
async getStrategy(req, res) {
|
|
@@ -79,6 +119,28 @@ class ProjectFeaturesController extends controller_1.default {
|
|
|
79
119
|
const strategy = await this.featureService.getStrategy(strategyId);
|
|
80
120
|
res.status(200).json(strategy);
|
|
81
121
|
}
|
|
122
|
+
async deleteStrategy(req, res) {
|
|
123
|
+
this.logger.info('Deleting strategy');
|
|
124
|
+
const { environment, projectId } = req.params;
|
|
125
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
126
|
+
const { strategyId } = req.params;
|
|
127
|
+
this.logger.info(strategyId);
|
|
128
|
+
const strategy = await this.featureService.deleteStrategy(strategyId, userName, projectId, environment);
|
|
129
|
+
res.status(200).json(strategy);
|
|
130
|
+
}
|
|
131
|
+
async updateStrategyParameter(req, res) {
|
|
132
|
+
const { strategyId, environment, projectId } = req.params;
|
|
133
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
134
|
+
const { name, value } = req.body;
|
|
135
|
+
const updatedStrategy = await this.featureService.updateStrategyParameter(strategyId, name, value, userName, projectId, environment);
|
|
136
|
+
res.status(200).json(updatedStrategy);
|
|
137
|
+
}
|
|
138
|
+
async getStrategyParameters(req, res) {
|
|
139
|
+
this.logger.info('Getting strategy parameters');
|
|
140
|
+
const { strategyId } = req.params;
|
|
141
|
+
const strategy = await this.featureService.getStrategy(strategyId);
|
|
142
|
+
res.status(200).json(strategy.parameters);
|
|
143
|
+
}
|
|
82
144
|
}
|
|
83
145
|
exports.default = ProjectFeaturesController;
|
|
84
146
|
//# sourceMappingURL=features.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/features.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;AAK1C,
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/features.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const controller_1 = __importDefault(require("../../controller"));
|
|
7
|
-
const util_1 = require("../../util");
|
|
8
7
|
class ProjectHealthReport extends controller_1.default {
|
|
9
8
|
constructor(config, { projectHealthService, }) {
|
|
10
9
|
super(config);
|
|
@@ -16,26 +15,16 @@ class ProjectHealthReport extends controller_1.default {
|
|
|
16
15
|
async getProjectOverview(req, res) {
|
|
17
16
|
const { projectId } = req.params;
|
|
18
17
|
const { archived } = req.query;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
res.json(overview);
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
util_1.handleErrors(res, this.logger, e);
|
|
25
|
-
}
|
|
18
|
+
const overview = await this.projectHealthService.getProjectOverview(projectId, archived);
|
|
19
|
+
res.json(overview);
|
|
26
20
|
}
|
|
27
21
|
async getProjectHealthReport(req, res) {
|
|
28
22
|
const { projectId } = req.params;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
catch (e) {
|
|
37
|
-
util_1.handleErrors(res, this.logger, e);
|
|
38
|
-
}
|
|
23
|
+
const overview = await this.projectHealthService.getProjectHealthReport(projectId);
|
|
24
|
+
res.json({
|
|
25
|
+
version: 2,
|
|
26
|
+
...overview,
|
|
27
|
+
});
|
|
39
28
|
}
|
|
40
29
|
}
|
|
41
30
|
exports.default = ProjectHealthReport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-report.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/health-report.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;
|
|
1
|
+
{"version":3,"file":"health-report.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/health-report.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;AAO1C,MAAqB,mBAAoB,SAAQ,oBAAU;IAKvD,YACI,MAAsB,EACtB,EACI,oBAAoB,GACyB;QAEjD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,GAAqD,EACrD,GAAa;QAEb,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAC/D,SAAS,EACT,QAAQ,CACX,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,sBAAsB,CACxB,GAA0C,EAC1C,GAAa;QAEb,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CACnE,SAAS,CACZ,CAAC;QACF,GAAG,CAAC,IAAI,CAAC;YACL,OAAO,EAAE,CAAC;YACV,GAAG,QAAQ;SACd,CAAC,CAAC;IACP,CAAC;CACJ;AA5CD,sCA4CC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
1
2
|
import Controller from '../../controller';
|
|
2
3
|
import { IUnleashConfig } from '../../../types/option';
|
|
3
4
|
import { IUnleashServices } from '../../../types/services';
|
|
4
5
|
export default class ProjectApi extends Controller {
|
|
6
|
+
private projectService;
|
|
5
7
|
constructor(config: IUnleashConfig, services: IUnleashServices);
|
|
8
|
+
getProjects(req: Request, res: Response): Promise<void>;
|
|
6
9
|
}
|
|
@@ -10,10 +10,18 @@ const health_report_1 = __importDefault(require("./health-report"));
|
|
|
10
10
|
class ProjectApi extends controller_1.default {
|
|
11
11
|
constructor(config, services) {
|
|
12
12
|
super(config);
|
|
13
|
+
this.projectService = services.projectService;
|
|
14
|
+
this.get('/', this.getProjects);
|
|
13
15
|
this.use('/', new features_1.default(config, services).router);
|
|
14
16
|
this.use('/', new environments_1.default(config, services).router);
|
|
15
17
|
this.use('/', new health_report_1.default(config, services).router);
|
|
16
18
|
}
|
|
19
|
+
async getProjects(req, res) {
|
|
20
|
+
const projects = await this.projectService.getProjects({
|
|
21
|
+
id: 'default',
|
|
22
|
+
});
|
|
23
|
+
res.json({ version: 1, projects }).end();
|
|
24
|
+
}
|
|
17
25
|
}
|
|
18
26
|
exports.default = ProjectApi;
|
|
19
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/routes/admin-api/project/index.ts"],"names":[],"mappings":";;;;;AACA,kEAA0C;AAG1C,0DAAmD;AACnD,kEAAoD;AACpD,oEAAkD;AAGlD,MAAqB,UAAW,SAAQ,oBAAU;IAG9C,YAAY,MAAsB,EAAE,QAA0B;QAC1D,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,kBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,uBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,GAAa;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;YACnD,EAAE,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7C,CAAC;CACJ;AAlBD,6BAkBC"}
|
|
@@ -2,11 +2,12 @@ import { Request, Response } from 'express';
|
|
|
2
2
|
import Controller from '../controller';
|
|
3
3
|
import { IUnleashConfig } from '../../types/option';
|
|
4
4
|
import { IUnleashServices } from '../../types/services';
|
|
5
|
+
import { IAuthRequest } from '../unleash-types';
|
|
5
6
|
declare class StateController extends Controller {
|
|
6
7
|
private logger;
|
|
7
8
|
private stateService;
|
|
8
9
|
constructor(config: IUnleashConfig, { stateService }: Pick<IUnleashServices, 'stateService'>);
|
|
9
|
-
import(req:
|
|
10
|
+
import(req: IAuthRequest, res: Response): Promise<void>;
|
|
10
11
|
export(req: Request, res: Response): Promise<void>;
|
|
11
12
|
}
|
|
12
13
|
export default StateController;
|
|
@@ -28,8 +28,8 @@ const moment_1 = __importDefault(require("moment"));
|
|
|
28
28
|
const multer_1 = __importDefault(require("multer"));
|
|
29
29
|
const controller_1 = __importDefault(require("../controller"));
|
|
30
30
|
const permissions_1 = require("../../types/permissions");
|
|
31
|
-
const extract_user_1 =
|
|
32
|
-
const upload = multer_1.default({ limits: { fileSize: 5242880 } });
|
|
31
|
+
const extract_user_1 = require("../../util/extract-user");
|
|
32
|
+
const upload = (0, multer_1.default)({ limits: { fileSize: 5242880 } });
|
|
33
33
|
const paramToBool = (param, def) => {
|
|
34
34
|
if (param === null || param === undefined) {
|
|
35
35
|
return def;
|
|
@@ -46,10 +46,11 @@ class StateController extends controller_1.default {
|
|
|
46
46
|
this.logger = config.getLogger('/admin-api/state.ts');
|
|
47
47
|
this.stateService = stateService;
|
|
48
48
|
this.fileupload('/import', upload.single('file'), this.import, permissions_1.ADMIN);
|
|
49
|
+
this.post('/import', this.import, permissions_1.ADMIN);
|
|
49
50
|
this.get('/export', this.export, permissions_1.ADMIN);
|
|
50
51
|
}
|
|
51
52
|
async import(req, res) {
|
|
52
|
-
const userName = extract_user_1.
|
|
53
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
53
54
|
const { drop, keep } = req.query;
|
|
54
55
|
// TODO: Should override request type so file is a type on request
|
|
55
56
|
let data;
|
|
@@ -58,7 +59,7 @@ class StateController extends controller_1.default {
|
|
|
58
59
|
// @ts-ignore
|
|
59
60
|
if (mime.getType(req.file.originalname) === 'text/yaml') {
|
|
60
61
|
// @ts-ignore
|
|
61
|
-
data = js_yaml_1.default.
|
|
62
|
+
data = js_yaml_1.default.load(req.file.buffer);
|
|
62
63
|
}
|
|
63
64
|
else {
|
|
64
65
|
// @ts-ignore
|
|
@@ -91,12 +92,12 @@ class StateController extends controller_1.default {
|
|
|
91
92
|
includeTags,
|
|
92
93
|
includeEnvironments,
|
|
93
94
|
});
|
|
94
|
-
const timestamp = moment_1.default().format('YYYY-MM-DD_HH-mm-ss');
|
|
95
|
+
const timestamp = (0, moment_1.default)().format('YYYY-MM-DD_HH-mm-ss');
|
|
95
96
|
if (format === 'yaml') {
|
|
96
97
|
if (downloadFile) {
|
|
97
98
|
res.attachment(`export-${timestamp}.yml`);
|
|
98
99
|
}
|
|
99
|
-
res.type('yaml').send(js_yaml_1.default.
|
|
100
|
+
res.type('yaml').send(js_yaml_1.default.dump(data, { skipInvalid: true }));
|
|
100
101
|
}
|
|
101
102
|
else {
|
|
102
103
|
if (downloadFile) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,sDAA2B;AAC3B,oDAA4B;AAC5B,oDAA4B;AAE5B,+DAAuC;AACvC,yDAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IUnleashConfig } from '../../types/option';
|
|
2
2
|
import { IUnleashServices } from '../../types/services';
|
|
3
|
-
|
|
3
|
+
import Controller from '../controller';
|
|
4
4
|
declare class StrategyController extends Controller {
|
|
5
5
|
private logger;
|
|
6
6
|
private strategyService;
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
6
|
+
const controller_1 = __importDefault(require("../controller"));
|
|
7
|
+
const extract_user_1 = require("../../util/extract-user");
|
|
8
|
+
const util_1 = require("../util");
|
|
9
|
+
const permissions_1 = require("../../types/permissions");
|
|
7
10
|
const version = 1;
|
|
8
|
-
class StrategyController extends
|
|
11
|
+
class StrategyController extends controller_1.default {
|
|
9
12
|
constructor(config, { strategyService }) {
|
|
10
13
|
super(config);
|
|
11
14
|
this.logger = config.getLogger('/admin-api/strategy.js');
|
|
12
15
|
this.strategyService = strategyService;
|
|
13
16
|
this.get('/', this.getAllStrategies);
|
|
14
17
|
this.get('/:name', this.getStrategy);
|
|
15
|
-
this.delete('/:name', this.removeStrategy, DELETE_STRATEGY);
|
|
16
|
-
this.post('/', this.createStrategy, CREATE_STRATEGY);
|
|
17
|
-
this.put('/:strategyName', this.updateStrategy, UPDATE_STRATEGY);
|
|
18
|
-
this.post('/:strategyName/deprecate', this.deprecateStrategy, UPDATE_STRATEGY);
|
|
19
|
-
this.post('/:strategyName/reactivate', this.reactivateStrategy, UPDATE_STRATEGY);
|
|
18
|
+
this.delete('/:name', this.removeStrategy, permissions_1.DELETE_STRATEGY);
|
|
19
|
+
this.post('/', this.createStrategy, permissions_1.CREATE_STRATEGY);
|
|
20
|
+
this.put('/:strategyName', this.updateStrategy, permissions_1.UPDATE_STRATEGY);
|
|
21
|
+
this.post('/:strategyName/deprecate', this.deprecateStrategy, permissions_1.UPDATE_STRATEGY);
|
|
22
|
+
this.post('/:strategyName/reactivate', this.reactivateStrategy, permissions_1.UPDATE_STRATEGY);
|
|
20
23
|
}
|
|
21
24
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
22
25
|
async getAllStrategies(req, res) {
|
|
@@ -25,7 +28,7 @@ class StrategyController extends Controller {
|
|
|
25
28
|
res.json({ version, strategies });
|
|
26
29
|
}
|
|
27
30
|
catch (err) {
|
|
28
|
-
handleErrors(res, this.logger, err);
|
|
31
|
+
(0, util_1.handleErrors)(res, this.logger, err);
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
@@ -42,40 +45,40 @@ class StrategyController extends Controller {
|
|
|
42
45
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
43
46
|
async removeStrategy(req, res) {
|
|
44
47
|
const strategyName = req.params.name;
|
|
45
|
-
const userName =
|
|
48
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
46
49
|
try {
|
|
47
50
|
await this.strategyService.removeStrategy(strategyName, userName);
|
|
48
51
|
res.status(200).end();
|
|
49
52
|
}
|
|
50
53
|
catch (error) {
|
|
51
|
-
handleErrors(res, this.logger, error);
|
|
54
|
+
(0, util_1.handleErrors)(res, this.logger, error);
|
|
52
55
|
}
|
|
53
56
|
}
|
|
54
57
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
55
58
|
async createStrategy(req, res) {
|
|
56
|
-
const userName =
|
|
59
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
57
60
|
try {
|
|
58
61
|
await this.strategyService.createStrategy(req.body, userName);
|
|
59
62
|
res.status(201).end();
|
|
60
63
|
}
|
|
61
64
|
catch (error) {
|
|
62
|
-
handleErrors(res, this.logger, error);
|
|
65
|
+
(0, util_1.handleErrors)(res, this.logger, error);
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
68
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
66
69
|
async updateStrategy(req, res) {
|
|
67
|
-
const userName =
|
|
70
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
68
71
|
try {
|
|
69
72
|
await this.strategyService.updateStrategy(req.body, userName);
|
|
70
73
|
res.status(200).end();
|
|
71
74
|
}
|
|
72
75
|
catch (error) {
|
|
73
|
-
handleErrors(res, this.logger, error);
|
|
76
|
+
(0, util_1.handleErrors)(res, this.logger, error);
|
|
74
77
|
}
|
|
75
78
|
}
|
|
76
79
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
77
80
|
async deprecateStrategy(req, res) {
|
|
78
|
-
const userName =
|
|
81
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
79
82
|
const { strategyName } = req.params;
|
|
80
83
|
if (strategyName === 'default') {
|
|
81
84
|
res.status(403).end();
|
|
@@ -86,23 +89,22 @@ class StrategyController extends Controller {
|
|
|
86
89
|
res.status(200).end();
|
|
87
90
|
}
|
|
88
91
|
catch (error) {
|
|
89
|
-
handleErrors(res, this.logger, error);
|
|
92
|
+
(0, util_1.handleErrors)(res, this.logger, error);
|
|
90
93
|
}
|
|
91
94
|
}
|
|
92
95
|
}
|
|
93
96
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
94
97
|
async reactivateStrategy(req, res) {
|
|
95
|
-
const userName =
|
|
98
|
+
const userName = (0, extract_user_1.extractUsername)(req);
|
|
96
99
|
const { strategyName } = req.params;
|
|
97
100
|
try {
|
|
98
101
|
await this.strategyService.reactivateStrategy(strategyName, userName);
|
|
99
102
|
res.status(200).end();
|
|
100
103
|
}
|
|
101
104
|
catch (error) {
|
|
102
|
-
handleErrors(res, this.logger, error);
|
|
105
|
+
(0, util_1.handleErrors)(res, this.logger, error);
|
|
103
106
|
}
|
|
104
107
|
}
|
|
105
108
|
}
|
|
106
109
|
exports.default = StrategyController;
|
|
107
|
-
module.exports = StrategyController;
|
|
108
110
|
//# sourceMappingURL=strategy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/strategy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,18 +18,18 @@ let strategyStore;
|
|
|
18
18
|
let base;
|
|
19
19
|
function getSetup() {
|
|
20
20
|
const randomBase = `/random${Math.round(Math.random() * 1000)}`;
|
|
21
|
-
const perms = permissions_1.default();
|
|
22
|
-
const stores = store_1.default();
|
|
23
|
-
const config = test_config_1.createTestConfig({
|
|
21
|
+
const perms = (0, permissions_1.default)();
|
|
22
|
+
const stores = (0, store_1.default)();
|
|
23
|
+
const config = (0, test_config_1.createTestConfig)({
|
|
24
24
|
server: { baseUriPath: randomBase },
|
|
25
25
|
preRouterHook: perms.hook,
|
|
26
26
|
});
|
|
27
|
-
const services = services_1.createServices(stores, config);
|
|
28
|
-
const app = app_1.default(config, stores, services, eventBus);
|
|
27
|
+
const services = (0, services_1.createServices)(stores, config);
|
|
28
|
+
const app = (0, app_1.default)(config, stores, services, eventBus);
|
|
29
29
|
return {
|
|
30
30
|
base: randomBase,
|
|
31
31
|
strategyStore: stores.strategyStore,
|
|
32
|
-
request: supertest_1.default(app),
|
|
32
|
+
request: (0, supertest_1.default)(app),
|
|
33
33
|
perms,
|
|
34
34
|
destroy: () => {
|
|
35
35
|
services.versionService.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.test.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/strategy.test.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAClC,mCAAsC;AACtC,kEAAoE;AACpE,yEAAwD;AACxD,qFAA6D;AAC7D,iFAAyD;AACzD,oDAA+B;AAC/B,6CAAgD;AAEhD,MAAM,QAAQ,GAAG,IAAI,qBAAY,EAAE,CAAC;AACpC,IAAI,OAAO,CAAC;AACZ,IAAI,OAAO,CAAC;AACZ,IAAI,aAAa,CAAC;AAClB,IAAI,IAAI,CAAC;AAET,SAAS,QAAQ;IACb,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,qBAAW,
|
|
1
|
+
{"version":3,"file":"strategy.test.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/strategy.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,16 @@ import { Request, Response } from 'express';
|
|
|
2
2
|
import Controller from '../controller';
|
|
3
3
|
import { IUnleashConfig } from '../../types/option';
|
|
4
4
|
import { IUnleashServices } from '../../types/services';
|
|
5
|
+
import { IAuthRequest } from '../unleash-types';
|
|
5
6
|
declare class TagTypeController extends Controller {
|
|
6
7
|
private logger;
|
|
7
8
|
private tagTypeService;
|
|
8
9
|
constructor(config: IUnleashConfig, { tagTypeService }: Pick<IUnleashServices, 'tagTypeService'>);
|
|
9
10
|
getTagTypes(req: Request, res: Response): Promise<void>;
|
|
10
11
|
validate(req: Request, res: Response): Promise<void>;
|
|
11
|
-
createTagType(req:
|
|
12
|
-
updateTagType(req:
|
|
12
|
+
createTagType(req: IAuthRequest, res: Response): Promise<void>;
|
|
13
|
+
updateTagType(req: IAuthRequest, res: Response): Promise<void>;
|
|
13
14
|
getTagType(req: Request, res: Response): Promise<void>;
|
|
14
|
-
deleteTagType(req:
|
|
15
|
+
deleteTagType(req: IAuthRequest, res: Response): Promise<void>;
|
|
15
16
|
}
|
|
16
17
|
export default TagTypeController;
|