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 { return this.get('/dashboard/overview'); } }