import { NestFactory } from '@nestjs/core';
import { Logger } from '@nestjs/common';
import { AppModule } from './app.module';
import { RedisIoAdapter } from './redis-io.adapter';

async function bootstrap() {
  const logger = new Logger('RealtimeBootstrap');
  const app = await NestFactory.create(AppModule);

  // Configure Redis adapter for Socket.io (enables multi-instance broadcasting)
  app.useWebSocketAdapter(new RedisIoAdapter(app));

  const port = parseInt(process.env.WS_PORT || '3002', 10);
  await app.listen(port);
  logger.log(`WebSocket Gateway running on ws://localhost:${port}`);
}

bootstrap();