Files
gridpilot.gg/apps/website/lib/presenters/RaceRegistrationsPresenter.ts
2025-12-16 11:52:26 +01:00

25 lines
660 B
TypeScript

import type {
IRaceRegistrationsPresenter,
RaceRegistrationsViewModel,
RaceRegistrationsResultDTO,
} from '@core/racing/application/presenters/IRaceRegistrationsPresenter';
export class RaceRegistrationsPresenter implements IRaceRegistrationsPresenter {
private viewModel: RaceRegistrationsViewModel | null = null;
reset(): void {
this.viewModel = null;
}
present(input: RaceRegistrationsResultDTO): void {
const { registeredDriverIds } = input;
this.viewModel = {
registeredDriverIds,
count: registeredDriverIds.length,
};
}
getViewModel(): RaceRegistrationsViewModel | null {
return this.viewModel;
}
}