import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import {
  ProgramRegistrationOnlineSession,
  ProgramSession,
  ProgramUserAttendance,
} from 'src/common/entities';
import { AppLoggerService } from 'src/common/services/logger.service';
import { RegistrationSessionInfoService } from './registration-session-info.service';

/**
 * Provides RegistrationSessionInfoService — per-registration online-session
 * details (join URL, join window, attendance). Depends only on entities, so it
 * can be imported by any feature module without creating a cycle.
 */
@Module({
  imports: [
    TypeOrmModule.forFeature([
      ProgramSession,
      ProgramRegistrationOnlineSession,
      ProgramUserAttendance,
    ]),
  ],
  providers: [RegistrationSessionInfoService, AppLoggerService],
  exports: [RegistrationSessionInfoService],
})
export class RegistrationSessionInfoModule {}
