import { CalendarProvider } from './CalendarProvider.interface';
import { GoogleCalendarProvider } from './GoogleCalendarProvider';
import { MicrosoftCalendarProvider } from './MicrosoftCalendarProvider';
import { AppleCalendarProvider } from './AppleCalendarProvider';
import { CalendarProvider as ProviderType } from '../../models/entities/CalendarConnection.entity';

export function getCalendarProvider(provider: ProviderType): CalendarProvider {
  switch (provider) {
    case 'google':
      return new GoogleCalendarProvider();
    case 'microsoft':
      return new MicrosoftCalendarProvider();
    case 'apple':
      return new AppleCalendarProvider();
    default:
      throw new Error(`Unknown provider: ${provider}`);
  }
}
