wip
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
|
||||
import { configureDIContainer, getDIContainer } from './di-config';
|
||||
import { DI_TOKENS } from './di-tokens';
|
||||
import { LeagueScoringPresetsPresenter } from './presenters/LeagueScoringPresetsPresenter';
|
||||
|
||||
import type { IDriverRepository } from '@gridpilot/racing/domain/repositories/IDriverRepository';
|
||||
import type { ILeagueRepository } from '@gridpilot/racing/domain/repositories/ILeagueRepository';
|
||||
@@ -97,6 +98,7 @@ import type { TransferLeagueOwnershipUseCase } from '@gridpilot/racing/applicati
|
||||
import type { DriverRatingProvider } from '@gridpilot/racing/application';
|
||||
import type { PreviewLeagueScheduleUseCase } from '@gridpilot/racing/application';
|
||||
import type { LeagueScoringPresetProvider } from '@gridpilot/racing/application/ports/LeagueScoringPresetProvider';
|
||||
import type { LeagueScoringPresetDTO } from '@gridpilot/racing/application/ports/LeagueScoringPresetProvider';
|
||||
import type { GetDashboardOverviewUseCase } from '@gridpilot/racing/application/use-cases/GetDashboardOverviewUseCase';
|
||||
import { createDemoDriverStats, getDemoLeagueRankings, type DriverStats } from '@gridpilot/testing-support';
|
||||
|
||||
@@ -613,6 +615,21 @@ export function getIsDriverRegisteredForRaceUseCase(): IsDriverRegisteredForRace
|
||||
return DIContainer.getInstance().isDriverRegisteredForRaceUseCase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Query facade for checking if a driver is registered for a race.
|
||||
*/
|
||||
export function getIsDriverRegisteredForRaceQuery(): {
|
||||
execute(input: { raceId: string; driverId: string }): Promise<boolean>;
|
||||
} {
|
||||
const useCase = DIContainer.getInstance().isDriverRegisteredForRaceUseCase;
|
||||
return {
|
||||
async execute(input: { raceId: string; driverId: string }): Promise<boolean> {
|
||||
const result = await useCase.execute(input);
|
||||
return result as unknown as boolean;
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export function getGetRaceRegistrationsUseCase(): GetRaceRegistrationsUseCase {
|
||||
return DIContainer.getInstance().getRaceRegistrationsUseCase;
|
||||
}
|
||||
@@ -649,6 +666,24 @@ export function getListLeagueScoringPresetsUseCase(): ListLeagueScoringPresetsUs
|
||||
return DIContainer.getInstance().listLeagueScoringPresetsUseCase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lightweight query facade for listing league scoring presets.
|
||||
* Returns an object with an execute() method for use in UI code.
|
||||
*/
|
||||
export function getListLeagueScoringPresetsQuery(): {
|
||||
execute(): Promise<LeagueScoringPresetDTO[]>;
|
||||
} {
|
||||
const useCase = DIContainer.getInstance().listLeagueScoringPresetsUseCase;
|
||||
return {
|
||||
async execute(): Promise<LeagueScoringPresetDTO[]> {
|
||||
const presenter = new LeagueScoringPresetsPresenter();
|
||||
await useCase.execute(undefined as void, presenter);
|
||||
const viewModel = presenter.getViewModel();
|
||||
return viewModel.presets;
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export function getCreateLeagueWithSeasonAndScoringUseCase(): CreateLeagueWithSeasonAndScoringUseCase {
|
||||
return DIContainer.getInstance().createLeagueWithSeasonAndScoringUseCase;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user