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

25 lines
758 B
TypeScript

import type { Presenter } from '../../../shared/presentation/Presenter';
import { GetMembershipFeesResultDTO } from '../dtos/GetMembershipFeesDTO';
export interface IGetMembershipFeesPresenter extends Presenter<GetMembershipFeesResultDTO, GetMembershipFeesResultDTO> {}
export class GetMembershipFeesPresenter implements IGetMembershipFeesPresenter {
private result: GetMembershipFeesResultDTO | null = null;
reset() {
this.result = null;
}
present(dto: GetMembershipFeesResultDTO) {
this.result = dto;
}
getResponseModel(): GetMembershipFeesResultDTO | null {
return this.result;
}
get viewModel(): GetMembershipFeesResultDTO {
if (!this.result) throw new Error('Presenter not presented');
return this.result;
}
}