37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { BaseApiClient } from '../base/BaseApiClient';
|
|
import {
|
|
DashboardDriverSummaryDTO,
|
|
DashboardRaceSummaryDTO,
|
|
DashboardLeagueStandingSummaryDTO,
|
|
DashboardFeedItemSummaryDTO,
|
|
DashboardFriendSummaryDTO,
|
|
DashboardRecentResultDTO,
|
|
} from '../../types/generated';
|
|
|
|
// Define DashboardOverviewDTO using generated types
|
|
export type DashboardOverviewDto = {
|
|
currentDriver: DashboardDriverSummaryDTO | null;
|
|
myUpcomingRaces: DashboardRaceSummaryDTO[];
|
|
otherUpcomingRaces: DashboardRaceSummaryDTO[];
|
|
upcomingRaces: DashboardRaceSummaryDTO[];
|
|
activeLeaguesCount: number;
|
|
nextRace: DashboardRaceSummaryDTO | null;
|
|
recentResults: DashboardRecentResultDTO[];
|
|
leagueStandingsSummaries: DashboardLeagueStandingSummaryDTO[];
|
|
feedSummary: {
|
|
feedItems: DashboardFeedItemSummaryDTO[];
|
|
};
|
|
friends: DashboardFriendSummaryDTO[];
|
|
};
|
|
|
|
/**
|
|
* Dashboard API Client
|
|
*
|
|
* Handles dashboard overview data aggregation.
|
|
*/
|
|
export class DashboardApiClient extends BaseApiClient {
|
|
/** Get dashboard overview data */
|
|
getDashboardOverview(): Promise<DashboardOverviewDto> {
|
|
return this.get<DashboardOverviewDto>('/dashboard/overview');
|
|
}
|
|
} |