mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +01:00
refactor: composition root for personal dashboard service (#8280)
This commit is contained in:
parent
6655b2d961
commit
829fda77fd
@ -11,3 +11,4 @@ export * from './events/createEventsService';
|
||||
export * from './instance-stats/createInstanceStatsService';
|
||||
export * from './feature-lifecycle/createFeatureLifecycle';
|
||||
export * from './playground/createPlaygroundService';
|
||||
export * from './personal-dashboard/createPersonalDashboardService';
|
||||
|
@ -0,0 +1,28 @@
|
||||
import type { Db } from '../../db/db';
|
||||
import type { IUnleashConfig } from '../../types';
|
||||
import { PersonalDashboardService } from './personal-dashboard-service';
|
||||
import { PersonalDashboardReadModel } from './personal-dashboard-read-model';
|
||||
import { FakePersonalDashboardReadModel } from './fake-personal-dashboard-read-model';
|
||||
import { ProjectOwnersReadModel } from '../project/project-owners-read-model';
|
||||
import { FakeProjectOwnersReadModel } from '../project/fake-project-owners-read-model';
|
||||
import { ProjectReadModel } from '../project/project-read-model';
|
||||
import { FakeProjectReadModel } from '../project/fake-project-read-model';
|
||||
|
||||
export const createPersonalDashboardService = (
|
||||
db: Db,
|
||||
config: IUnleashConfig,
|
||||
) => {
|
||||
return new PersonalDashboardService(
|
||||
new PersonalDashboardReadModel(db),
|
||||
new ProjectOwnersReadModel(db),
|
||||
new ProjectReadModel(db, config.eventBus, config.flagResolver),
|
||||
);
|
||||
};
|
||||
|
||||
export const createFakePersonalDashboardService = () => {
|
||||
return new PersonalDashboardService(
|
||||
new FakePersonalDashboardReadModel(),
|
||||
new FakeProjectOwnersReadModel(),
|
||||
new FakeProjectReadModel(),
|
||||
);
|
||||
};
|
@ -147,12 +147,10 @@ import {
|
||||
} from '../features/onboarding/createOnboardingService';
|
||||
import { OnboardingService } from '../features/onboarding/onboarding-service';
|
||||
import { PersonalDashboardService } from '../features/personal-dashboard/personal-dashboard-service';
|
||||
import { PersonalDashboardReadModel } from '../features/personal-dashboard/personal-dashboard-read-model';
|
||||
import { FakePersonalDashboardReadModel } from '../features/personal-dashboard/fake-personal-dashboard-read-model';
|
||||
import { ProjectOwnersReadModel } from '../features/project/project-owners-read-model';
|
||||
import { FakeProjectOwnersReadModel } from '../features/project/fake-project-owners-read-model';
|
||||
import { FakeProjectReadModel } from '../features/project/fake-project-read-model';
|
||||
import { ProjectReadModel } from '../features/project/project-read-model';
|
||||
import {
|
||||
createFakePersonalDashboardService,
|
||||
createPersonalDashboardService,
|
||||
} from '../features/personal-dashboard/createPersonalDashboardService';
|
||||
|
||||
export const createServices = (
|
||||
stores: IUnleashStores,
|
||||
@ -408,17 +406,9 @@ export const createServices = (
|
||||
: createFakeOnboardingService(config).onboardingService;
|
||||
onboardingService.listen();
|
||||
|
||||
// TODO: move to composition root
|
||||
const personalDashboardService = new PersonalDashboardService(
|
||||
db
|
||||
? new PersonalDashboardReadModel(db)
|
||||
: new FakePersonalDashboardReadModel(),
|
||||
|
||||
db ? new ProjectOwnersReadModel(db) : new FakeProjectOwnersReadModel(),
|
||||
db
|
||||
? new ProjectReadModel(db, config.eventBus, config.flagResolver)
|
||||
: new FakeProjectReadModel(),
|
||||
);
|
||||
const personalDashboardService = db
|
||||
? createPersonalDashboardService(db, config)
|
||||
: createFakePersonalDashboardService();
|
||||
|
||||
return {
|
||||
accessService,
|
||||
|
Loading…
Reference in New Issue
Block a user