import { DashboardRepository, DriverData, RaceData, LeagueStandingData, ActivityData, FriendData, } from '../../../../core/dashboard/application/ports/DashboardRepository'; export class InMemoryActivityRepository implements DashboardRepository { private drivers: Map = new Map(); private upcomingRaces: Map = new Map(); private leagueStandings: Map = new Map(); private recentActivity: Map = new Map(); private friends: Map = new Map(); async findDriverById(driverId: string): Promise { return this.drivers.get(driverId) || null; } async getUpcomingRaces(driverId: string): Promise { return this.upcomingRaces.get(driverId) || []; } async getLeagueStandings(driverId: string): Promise { return this.leagueStandings.get(driverId) || []; } async getRecentActivity(driverId: string): Promise { return this.recentActivity.get(driverId) || []; } async getFriends(driverId: string): Promise { return this.friends.get(driverId) || []; } addDriver(driver: DriverData): void { this.drivers.set(driver.id, driver); } addUpcomingRaces(driverId: string, races: RaceData[]): void { this.upcomingRaces.set(driverId, races); } addLeagueStandings(driverId: string, standings: LeagueStandingData[]): void { this.leagueStandings.set(driverId, standings); } addRecentActivity(driverId: string, activities: ActivityData[]): void { this.recentActivity.set(driverId, activities); } addFriends(driverId: string, friends: FriendData[]): void { this.friends.set(driverId, friends); } clear(): void { this.drivers.clear(); this.upcomingRaces.clear(); this.leagueStandings.clear(); this.recentActivity.clear(); this.friends.clear(); } }