import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { JwtModule } from '@nestjs/jwt';
import { NotificationsService } from './notifications.service';
import { NotificationsController } from './notifications.controller';
import { NotificationGateway } from './notification.gateway';
import { Notification } from './entities/notification.entity';
import { NotificationConfig } from './entities/notification-config.entity';
import { PushSubscription } from './entities/push-subscription.entity'; // ✅ ADD
import { PushService } from './push.service';                           // ✅ ADD
import { WhatsappService } from './whatsapp.service';                   // 🆕 NEW
import { MailsModule } from '../mails/mails.module';                    // 🆕 NEW
import { ExpoPushToken } from './entities/expo-push-token.entity';

@Module({
  imports: [
    TypeOrmModule.forFeature(
      [Notification, NotificationConfig, PushSubscription,ExpoPushToken],
      'scheme_dbs',
    ),
    JwtModule.register({
      secret: process.env.JWT_SECRET || 'your-secret-key',
      signOptions: { expiresIn: '1d' },
    }),
    MailsModule,                                                        // 🆕 NEW
  ],
  controllers: [NotificationsController],
  providers: [
    NotificationsService,
    NotificationGateway,
    PushService,                                                        // ✅ kept
    WhatsappService,                                                    // 🆕 NEW
  ],
 exports: [NotificationsService, PushService],

})
export class NotificationsModule {}