20 lines
642 B
TypeScript
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[]>;
|
|
}
|