Files
gridpilot.gg/packages/racing/domain/repositories/ISeasonRepository.ts
2025-12-12 14:23:40 +01:00

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[]>;
}