view models

This commit is contained in:
2025-12-18 01:20:23 +01:00
parent 7c449af311
commit cc2553876a
216 changed files with 485 additions and 10179 deletions

View File

@@ -1,11 +1,11 @@
import { PaymentsApiClient } from '../../api/payments/PaymentsApiClient';
import { presentMembershipFee } from '../../presenters/MembershipFeePresenter';
import type { MembershipFeeViewModel } from '../../view-models';
import { MembershipFeeViewModel } from '../../view-models';
import type { MembershipFeeDto } from '../../types/generated';
/**
* Membership Fee Service
*
* Orchestrates membership fee operations by coordinating API calls and presentation logic.
* Orchestrates membership fee operations by coordinating API calls and view model creation.
* All dependencies are injected via constructor.
*/
export class MembershipFeeService {
@@ -14,14 +14,10 @@ export class MembershipFeeService {
) {}
/**
* Get membership fees by league ID with presentation transformation
* Get membership fees by league ID with view model transformation
*/
async getMembershipFees(leagueId: string): Promise<MembershipFeeViewModel[]> {
try {
const dto = await this.apiClient.getMembershipFees(leagueId);
return dto.fees.map(presentMembershipFee);
} catch (error) {
throw error;
}
const dto = await this.apiClient.getMembershipFees(leagueId);
return dto.fees.map((fee: MembershipFeeDto) => new MembershipFeeViewModel(fee));
}
}