refactor api modules
This commit is contained in:
@@ -13,11 +13,15 @@ import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
||||
// Import use cases
|
||||
import { ReviewProtestUseCase } from '@core/racing/application/use-cases/ReviewProtestUseCase';
|
||||
|
||||
// Import presenters
|
||||
import { ReviewProtestPresenter } from './presenters/ReviewProtestPresenter';
|
||||
|
||||
// Define injection tokens
|
||||
export const PROTEST_REPOSITORY_TOKEN = 'IProtestRepository';
|
||||
export const RACE_REPOSITORY_TOKEN = 'IRaceRepository';
|
||||
export const LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN = 'ILeagueMembershipRepository';
|
||||
export const LOGGER_TOKEN = 'Logger';
|
||||
export const REVIEW_PROTEST_PRESENTER_TOKEN = 'ReviewProtestPresenter';
|
||||
|
||||
export const ProtestsProviders: Provider[] = [
|
||||
ProtestsService, // Provide the service itself
|
||||
@@ -40,6 +44,26 @@ export const ProtestsProviders: Provider[] = [
|
||||
provide: LOGGER_TOKEN,
|
||||
useClass: ConsoleLogger,
|
||||
},
|
||||
{
|
||||
provide: REVIEW_PROTEST_PRESENTER_TOKEN,
|
||||
useClass: ReviewProtestPresenter,
|
||||
},
|
||||
// Use cases
|
||||
ReviewProtestUseCase,
|
||||
{
|
||||
provide: ReviewProtestUseCase,
|
||||
useFactory: (
|
||||
protestRepo: any,
|
||||
raceRepo: any,
|
||||
leagueMembershipRepo: any,
|
||||
logger: Logger,
|
||||
output: ReviewProtestPresenter,
|
||||
) => new ReviewProtestUseCase(protestRepo, raceRepo, leagueMembershipRepo, logger, output),
|
||||
inject: [
|
||||
PROTEST_REPOSITORY_TOKEN,
|
||||
RACE_REPOSITORY_TOKEN,
|
||||
LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN,
|
||||
LOGGER_TOKEN,
|
||||
REVIEW_PROTEST_PRESENTER_TOKEN,
|
||||
],
|
||||
},
|
||||
];
|
||||
Reference in New Issue
Block a user