view models
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user