UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

39 lines 2.45 kB
import { FrontendApiService } from './frontend-api-service.js'; import { SegmentReadModel } from '../segment/segment-read-model.js'; import SettingService from '../../services/setting-service.js'; import SettingStore from '../../db/setting-store.js'; import { createEventsService, createFakeEventsService } from '../index.js'; import { GlobalFrontendApiCache } from './global-frontend-api-cache.js'; import ClientFeatureToggleReadModel from './client-feature-toggle-read-model.js'; import { FakeSegmentReadModel } from '../segment/fake-segment-read-model.js'; import FakeSettingStore from '../../../test/fixtures/fake-setting-store.js'; import FakeClientFeatureToggleReadModel from './fake-client-feature-toggle-read-model.js'; export const createFrontendApiService = (db, config, // client metrics service needs to be shared because it uses in-memory cache clientMetricsServiceV2, configurationRevisionService, clientInstanceService) => { const segmentReadModel = new SegmentReadModel(db); const settingStore = new SettingStore(db, config.getLogger); const eventService = createEventsService(db, config); const settingService = new SettingService({ settingStore }, config, eventService); const clientFeatureToggleReadModel = new ClientFeatureToggleReadModel(db, config.eventBus); const globalFrontendApiCache = new GlobalFrontendApiCache(config, segmentReadModel, clientFeatureToggleReadModel, configurationRevisionService); return new FrontendApiService(config, { clientMetricsServiceV2, settingService, clientInstanceService, }, globalFrontendApiCache); }; export const createFakeFrontendApiService = (config, clientMetricsServiceV2, configurationRevisionService, clientInstanceService) => { const segmentReadModel = new FakeSegmentReadModel(); const settingStore = new FakeSettingStore(); const eventService = createFakeEventsService(config); const settingService = new SettingService({ settingStore }, config, eventService); const clientFeatureToggleReadModel = new FakeClientFeatureToggleReadModel(); const globalFrontendApiCache = new GlobalFrontendApiCache(config, segmentReadModel, clientFeatureToggleReadModel, configurationRevisionService); return new FrontendApiService(config, { clientMetricsServiceV2, settingService, clientInstanceService, }, globalFrontendApiCache); }; //# sourceMappingURL=createFrontendApiService.js.map