@it_kyryl/arbitrage_admin_schema
Version:
Schema for arbitrage admin panel
29 lines • 2.49 kB
TypeScript
import { ResolveAccountsSpendReportInputDataT, ResolveProviderRevenueReportInputDataT, ResolveUserFinanceReportInputData, ResolveUserFinanceReportUseCaseInputData } from "../../../domain/finance";
import IMomentService from "../../services/Moment/Moment.service.interface";
import IBaseUseCase from "../BaseUseCase.interface";
import IFinanceReportRepository from "../../repository/database/FinanceReport/FinanceReport.repository.interface";
import IUserFinanceReportRepository from "../../repository/database/user-finance-report/UserFinanceReport.repository.interface";
import IDateRevenueRepository from "../../repository/database/DateRevenue/DateRevenue.repository.interface";
import IProviderRevenueReportRepository from "../../repository/database/ProviderRevenueReport/ProviderRevenueReport.repository.interface";
import IAccountSpendReportRepository from "../../repository/database/AccountSpendReport/AccountSpendReport.repository.interface";
import IAdStatRepository from "../../repository/database/AdStat/AdStat.repository.interface";
import IAccountRepository from "../../repository/database/Account/Account.repository.interface";
declare class ResolveUserFinanceReportUseCase implements IBaseUseCase<ResolveUserFinanceReportUseCaseInputData, undefined> {
private readonly dependency;
constructor(dependency: {
momentService: IMomentService;
financeReportRepository: IFinanceReportRepository;
userFinanceReportRepository: IUserFinanceReportRepository;
dateRevenueRepository: IDateRevenueRepository;
providerRevenueReportRepository: IProviderRevenueReportRepository;
adStatRepository: IAdStatRepository;
accountSpendReportRepository: IAccountSpendReportRepository;
accountRepository: IAccountRepository;
});
execute({ totalFinanceReport, userFinanceProfile, financeReport, providerAccounts }: ResolveUserFinanceReportUseCaseInputData): Promise<undefined>;
resolverUserFinanceReport({ userFinanceProfile, userFinanceReport, financeReportId }: ResolveUserFinanceReportInputData): Promise<void>;
resolveProviderRevenueReport({ financeReportId, totalFinanceReport, userId, providerAccounts }: ResolveProviderRevenueReportInputDataT): Promise<void>;
resolveAccountsSpendReport({ financeReportId, totalFinanceReport, userId }: ResolveAccountsSpendReportInputDataT): Promise<void>;
}
export default ResolveUserFinanceReportUseCase;
//# sourceMappingURL=ResolveUserFinanceReport.use-case.d.ts.map