25 lines
945 B
TypeScript
25 lines
945 B
TypeScript
import type { IImportRaceResultsApiPresenter, ImportRaceResultsApiResultDTO, ImportRaceResultsSummaryViewModel } from '../presenters/IImportRaceResultsApiPresenter';
|
|
import type { UseCase } from '@gridpilot/shared/application/UseCase';
|
|
|
|
export interface ImportRaceResultsApiParams {
|
|
raceId: string;
|
|
resultsFileContent: string;
|
|
}
|
|
|
|
export class ImportRaceResultsApiUseCase implements UseCase<ImportRaceResultsApiParams, ImportRaceResultsApiResultDTO, ImportRaceResultsSummaryViewModel, IImportRaceResultsApiPresenter> {
|
|
constructor() {} // No repositories for mock
|
|
|
|
async execute(params: ImportRaceResultsApiParams, presenter: IImportRaceResultsApiPresenter): Promise<void> {
|
|
// Mock implementation
|
|
const dto: ImportRaceResultsApiResultDTO = {
|
|
success: true,
|
|
raceId: params.raceId,
|
|
driversProcessed: 10,
|
|
resultsRecorded: 10,
|
|
errors: [],
|
|
};
|
|
|
|
presenter.reset();
|
|
presenter.present(dto);
|
|
}
|
|
} |