This commit is contained in:
2025-12-13 18:39:20 +01:00
parent bb0497f429
commit e53af6a0e7
20 changed files with 762 additions and 503 deletions

View File

@@ -103,6 +103,7 @@ import {
FileProtestUseCase,
ReviewProtestUseCase,
ApplyPenaltyUseCase,
QuickPenaltyUseCase,
RequestProtestDefenseUseCase,
SubmitProtestDefenseUseCase,
GetSponsorDashboardUseCase,
@@ -988,6 +989,15 @@ export function configureDIContainer(): void {
)
);
container.registerInstance(
DI_TOKENS.QuickPenaltyUseCase,
new QuickPenaltyUseCase(
penaltyRepository,
raceRepository,
leagueMembershipRepository
)
);
container.registerInstance(
DI_TOKENS.RequestProtestDefenseUseCase,
new RequestProtestDefenseUseCase(protestRepository, raceRepository, leagueMembershipRepository)
@@ -1182,6 +1192,7 @@ export function configureDIContainer(): void {
raceRepository,
leagueRepository,
resultRepository,
driverRepository,
standingRepository,
importRaceResultsPresenter
)

View File

@@ -57,6 +57,7 @@ import type {
FileProtestUseCase,
ReviewProtestUseCase,
ApplyPenaltyUseCase,
QuickPenaltyUseCase,
RequestProtestDefenseUseCase,
SubmitProtestDefenseUseCase,
GetSponsorDashboardUseCase,
@@ -490,6 +491,11 @@ class DIContainer {
return getDIContainer().resolve<ApplyPenaltyUseCase>(DI_TOKENS.ApplyPenaltyUseCase);
}
get quickPenaltyUseCase(): QuickPenaltyUseCase {
this.ensureInitialized();
return getDIContainer().resolve<QuickPenaltyUseCase>(DI_TOKENS.QuickPenaltyUseCase);
}
get getRaceProtestsUseCase(): GetRaceProtestsUseCase {
this.ensureInitialized();
return getDIContainer().resolve<GetRaceProtestsUseCase>(DI_TOKENS.GetRaceProtestsUseCase);
@@ -871,6 +877,10 @@ export function getApplyPenaltyUseCase(): ApplyPenaltyUseCase {
return DIContainer.getInstance().applyPenaltyUseCase;
}
export function getQuickPenaltyUseCase(): QuickPenaltyUseCase {
return DIContainer.getInstance().quickPenaltyUseCase;
}
export function getGetRaceProtestsUseCase(): GetRaceProtestsUseCase {
return DIContainer.getInstance().getRaceProtestsUseCase;
}

View File

@@ -63,6 +63,7 @@ export const DI_TOKENS = {
FileProtestUseCase: Symbol.for('FileProtestUseCase'),
ReviewProtestUseCase: Symbol.for('ReviewProtestUseCase'),
ApplyPenaltyUseCase: Symbol.for('ApplyPenaltyUseCase'),
QuickPenaltyUseCase: Symbol.for('QuickPenaltyUseCase'),
RequestProtestDefenseUseCase: Symbol.for('RequestProtestDefenseUseCase'),
SubmitProtestDefenseUseCase: Symbol.for('SubmitProtestDefenseUseCase'),