refactor core presenters
This commit is contained in:
@@ -7,7 +7,7 @@ import { Result } from '../../domain/entities/Result';
|
||||
import type { AsyncUseCase, Logger } from '@core/shared/application';
|
||||
import { Result as SharedResult } from '@core/shared/application/Result';
|
||||
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
|
||||
import type { ImportRaceResultsApiResultDTO } from '../presenters/IImportRaceResultsApiPresenter';
|
||||
import type { ImportRaceResultsApiOutputPort } from '../ports/output/ImportRaceResultsApiOutputPort';
|
||||
|
||||
export interface ImportRaceResultDTO {
|
||||
id: string;
|
||||
@@ -29,7 +29,7 @@ type ImportRaceResultsApiErrorCode =
|
||||
|
||||
type ImportRaceResultsApiApplicationError = ApplicationErrorCode<ImportRaceResultsApiErrorCode, { message: string }>;
|
||||
|
||||
export class ImportRaceResultsApiUseCase implements AsyncUseCase<{ raceId: string; resultsFileContent: string }, ImportRaceResultsApiResultDTO, ImportRaceResultsApiErrorCode> {
|
||||
export class ImportRaceResultsApiUseCase implements AsyncUseCase<{ raceId: string; resultsFileContent: string }, ImportRaceResultsApiOutputPort, ImportRaceResultsApiErrorCode> {
|
||||
constructor(
|
||||
private readonly raceRepository: IRaceRepository,
|
||||
private readonly leagueRepository: ILeagueRepository,
|
||||
@@ -39,7 +39,7 @@ export class ImportRaceResultsApiUseCase implements AsyncUseCase<{ raceId: strin
|
||||
private readonly logger: Logger,
|
||||
) {}
|
||||
|
||||
async execute(params: { raceId: string; resultsFileContent: string }): Promise<SharedResult<ImportRaceResultsApiResultDTO, ApplicationErrorCode<ImportRaceResultsApiErrorCode>>> {
|
||||
async execute(params: { raceId: string; resultsFileContent: string }): Promise<SharedResult<ImportRaceResultsApiOutputPort, ApplicationErrorCode<ImportRaceResultsApiErrorCode>>> {
|
||||
this.logger.debug('ImportRaceResultsApiUseCase:execute', { raceId: params.raceId });
|
||||
const { raceId, resultsFileContent } = params;
|
||||
|
||||
@@ -107,9 +107,10 @@ export class ImportRaceResultsApiUseCase implements AsyncUseCase<{ raceId: strin
|
||||
await this.standingRepository.recalculate(league.id);
|
||||
this.logger.info('ImportRaceResultsApiUseCase:standings recalculated', { leagueId: league.id });
|
||||
|
||||
const dto: ImportRaceResultsApiResultDTO = {
|
||||
const output: ImportRaceResultsApiOutputPort = {
|
||||
success: true,
|
||||
raceId,
|
||||
leagueId: league.id,
|
||||
driversProcessed: results.length,
|
||||
resultsRecorded: validEntities.length,
|
||||
errors: [],
|
||||
|
||||
Reference in New Issue
Block a user