Files
gridpilot.gg/core/racing/application/use-cases/ImportRaceResultsApiUseCase.ts
2025-12-16 10:50:15 +01:00

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);
}
}