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

26 lines
664 B
TypeScript

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