diff --git a/src/lib/db/index.ts b/src/lib/db/index.ts index 3722d91d46..4657547a42 100644 --- a/src/lib/db/index.ts +++ b/src/lib/db/index.ts @@ -6,7 +6,7 @@ import FeatureTypeStore from './feature-type-store'; import StrategyStore from './strategy-store'; import ClientInstanceStore from './client-instance-store'; import ClientApplicationsStore from './client-applications-store'; -import ContextFieldStore from './context-field-store'; +import ContextFieldStore from '../features/context/context-field-store'; import SettingStore from './setting-store'; import UserStore from './user-store'; import ProjectStore from '../features/project/project-store'; diff --git a/src/lib/types/stores/context-field-store.ts b/src/lib/features/context/context-field-store-type.ts similarity index 92% rename from src/lib/types/stores/context-field-store.ts rename to src/lib/features/context/context-field-store-type.ts index 6adb849369..1e1d9cfce3 100644 --- a/src/lib/types/stores/context-field-store.ts +++ b/src/lib/features/context/context-field-store-type.ts @@ -1,4 +1,4 @@ -import type { Store } from './store'; +import type { Store } from '../../types/stores/store'; export interface IContextFieldDto { name: string; diff --git a/src/lib/db/context-field-store.ts b/src/lib/features/context/context-field-store.ts similarity index 95% rename from src/lib/db/context-field-store.ts rename to src/lib/features/context/context-field-store.ts index 43559c2f7a..1cd74900ca 100644 --- a/src/lib/db/context-field-store.ts +++ b/src/lib/features/context/context-field-store.ts @@ -1,13 +1,13 @@ -import type { Db } from './db'; -import type { Logger, LogProvider } from '../logger'; +import type { Db } from '../../db/db'; +import type { Logger, LogProvider } from '../../logger'; import type { IContextField, IContextFieldDto, IContextFieldStore, ILegalValue, -} from '../types/stores/context-field-store'; -import NotFoundError from '../error/notfound-error'; -import type { IFlagResolver } from '../types'; +} from './context-field-store-type'; +import NotFoundError from '../../error/notfound-error'; +import type { IFlagResolver } from '../../types'; const COLUMNS = [ 'name', diff --git a/src/lib/services/context-service.ts b/src/lib/features/context/context-service.ts similarity index 83% rename from src/lib/services/context-service.ts rename to src/lib/features/context/context-service.ts index 8a938d363e..da67f4d463 100644 --- a/src/lib/services/context-service.ts +++ b/src/lib/features/context/context-service.ts @@ -1,13 +1,15 @@ -import type { Logger } from '../logger'; +import type { Logger } from '../../logger'; import type { IContextField, IContextFieldDto, IContextFieldStore, -} from '../types/stores/context-field-store'; -import type { IProjectStore } from '../features/project/project-store-type'; -import type { IFeatureStrategiesStore, IUnleashStores } from '../types/stores'; -import type { IUnleashConfig } from '../types/option'; -import type { ContextFieldStrategiesSchema } from '../openapi/spec/context-field-strategies-schema'; +} from './context-field-store-type'; +import type { + IFeatureStrategiesStore, + IUnleashStores, +} from '../../types/stores'; +import type { IUnleashConfig } from '../../types/option'; +import type { ContextFieldStrategiesSchema } from '../../openapi/spec/context-field-strategies-schema'; import { CONTEXT_FIELD_CREATED, CONTEXT_FIELD_DELETED, @@ -15,16 +17,14 @@ import { type IAuditUser, type IFeatureStrategy, type IFlagResolver, -} from '../types'; -import type { IPrivateProjectChecker } from '../features/private-project/privateProjectCheckerType'; -import type EventService from '../features/events/event-service'; -import { contextSchema } from './context-schema'; -import { NameExistsError } from '../error'; -import { nameSchema } from '../schema/feature-schema'; +} from '../../types'; +import type { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; +import type EventService from '../events/event-service'; +import { contextSchema } from '../../services/context-schema'; +import { NameExistsError } from '../../error'; +import { nameSchema } from '../../schema/feature-schema'; class ContextService { - private projectStore: IProjectStore; - private eventService: EventService; private contextFieldStore: IContextFieldStore; @@ -39,13 +39,9 @@ class ContextService { constructor( { - projectStore, contextFieldStore, featureStrategiesStore, - }: Pick< - IUnleashStores, - 'projectStore' | 'contextFieldStore' | 'featureStrategiesStore' - >, + }: Pick, { getLogger, flagResolver, @@ -54,7 +50,6 @@ class ContextService { privateProjectChecker: IPrivateProjectChecker, ) { this.privateProjectChecker = privateProjectChecker; - this.projectStore = projectStore; this.eventService = eventService; this.flagResolver = flagResolver; this.contextFieldStore = contextFieldStore; diff --git a/src/lib/routes/admin-api/context.test.ts b/src/lib/features/context/context.test.ts similarity index 100% rename from src/lib/routes/admin-api/context.test.ts rename to src/lib/features/context/context.test.ts diff --git a/src/lib/routes/admin-api/context.ts b/src/lib/features/context/context.ts similarity index 98% rename from src/lib/routes/admin-api/context.ts rename to src/lib/features/context/context.ts index 6d50cb5392..f6a9381a19 100644 --- a/src/lib/routes/admin-api/context.ts +++ b/src/lib/features/context/context.ts @@ -1,6 +1,6 @@ import type { Request, Response } from 'express'; -import Controller from '../controller'; +import Controller from '../../routes/controller'; import { CREATE_CONTEXT_FIELD, @@ -10,9 +10,9 @@ import { } from '../../types/permissions'; import type { IUnleashConfig } from '../../types/option'; import type { IUnleashServices } from '../../types/services'; -import type ContextService from '../../services/context-service'; +import type ContextService from './context-service'; import type { Logger } from '../../logger'; -import type { IAuthRequest } from '../unleash-types'; +import type { IAuthRequest } from '../../routes/unleash-types'; import type { OpenApiService } from '../../services/openapi-service'; import { diff --git a/src/lib/features/context/createContextService.ts b/src/lib/features/context/createContextService.ts new file mode 100644 index 0000000000..76bb312d6d --- /dev/null +++ b/src/lib/features/context/createContextService.ts @@ -0,0 +1,65 @@ +import type { Db } from '../../db/db'; +import type { IUnleashConfig } from '../../types'; +import ContextService from './context-service'; +import ContextFieldStore from './context-field-store'; +import FeatureStrategiesStore from '../feature-toggle/feature-toggle-strategies-store'; +import { + createEventsService, + createFakeEventsService, +} from '../events/createEventsService'; +import { PrivateProjectChecker } from '../private-project/privateProjectChecker'; +import PrivateProjectStore from '../private-project/privateProjectStore'; +import FakeContextFieldStore from './fake-context-field-store'; +import FakeFeatureStrategiesStore from '../feature-toggle/fakes/fake-feature-strategies-store'; +import { FakePrivateProjectChecker } from '../private-project/fakePrivateProjectChecker'; + +export const createContextService = + (config: IUnleashConfig) => + (db: Db): ContextService => { + const { getLogger, flagResolver, eventBus, isEnterprise } = config; + const contextFieldStore = new ContextFieldStore( + db, + getLogger, + flagResolver, + ); + const featureStrategiesStore = new FeatureStrategiesStore( + db, + eventBus, + getLogger, + flagResolver, + ); + const eventService = createEventsService(db, config); + const privateProjectStore = new PrivateProjectStore(db, getLogger); + const privateProjectChecker = new PrivateProjectChecker( + { privateProjectStore }, + { isEnterprise }, + ); + return new ContextService( + { contextFieldStore, featureStrategiesStore }, + { + getLogger, + flagResolver, + }, + eventService, + privateProjectChecker, + ); + }; + +export const createFakeContextService = ( + config: IUnleashConfig, +): ContextService => { + const { getLogger, flagResolver, eventBus, isEnterprise } = config; + const contextFieldStore = new FakeContextFieldStore(); + const featureStrategiesStore = new FakeFeatureStrategiesStore(); + const eventService = createFakeEventsService(config); + const privateProjectChecker = new FakePrivateProjectChecker(); + return new ContextService( + { contextFieldStore, featureStrategiesStore }, + { + getLogger, + flagResolver, + }, + eventService, + privateProjectChecker, + ); +}; diff --git a/src/test/fixtures/fake-context-field-store.ts b/src/lib/features/context/fake-context-field-store.ts similarity index 94% rename from src/test/fixtures/fake-context-field-store.ts rename to src/lib/features/context/fake-context-field-store.ts index 12cd02606b..e4c735a75a 100644 --- a/src/test/fixtures/fake-context-field-store.ts +++ b/src/lib/features/context/fake-context-field-store.ts @@ -2,8 +2,8 @@ import type { IContextField, IContextFieldDto, IContextFieldStore, -} from '../../lib/types/stores/context-field-store'; -import NotFoundError from '../../lib/error/notfound-error'; +} from './context-field-store-type'; +import NotFoundError from '../../error/notfound-error'; export default class FakeContextFieldStore implements IContextFieldStore { count(): Promise { diff --git a/src/lib/features/export-import-toggles/createExportImportService.ts b/src/lib/features/export-import-toggles/createExportImportService.ts index 69bebf1870..b604196d5c 100644 --- a/src/lib/features/export-import-toggles/createExportImportService.ts +++ b/src/lib/features/export-import-toggles/createExportImportService.ts @@ -5,13 +5,11 @@ import { ImportTogglesStore } from './import-toggles-store'; import FeatureToggleStore from '../feature-toggle/feature-toggle-store'; import TagStore from '../../db/tag-store'; import TagTypeStore from '../tag-type/tag-type-store'; -import ProjectStore from '../project/project-store'; import FeatureTagStore from '../../db/feature-tag-store'; import StrategyStore from '../../db/strategy-store'; -import ContextFieldStore from '../../db/context-field-store'; +import ContextFieldStore from '../context/context-field-store'; import FeatureStrategiesStore from '../feature-toggle/feature-toggle-strategies-store'; import { - ContextService, FeatureTagService, StrategyService, TagTypeService, @@ -28,17 +26,12 @@ import { FeatureEnvironmentStore } from '../../db/feature-environment-store'; import FakeFeatureToggleStore from '../feature-toggle/fakes/fake-feature-toggle-store'; import FakeTagStore from '../../../test/fixtures/fake-tag-store'; import FakeTagTypeStore from '../tag-type/fake-tag-type-store'; -import FakeProjectStore from '../../../test/fixtures/fake-project-store'; import FakeFeatureTagStore from '../../../test/fixtures/fake-feature-tag-store'; -import FakeContextFieldStore from '../../../test/fixtures/fake-context-field-store'; +import FakeContextFieldStore from '../context/fake-context-field-store'; import FakeFeatureStrategiesStore from '../feature-toggle/fakes/fake-feature-strategies-store'; import FakeFeatureEnvironmentStore from '../../../test/fixtures/fake-feature-environment-store'; import FakeStrategiesStore from '../../../test/fixtures/fake-strategies-store'; -import EventStore from '../events/event-store'; -import { - createFakePrivateProjectChecker, - createPrivateProjectChecker, -} from '../private-project/createPrivateProjectChecker'; +import { createPrivateProjectChecker } from '../private-project/createPrivateProjectChecker'; import type { DeferredServiceFactory } from '../../db/transaction'; import { DependentFeaturesReadModel } from '../dependent-features/dependent-features-read-model'; import { FakeDependentFeaturesReadModel } from '../dependent-features/fake-dependent-features-read-model'; @@ -52,16 +45,19 @@ import { } from '../events/createEventsService'; import { SegmentReadModel } from '../segment/segment-read-model'; import { FakeSegmentReadModel } from '../segment/fake-segment-read-model'; +import { + createContextService, + createFakeContextService, +} from '../context/createContextService'; export const createFakeExportImportTogglesService = ( config: IUnleashConfig, ): ExportImportService => { - const { getLogger, flagResolver } = config; + const { getLogger } = config; const importTogglesStore = {} as ImportTogglesStore; const featureToggleStore = new FakeFeatureToggleStore(); const tagStore = new FakeTagStore(); const tagTypeStore = new FakeTagTypeStore(); - const projectStore = new FakeProjectStore(); const featureTagStore = new FakeFeatureTagStore(); const strategyStore = new FakeStrategiesStore(); const contextFieldStore = new FakeContextFieldStore(); @@ -69,7 +65,6 @@ export const createFakeExportImportTogglesService = ( const featureEnvironmentStore = new FakeFeatureEnvironmentStore(); const { accessService } = createFakeAccessService(config); const { featureToggleService } = createFakeFeatureToggleService(config); - const privateProjectChecker = createFakePrivateProjectChecker(); const eventService = createFakeEventsService(config); @@ -82,16 +77,7 @@ export const createFakeExportImportTogglesService = ( { getLogger }, eventService, ); - const contextService = new ContextService( - { - projectStore, - contextFieldStore, - featureStrategiesStore, - }, - { getLogger, flagResolver }, - eventService, - privateProjectChecker, - ); + const contextService = createFakeContextService(config); const strategyService = new StrategyService( { strategyStore }, { getLogger }, @@ -108,7 +94,7 @@ export const createFakeExportImportTogglesService = ( const dependentFeaturesService = createFakeDependentFeaturesService(config); - const exportImportService = new ExportImportService( + return new ExportImportService( { importTogglesStore, featureStrategiesStore, @@ -132,8 +118,6 @@ export const createFakeExportImportTogglesService = ( dependentFeaturesReadModel, segmentReadModel, ); - - return exportImportService; }; export const deferredExportImportTogglesService = ( @@ -150,7 +134,6 @@ export const deferredExportImportTogglesService = ( ); const tagStore = new TagStore(db, eventBus, getLogger); const tagTypeStore = new TagTypeStore(db, eventBus, getLogger); - const projectStore = new ProjectStore(db, eventBus, config); const featureTagStore = new FeatureTagStore(db, eventBus, getLogger); const strategyStore = new StrategyStore(db, getLogger); const contextFieldStore = new ContextFieldStore( @@ -169,11 +152,9 @@ export const deferredExportImportTogglesService = ( eventBus, config, ); - const eventStore = new EventStore(db, getLogger); const accessService = createAccessService(db, config); const featureToggleService = createFeatureToggleService(db, config); - const privateProjectChecker = createPrivateProjectChecker(db, config); - + createPrivateProjectChecker(db, config); const eventService = createEventsService(db, config); const featureTagService = new FeatureTagService( @@ -185,16 +166,7 @@ export const deferredExportImportTogglesService = ( { getLogger }, eventService, ); - const contextService = new ContextService( - { - projectStore, - contextFieldStore, - featureStrategiesStore, - }, - { getLogger, flagResolver }, - eventService, - privateProjectChecker, - ); + const contextService = createContextService(config)(db); const strategyService = new StrategyService( { strategyStore }, { getLogger }, @@ -212,7 +184,7 @@ export const deferredExportImportTogglesService = ( const dependentFeaturesService = createDependentFeaturesService(config)(db); - const exportImportService = new ExportImportService( + return new ExportImportService( { importTogglesStore, featureStrategiesStore, @@ -236,8 +208,6 @@ export const deferredExportImportTogglesService = ( dependentFeaturesReadModel, segmentReadModel, ); - - return exportImportService; }; }; export const createExportImportTogglesService = ( diff --git a/src/lib/features/export-import-toggles/export-import-permissions.e2e.test.ts b/src/lib/features/export-import-toggles/export-import-permissions.e2e.test.ts index c71b18b0a1..0d2881069d 100644 --- a/src/lib/features/export-import-toggles/export-import-permissions.e2e.test.ts +++ b/src/lib/features/export-import-toggles/export-import-permissions.e2e.test.ts @@ -15,7 +15,7 @@ import { RoleName, } from '../../types'; import type { ImportTogglesSchema, VariantsSchema } from '../../openapi'; -import type { IContextFieldDto } from '../../types/stores/context-field-store'; +import type { IContextFieldDto } from '../context/context-field-store-type'; import type { AccessService } from '../../services'; import { DEFAULT_ENV } from '../../util'; import type { IRole } from '../../types/stores/access-store'; diff --git a/src/lib/features/export-import-toggles/export-import.e2e.test.ts b/src/lib/features/export-import-toggles/export-import.e2e.test.ts index ab0acf26a1..e7bf3865b5 100644 --- a/src/lib/features/export-import-toggles/export-import.e2e.test.ts +++ b/src/lib/features/export-import-toggles/export-import.e2e.test.ts @@ -25,7 +25,7 @@ import type { UpsertSegmentSchema, VariantsSchema, } from '../../openapi'; -import type { IContextFieldDto } from '../../types/stores/context-field-store'; +import type { IContextFieldDto } from '../context/context-field-store-type'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/lib/features/export-import-toggles/import-context-validation.ts b/src/lib/features/export-import-toggles/import-context-validation.ts index fd43eb10f1..dde1527cf4 100644 --- a/src/lib/features/export-import-toggles/import-context-validation.ts +++ b/src/lib/features/export-import-toggles/import-context-validation.ts @@ -1,4 +1,4 @@ -import type { IContextFieldDto } from '../../types/stores/context-field-store'; +import type { IContextFieldDto } from '../context/context-field-store-type'; export const isValidField = ( importedField: IContextFieldDto, diff --git a/src/lib/features/export-import-toggles/import-validation-messages.ts b/src/lib/features/export-import-toggles/import-validation-messages.ts index d56fa20fbe..c46c4e616e 100644 --- a/src/lib/features/export-import-toggles/import-validation-messages.ts +++ b/src/lib/features/export-import-toggles/import-validation-messages.ts @@ -2,7 +2,7 @@ import type { FeatureStrategySchema, ImportTogglesValidateItemSchema, } from '../../openapi'; -import type { IContextFieldDto } from '../../types/stores/context-field-store'; +import type { IContextFieldDto } from '../context/context-field-store-type'; import type { FeatureNameCheckResultWithFeaturePattern } from '../feature-toggle/feature-toggle-service'; import type { ProjectFeaturesLimit } from './import-toggles-store-type'; diff --git a/src/lib/features/feature-toggle/createFeatureToggleService.ts b/src/lib/features/feature-toggle/createFeatureToggleService.ts index b12eb3adfc..48f9a55504 100644 --- a/src/lib/features/feature-toggle/createFeatureToggleService.ts +++ b/src/lib/features/feature-toggle/createFeatureToggleService.ts @@ -8,7 +8,7 @@ import FeatureToggleStore from './feature-toggle-store'; import FeatureToggleClientStore from '../client-feature-toggles/client-feature-toggle-store'; import ProjectStore from '../project/project-store'; import { FeatureEnvironmentStore } from '../../db/feature-environment-store'; -import ContextFieldStore from '../../db/context-field-store'; +import ContextFieldStore from '../context/context-field-store'; import GroupStore from '../../db/group-store'; import { AccountStore } from '../../db/account-store'; import { AccessStore } from '../../db/access-store'; @@ -22,7 +22,7 @@ import FakeFeatureToggleStore from './fakes/fake-feature-toggle-store'; import FakeClientFeatureToggleStore from '../client-feature-toggles/fakes/fake-client-feature-toggle-store'; import FakeProjectStore from '../../../test/fixtures/fake-project-store'; import FakeFeatureEnvironmentStore from '../../../test/fixtures/fake-feature-environment-store'; -import FakeContextFieldStore from '../../../test/fixtures/fake-context-field-store'; +import FakeContextFieldStore from '../context/fake-context-field-store'; import FakeGroupStore from '../../../test/fixtures/fake-group-store'; import { FakeAccountStore } from '../../../test/fixtures/fake-account-store'; import FakeAccessStore from '../../../test/fixtures/fake-access-store'; diff --git a/src/lib/features/feature-toggle/feature-toggle-service.ts b/src/lib/features/feature-toggle/feature-toggle-service.ts index d34a4b3f6f..c5e16e0f59 100644 --- a/src/lib/features/feature-toggle/feature-toggle-service.ts +++ b/src/lib/features/feature-toggle/feature-toggle-service.ts @@ -86,7 +86,7 @@ import { validateSemver, validateString, } from '../../util/validators/constraint-types'; -import type { IContextFieldStore } from '../../types/stores/context-field-store'; +import type { IContextFieldStore } from '../context/context-field-store-type'; import type { SetStrategySortOrderSchema } from '../../openapi/spec/set-strategy-sort-order-schema'; import { getDefaultStrategy, diff --git a/src/lib/features/instance-stats/createInstanceStatsService.ts b/src/lib/features/instance-stats/createInstanceStatsService.ts index fb03d5ec8a..538fcaaa93 100644 --- a/src/lib/features/instance-stats/createInstanceStatsService.ts +++ b/src/lib/features/instance-stats/createInstanceStatsService.ts @@ -14,7 +14,7 @@ import UserStore from '../../db/user-store'; import ProjectStore from '../project/project-store'; import EnvironmentStore from '../project-environments/environment-store'; import StrategyStore from '../../db/strategy-store'; -import ContextFieldStore from '../../db/context-field-store'; +import ContextFieldStore from '../context/context-field-store'; import GroupStore from '../../db/group-store'; import SegmentStore from '../segment/segment-store'; import RoleStore from '../../db/role-store'; @@ -30,7 +30,7 @@ import FakeFeatureToggleStore from '../feature-toggle/fakes/fake-feature-toggle- import FakeProjectStore from '../../../test/fixtures/fake-project-store'; import FakeEnvironmentStore from '../project-environments/fake-environment-store'; import FakeGroupStore from '../../../test/fixtures/fake-group-store'; -import FakeContextFieldStore from '../../../test/fixtures/fake-context-field-store'; +import FakeContextFieldStore from '../context/fake-context-field-store'; import FakeRoleStore from '../../../test/fixtures/fake-role-store'; import FakeClientInstanceStore from '../../../test/fixtures/fake-client-instance-store'; import FakeClientMetricsStoreV2 from '../metrics/client-metrics/fake-client-metrics-store-v2'; diff --git a/src/lib/features/instance-stats/instance-stats-service.ts b/src/lib/features/instance-stats/instance-stats-service.ts index 2349ce9281..56fc0046d5 100644 --- a/src/lib/features/instance-stats/instance-stats-service.ts +++ b/src/lib/features/instance-stats/instance-stats-service.ts @@ -10,7 +10,7 @@ import type { ITrafficDataUsageStore, IUnleashStores, } from '../../types/stores'; -import type { IContextFieldStore } from '../../types/stores/context-field-store'; +import type { IContextFieldStore } from '../context/context-field-store-type'; import type { IEnvironmentStore } from '../project-environments/environment-store-type'; import type { IFeatureToggleStore } from '../feature-toggle/types/feature-toggle-store-type'; import type { IGroupStore } from '../../types/stores/group-store'; diff --git a/src/lib/routes/admin-api/index.ts b/src/lib/routes/admin-api/index.ts index 0763c50582..5e4fd8fb74 100644 --- a/src/lib/routes/admin-api/index.ts +++ b/src/lib/routes/admin-api/index.ts @@ -9,7 +9,7 @@ import PlaygroundController from '../../features/playground/playground'; import MetricsController from './metrics'; import UserController from './user/user'; import ConfigController from './config'; -import { ContextController } from './context'; +import { ContextController } from '../../features/context/context'; import ClientMetricsController from '../../features/metrics/client-metrics/client-metrics'; import TagController from './tag'; import TagTypeController from '../../features/tag-type/tag-type'; diff --git a/src/lib/services/index.ts b/src/lib/services/index.ts index f5a921858c..f40705d247 100644 --- a/src/lib/services/index.ts +++ b/src/lib/services/index.ts @@ -14,7 +14,7 @@ import TagTypeService from '../features/tag-type/tag-type-service'; import TagService from './tag-service'; import StrategyService from './strategy-service'; import AddonService from './addon-service'; -import ContextService from './context-service'; +import ContextService from '../features/context/context-service'; import VersionService from './version-service'; import { EmailService } from './email-service'; import { AccessService } from './access-service'; @@ -153,6 +153,10 @@ import { createProjectStatusService, } from '../features/project-status/createProjectStatusService'; import { ProjectStatusService } from '../features/project-status/project-status-service'; +import { + createContextService, + createFakeContextService, +} from '../features/context/createContextService'; export const createServices = ( stores: IUnleashStores, @@ -196,12 +200,9 @@ export const createServices = ( ? new FeatureLifecycleReadModel(db, config.flagResolver) : new FakeFeatureLifecycleReadModel(); - const contextService = new ContextService( - stores, - config, - eventService, - privateProjectChecker, - ); + const contextService = db + ? withTransactional(createContextService(config), db) + : withFakeTransactional(createFakeContextService(config)); const emailService = new EmailService(config); const featureTypeService = new FeatureTypeService( stores, diff --git a/src/lib/types/services.ts b/src/lib/types/services.ts index 3716314a37..711bd4abf6 100644 --- a/src/lib/types/services.ts +++ b/src/lib/types/services.ts @@ -5,7 +5,7 @@ import type StrategyService from '../services/strategy-service'; import type TagTypeService from '../features/tag-type/tag-type-service'; import type TagService from '../services/tag-service'; import type ClientInstanceService from '../features/metrics/instance/instance-service'; -import type ContextService from '../services/context-service'; +import type ContextService from '../features/context/context-service'; import type VersionService from '../services/version-service'; import type { ApiTokenService } from '../services/api-token-service'; import type { EmailService } from '../services/email-service'; diff --git a/src/lib/types/stores.ts b/src/lib/types/stores.ts index b4ab43c17e..9998009fe6 100644 --- a/src/lib/types/stores.ts +++ b/src/lib/types/stores.ts @@ -5,7 +5,7 @@ import { IStrategyStore } from './stores/strategy-store'; import { IClientApplicationsStore } from './stores/client-applications-store'; import { IClientInstanceStore } from './stores/client-instance-store'; import { IFeatureToggleStore } from '../features/feature-toggle/types/feature-toggle-store-type'; -import { IContextFieldStore } from './stores/context-field-store'; +import { IContextFieldStore } from '../features/context/context-field-store-type'; import { ISettingStore } from './stores/settings-store'; import { ISessionStore } from './stores/session-store'; import { ITagStore } from './stores/tag-store'; diff --git a/src/lib/util/validators/constraint-types.test.ts b/src/lib/util/validators/constraint-types.test.ts index 742966cb62..c64d173ab3 100644 --- a/src/lib/util/validators/constraint-types.test.ts +++ b/src/lib/util/validators/constraint-types.test.ts @@ -1,5 +1,5 @@ import { validateSemver, validateLegalValues } from './constraint-types'; -import type { ILegalValue } from '../../types/stores/context-field-store'; +import type { ILegalValue } from '../../features/context/context-field-store-type'; const legalValues: Readonly = [ { value: '100' }, diff --git a/src/lib/util/validators/constraint-types.ts b/src/lib/util/validators/constraint-types.ts index 6e0dab66af..8309ce107d 100644 --- a/src/lib/util/validators/constraint-types.ts +++ b/src/lib/util/validators/constraint-types.ts @@ -4,7 +4,7 @@ import { constraintStringTypeSchema, } from '../../schema/constraint-value-types'; import BadDataError from '../../error/bad-data-error'; -import type { ILegalValue } from '../../types/stores/context-field-store'; +import type { ILegalValue } from '../../features/context/context-field-store-type'; import { parseStrictSemVer } from '../semver'; export const validateNumber = async (value: unknown): Promise => { diff --git a/src/test/e2e/helpers/test-helper.ts b/src/test/e2e/helpers/test-helper.ts index bc4f81491b..0ca5806f96 100644 --- a/src/test/e2e/helpers/test-helper.ts +++ b/src/test/e2e/helpers/test-helper.ts @@ -12,7 +12,7 @@ import { } from '../../../lib/types'; import type { IUnleashServices } from '../../../lib/types/services'; import type { Db } from '../../../lib/db/db'; -import type { IContextFieldDto } from '../../../lib/types/stores/context-field-store'; +import type { IContextFieldDto } from '../../../lib/features/context/context-field-store-type'; import { DEFAULT_ENV } from '../../../lib/util'; import type { CreateDependentFeatureSchema, diff --git a/src/test/e2e/stores/context-field-store.e2e.test.ts b/src/test/e2e/stores/context-field-store.e2e.test.ts index 915486d9d8..909a38afc1 100644 --- a/src/test/e2e/stores/context-field-store.e2e.test.ts +++ b/src/test/e2e/stores/context-field-store.e2e.test.ts @@ -1,6 +1,6 @@ import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import type { IContextFieldDto } from '../../../lib/types/stores/context-field-store'; +import type { IContextFieldDto } from '../../../lib/features/context/context-field-store-type'; import fc, { type Arbitrary } from 'fast-check'; import type { IUnleashStores } from '../../../lib/types'; diff --git a/src/test/fixtures/store.ts b/src/test/fixtures/store.ts index 93762be5d6..be96d9a380 100644 --- a/src/test/fixtures/store.ts +++ b/src/test/fixtures/store.ts @@ -5,7 +5,7 @@ import FakeFeatureToggleStore from '../../lib/features/feature-toggle/fakes/fake import FakeTagStore from './fake-tag-store'; import FakeTagTypeStore from '../../lib/features/tag-type/fake-tag-type-store'; import FakeEventStore from './fake-event-store'; -import FakeContextFieldStore from './fake-context-field-store'; +import FakeContextFieldStore from '../../lib/features/context/fake-context-field-store'; import FakeSettingStore from './fake-setting-store'; import FakeAddonStore from './fake-addon-store'; import FakeProjectStore from './fake-project-store';