Calendar/src/repositories/IEventRepository.ts

21 lines
639 B
TypeScript
Raw Normal View History

2025-11-03 14:54:57 +01:00
import { CalendarEvent } from '../types/CalendarTypes';
/**
* IEventRepository - Interface for event data loading
*
* Abstracts the data source for calendar events, allowing easy switching
* between mock data, REST API, GraphQL, or other data sources.
*
* Implementations:
* - MockEventRepository: Loads from local JSON file
* - ApiEventRepository: (Future) Loads from backend API
*/
export interface IEventRepository {
/**
* Load all calendar events from the data source
* @returns Promise resolving to array of CalendarEvent objects
* @throws Error if loading fails
*/
loadEvents(): Promise<CalendarEvent[]>;
}