"""Fantasy team repository interface.""" from abc import ABC, abstractmethod from typing import List, Optional from src.domain.entities import FantasyTeam class FantasyRepository(ABC): """Abstract interface for Yahoo Fantasy Hockey data access.""" @abstractmethod async def get_fantasy_team( self, league_id: str, team_id: str ) -> Optional[FantasyTeam]: """Retrieves a specific fantasy team from a league.""" pass @abstractmethod async def get_user_teams(self, user_id: str) -> List[FantasyTeam]: """Retrieves all fantasy teams for a user.""" pass @abstractmethod async def get_team_roster(self, league_id: str, team_id: str) -> List[str]: """Retrieves the player IDs on a fantasy team's roster.""" pass @abstractmethod async def get_league_standings(self, league_id: str) -> List[FantasyTeam]: """Retrieves all teams in a league ordered by standings.""" pass