import { Module } from '@nestjs/common';
import { NotificationService } from './notification.service';
import { NotificationController } from './notification.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthModule } from '@/auth/auth.module';
import { Notification } from '@/entities/notification.entity';
import { NotificationGateway } from './notification.gateway';
import { GroupMember } from '@/entities/group-member.entity';
import { Group } from '@/entities/group.entity';
import { Trip } from '@/entities/trip.entity';
import { PushModule } from '@/push/push.module';
import { JwtModule } from '@nestjs/jwt';
import { Map } from '@/entities/map.entity';
import { Timeline } from '@/entities/timeline.entity';

@Module({
  imports: [
    TypeOrmModule.forFeature([
      Notification,
      Group,
      GroupMember,
      Trip,
      Map,
      Timeline,
    ]),
    AuthModule,
    JwtModule,
    PushModule,
  ],
  controllers: [NotificationController],
  providers: [NotificationService, NotificationGateway],
  exports: [NotificationService],
})
export class NotificationModule {}
