code quality
This commit is contained in:
@@ -60,6 +60,14 @@ export class PaymentService implements Service {
|
||||
|
||||
async getWallet(leagueId: string): Promise<WalletViewModel> {
|
||||
const data = await this.apiClient.getWallet({ leagueId });
|
||||
return new WalletViewModel({ ...data.wallet, transactions: data.transactions });
|
||||
const transactions = data.transactions.map(t => ({
|
||||
...t,
|
||||
type: t.type as any,
|
||||
fee: 0,
|
||||
netAmount: t.amount,
|
||||
date: t.createdAt,
|
||||
status: 'completed' as const
|
||||
}));
|
||||
return new WalletViewModel({ ...data.wallet, transactions });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,14 @@ export class WalletService implements Service {
|
||||
|
||||
async getWallet(leagueId: string): Promise<WalletViewModel> {
|
||||
const data = await this.apiClient.getWallet({ leagueId });
|
||||
return new WalletViewModel({ ...data.wallet, transactions: data.transactions });
|
||||
const transactions = data.transactions.map(t => ({
|
||||
...t,
|
||||
type: t.type as any,
|
||||
fee: 0, // DTO missing fee
|
||||
netAmount: t.amount, // DTO missing netAmount
|
||||
date: t.createdAt, // Map createdAt to date
|
||||
status: 'completed' as const // DTO missing status
|
||||
}));
|
||||
return new WalletViewModel({ ...data.wallet, transactions });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,10 @@ import { ApiError } from '@/lib/gateways/api/base/ApiError';
|
||||
import { RacesApiClient } from '@/lib/gateways/api/races/RacesApiClient';
|
||||
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
|
||||
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
|
||||
import type { ImportRaceResultsSummaryViewData } from '@/lib/view-data/ImportRaceResultsSummaryViewData';
|
||||
import { ImportRaceResultsSummaryViewModel } from '@/lib/view-models/ImportRaceResultsSummaryViewModel';
|
||||
import { RaceResultsDetailViewModel } from '@/lib/view-models/RaceResultsDetailViewModel';
|
||||
import type { RaceWithSOFViewData } from '@/lib/view-data/RaceWithSOFViewData';
|
||||
import { RaceWithSOFViewModel } from '@/lib/view-models/RaceWithSOFViewModel';
|
||||
import { injectable, unmanaged } from 'inversify';
|
||||
|
||||
@@ -46,14 +48,21 @@ export class RaceResultsService implements Service {
|
||||
|
||||
async importResults(raceId: string, input: any): Promise<any> {
|
||||
const res = await this.apiClient.importResults(raceId, input);
|
||||
return new ImportRaceResultsSummaryViewModel(res);
|
||||
const viewData: ImportRaceResultsSummaryViewData = {
|
||||
success: res.success,
|
||||
raceId: res.raceId,
|
||||
driversProcessed: res.driversProcessed,
|
||||
resultsRecorded: res.resultsRecorded,
|
||||
errors: res.errors || [],
|
||||
};
|
||||
return new ImportRaceResultsSummaryViewModel(viewData);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get race results detail
|
||||
* Returns results for a specific race
|
||||
*/
|
||||
async getRaceResultsDetail(raceId: string): Promise<Result<unknown, DomainError>> {
|
||||
async getRaceResultsDetail(raceId: string): Promise<Result<any, DomainError>> {
|
||||
try {
|
||||
const data = await this.apiClient.getResultsDetail(raceId);
|
||||
return Result.ok(data);
|
||||
@@ -78,7 +87,12 @@ export class RaceResultsService implements Service {
|
||||
async getWithSOF(raceId: string): Promise<any> {
|
||||
try {
|
||||
const data = await this.apiClient.getWithSOF(raceId);
|
||||
return new RaceWithSOFViewModel(data);
|
||||
const viewData: RaceWithSOFViewData = {
|
||||
id: data.id,
|
||||
track: data.track,
|
||||
strengthOfField: data.strengthOfField ?? null,
|
||||
};
|
||||
return new RaceWithSOFViewModel(viewData);
|
||||
} catch (error: unknown) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,17 @@ export class SponsorshipService implements Service {
|
||||
async getSponsorSponsorships(sponsorId: string): Promise<SponsorSponsorshipsViewModel | null> {
|
||||
const data = await this.apiClient.getSponsorships(sponsorId);
|
||||
if (!data) return null;
|
||||
return new SponsorSponsorshipsViewModel(data);
|
||||
|
||||
const mappedData = {
|
||||
...data,
|
||||
sponsorships: data.sponsorships.map(s => ({
|
||||
...s,
|
||||
type: 'league', // DTO missing type
|
||||
entityName: s.leagueName, // DTO missing entityName
|
||||
price: s.amount // DTO missing price
|
||||
}))
|
||||
};
|
||||
|
||||
return new SponsorSponsorshipsViewModel(mappedData as any);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user