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

17 lines
511 B
TypeScript

/**
* Repository Interface: ISponsorRepository
*
* Defines operations for Sponsor aggregate persistence
*/
import type { Sponsor } from '../entities/Sponsor';
export interface ISponsorRepository {
findById(id: string): Promise<Sponsor | null>;
findAll(): Promise<Sponsor[]>;
findByEmail(email: string): Promise<Sponsor | null>;
create(sponsor: Sponsor): Promise<Sponsor>;
update(sponsor: Sponsor): Promise<Sponsor>;
delete(id: string): Promise<void>;
exists(id: string): Promise<boolean>;
}