23 lines
674 B
TypeScript
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;
|
|
}
|
|
} |