Files
gridpilot.gg/packages/racing/domain/repositories/ISeasonSponsorshipRepository.ts
2025-12-10 00:38:59 +01:00

18 lines
776 B
TypeScript

/**
* Repository Interface: ISeasonSponsorshipRepository
*
* Defines operations for SeasonSponsorship aggregate persistence
*/
import type { SeasonSponsorship, SponsorshipTier } from '../entities/SeasonSponsorship';
export interface ISeasonSponsorshipRepository {
findById(id: string): Promise<SeasonSponsorship | null>;
findBySeasonId(seasonId: string): Promise<SeasonSponsorship[]>;
findBySponsorId(sponsorId: string): Promise<SeasonSponsorship[]>;
findBySeasonAndTier(seasonId: string, tier: SponsorshipTier): Promise<SeasonSponsorship[]>;
create(sponsorship: SeasonSponsorship): Promise<SeasonSponsorship>;
update(sponsorship: SeasonSponsorship): Promise<SeasonSponsorship>;
delete(id: string): Promise<void>;
exists(id: string): Promise<boolean>;
}