import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { JwtModule } from '@nestjs/jwt';
import { Conversation } from '@/entities/conversation.entity';
import { ConversationMember } from '@/entities/conversation-member.entity';
import { Message } from '@/entities/message.entity';
import { MessageReaction } from '@/entities/message-reaction.entity';
import { ChatController } from './chat.controller';
import { ChatGateway } from './chat.gateway';
import { ChatService } from './chat.service';
import { PushModule } from '@/push/push.module';
import { GroupMember } from '@/entities/group-member.entity';

@Module({
  imports: [
    TypeOrmModule.forFeature([
      Conversation,
      ConversationMember,
      Message,
      MessageReaction,
      GroupMember,
    ]),
    JwtModule,
    PushModule,
  ],
  controllers: [ChatController],
  providers: [ChatService, ChatGateway],
  exports: [ChatService],
})
export class ChatModule {}
