import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ProgramSession } from 'src/common/entities';
import { AppLoggerService } from 'src/common/services/logger.service';
import { AwsSchedulerModule } from 'src/aws-scheduler/aws-scheduler.module';
import { SessionCommunicationSchedulerService } from './session-communication-scheduler.service';

/**
 * Registers the EventBridge schedules that auto-trigger Welcome / Program-completion
 * session communications. Dependency-light (AWS scheduler + ProgramSession) so callers
 * (e.g. OnlineSessionModule) can import it without creating cycles.
 */
@Module({
  imports: [TypeOrmModule.forFeature([ProgramSession]), AwsSchedulerModule],
  providers: [SessionCommunicationSchedulerService, AppLoggerService],
  exports: [SessionCommunicationSchedulerService],
})
export class SessionCommunicationSchedulerModule {}
