Files
gridpilot.gg/apps/api/src/domain/payments/presenters/AwardPrizePresenter.ts
2025-12-16 15:42:38 +01:00

26 lines
594 B
TypeScript

import type {
IAwardPrizePresenter,
AwardPrizeResultDTO,
AwardPrizeViewModel,
} from '@core/payments/application/presenters/IAwardPrizePresenter';
export class AwardPrizePresenter implements IAwardPrizePresenter {
private result: AwardPrizeViewModel | null = null;
reset() {
this.result = null;
}
present(dto: AwardPrizeResultDTO) {
this.result = dto;
}
getViewModel(): AwardPrizeViewModel | null {
return this.result;
}
get viewModel(): AwardPrizeViewModel {
if (!this.result) throw new Error('Presenter not presented');
return this.result;
}
}