Calendar/src/repositories/IEventRepository.ts
2025-11-03 21:30:50 +01:00

20 lines
642 B
TypeScript

import { ICalendarEvent } 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 ICalendarEvent objects
* @throws Error if loading fails
*/
loadEvents(): Promise<ICalendarEvent[]>;
}