35 lines
884 B
TypeScript
35 lines
884 B
TypeScript
import type { Season } from '../entities/Season';
|
|
|
|
export interface ISeasonRepository {
|
|
findById(id: string): Promise<Season | null>;
|
|
/**
|
|
* Backward-compatible alias retained for existing callers.
|
|
* Prefer listByLeague for new usage.
|
|
*/
|
|
findByLeagueId(leagueId: string): Promise<Season[]>;
|
|
/**
|
|
* Backward-compatible alias retained for existing callers.
|
|
* Prefer add for new usage.
|
|
*/
|
|
create(season: Season): Promise<Season>;
|
|
|
|
/**
|
|
* Add a new Season aggregate.
|
|
*/
|
|
add(season: Season): Promise<void>;
|
|
|
|
/**
|
|
* Persist changes to an existing Season aggregate.
|
|
*/
|
|
update(season: Season): Promise<void>;
|
|
|
|
/**
|
|
* List all Seasons for a given League.
|
|
*/
|
|
listByLeague(leagueId: string): Promise<Season[]>;
|
|
|
|
/**
|
|
* List Seasons for a League that are currently active.
|
|
*/
|
|
listActiveByLeague(leagueId: string): Promise<Season[]>;
|
|
} |