/** * Application Port: ITeamRepository * * Repository interface for Team aggregate operations. * This defines the persistence boundary for Team entities. */ import type { Team } from '../entities/Team'; export interface ITeamRepository { /** * Find a team by ID. */ findById(id: string): Promise; /** * Find all teams. */ findAll(): Promise; /** * Find teams by league ID. */ findByLeagueId(leagueId: string): Promise; /** * Create a new team. */ create(team: Team): Promise; /** * Update an existing team. */ update(team: Team): Promise; /** * Delete a team by ID. */ delete(id: string): Promise; /** * Check if a team exists by ID. */ exists(id: string): Promise; }