Files
gridpilot.gg/core/payments/application/presenters/IGetPaymentsPresenter.ts
2025-12-16 11:52:26 +01:00

31 lines
739 B
TypeScript

/**
* Presenter Interface: IGetPaymentsPresenter
*/
import type { Presenter } from '@core/shared/presentation/Presenter';
import type { PaymentType, PayerType, PaymentStatus } from '../../domain/entities/Payment';
export interface PaymentDto {
id: string;
type: PaymentType;
amount: number;
platformFee: number;
netAmount: number;
payerId: string;
payerType: PayerType;
leagueId: string;
seasonId?: string;
status: PaymentStatus;
createdAt: Date;
completedAt?: Date;
}
export interface GetPaymentsResultDTO {
payments: PaymentDto[];
}
export interface GetPaymentsViewModel {
payments: PaymentDto[];
}
export interface IGetPaymentsPresenter extends Presenter<GetPaymentsResultDTO, GetPaymentsViewModel> {}