import { MailerModule } from '@nestjs-modules/mailer';
import { HandlebarsAdapter } from '@nestjs-modules/mailer/adapters/handlebars.adapter';
import { Module } from '@nestjs/common';
import { join } from 'path';
import { envs } from '../config/envs';
import { MailService } from './mail.service';

@Module({
  imports: [
    MailerModule.forRoot({
      transport: {
        host: envs.mailHost,
        port: envs.mailPort,
        secure: envs.mailSecure,
        auth: {
          user: envs.mailUser,
          pass: envs.mailPass,
        },
      },
      defaults: {
        from: envs.mailUserFrom,
      },
      template: {
        dir: join(__dirname, '..', 'mail', 'templates'),
        adapter: new HandlebarsAdapter(),
        options: {
          strict: false,
        },
      },
    }),
  ],
  providers: [MailService],
  exports: [MailService],
})
export class MailModule {}
