import { Injectable } from '@nestjs/common';
import { MailerService as NestMailerService } from '@nestjs-modules/mailer';

@Injectable()
export class MailerService {
  constructor(private readonly mailerService: NestMailerService) {}

  /**
   * Lấy danh sách email từ biến môi trường MAILS
   */
  private getMailList(): string[] {
    const mailList = (process.env.MAILS || '')
      .split(',')
      .map((email) => email.trim())
      .filter(Boolean); // loại bỏ email rỗng

    if (mailList.length === 0) {
      throw new Error('No valid email addresses found in MAILS env');
    }

    return mailList;
  }

  /**
   * Gửi email đến tất cả người nhận trong MAILS env
   */
  async sendMail(subject: string, htmlContent: string) {
    const mailList = this.getMailList(); // lấy danh sách email từ hàm

    await this.mailerService.sendMail({
      to: mailList,
      subject,
      html: htmlContent,
    });
  }
}
