import { Module } from '@nestjs/common'; import { CalendarController } from './calendar.controller'; import { CalendarService } from './calendar.service'; import { CalDAVProvider } from './providers/caldav.provider'; import { ICSProvider } from './providers/ics.provider'; import { ExchangeProvider } from './providers/exchange.provider'; /** * NestJS module for calendar source management and event aggregation. * * Provides: * - CalendarService: Source CRUD + event aggregation across providers * - CalDAVProvider: CalDAV protocol integration via tsdav * - ICSProvider: ICS file fetch + parse via node-ical * - ExchangeProvider: Exchange Online (Graph) + Exchange Server (EWS) integration * - CalendarController: REST API for sources and events * * Exports CalendarService for potential use by other modules. */ @Module({ controllers: [CalendarController], providers: [ CalendarService, CalDAVProvider, ICSProvider, ExchangeProvider, ], exports: [CalendarService], }) export class CalendarModule {}