import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { MailerModule as NestMailerModule } from '@nestjs-modules/mailer';
import { AppMailerService } from './mailer.service';
import { CronReportService } from './cron-report.service';

@Module({
  imports: [
    NestMailerModule.forRootAsync({
      imports: [ConfigModule],
      useFactory: (configService: ConfigService) => ({
        transport: {
          host: 'smtp.hostinger.com',
          port: 465,
          secure: true,
          auth: {
            user: 'ethan.fajnkuchen@ad-plus.tech',
            pass: configService.get<string>('SMTP_SECRET'),
          },
        },
        defaults: {
          from: '"AD+ DMLA" <ethan.fajnkuchen@ad-plus.tech>',
        },
      }),
      inject: [ConfigService],
    }),
  ],
  providers: [AppMailerService, CronReportService],
  exports: [NestMailerModule, AppMailerService, CronReportService],
})
export class MailerModule {}

