import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Session } from '@tria-plc/iamapi-common/entities/iam/user/session.entity';

import { StorageModule } from '../storage/storage.module';
import { SupportController } from './support.controller';
import { SupportService } from './support.service';
import { SupportGateway } from './support.gateway';
import { WsAuthService } from './ws-auth.service';

@Module({
  // Session is served by the app's default TypeORM DataSource (IAM schema) —
  // used by WsAuthService to authenticate WebSocket handshakes.
  // StorageModule — MinioService for chat attachment bytes.
  imports: [TypeOrmModule.forFeature([Session]), StorageModule],
  controllers: [SupportController],
  providers: [SupportService, SupportGateway, WsAuthService],
})
export class SupportModule {}
