Files
gridpilot.gg/apps/api/src/domain/league/presenters/LeagueStatsPresenter.ts
2025-12-23 17:31:45 +01:00

23 lines
674 B
TypeScript

import type { GetLeagueStatsResult } from '@core/racing/application/use-cases/GetLeagueStatsUseCase';
import { LeagueStatsDTO } from '../dtos/LeagueStatsDTO';
import type { Presenter } from '../../../shared/presentation/Presenter';
export class LeagueStatsPresenter implements Presenter<GetLeagueStatsResult, LeagueStatsDTO> {
private result: LeagueStatsDTO | null = null;
reset() {
this.result = null;
}
present(dto: GetLeagueStatsResult) {
this.result = {
totalMembers: dto.driverCount,
totalRaces: dto.raceCount,
averageRating: dto.averageRating,
};
}
getResponseModel(): LeagueStatsDTO | null {
return this.result;
}
}