Прикрепление хранилища сущностей к почте - PullRequest
0 голосов
/ 16 марта 2020

Я довольно новичок в кодировании, поэтому извиняюсь, если есть простое решение, которое я закрашиваю, но я какое-то время пытался его получить

import { Injectable } from '@nestjs/common';
import { MailerService } from '@nestjs-modules/mailer';
import { InjectRepository } from '@nestjs/typeorm';
import { ChecklistItemsEntity } from 'src/checklist-items/checklist-items.entity';



const mail = 'welcome'
@Injectable()
export class MailService {
  constructor( public mailerService: MailerService) {}

  public example(): void {
    this
      .mailerService
      .sendMail({
        to: 'ashwin.iyer01@gmail.com', // List of receivers email address
        from: 'ashwin.iyer01@gmail.com', // Senders email address
        subject: 'Testing Nest MailerModule ✔', // Subject line
        text: 'welcome', // plaintext body
        html: mail , // HTML body content
      })
      .then((success) => {
        console.log(success)
      })
      .catch((err) => {
        console.log(err)
      });
  }

Это часть приложения, которое я создаю, оно выполняет свою работу по назначению и отправляет образцы электронных писем, однако мне нужно, чтобы в сообщениях электронной почты содержались данные из базы данных MySQL, с которой связано приложение, а не 'welcome'.

В частности, мне нужно, чтобы он содержал все записи одной таблицы в базе данных, сущность (я использую TypeORM).

Как бы я go сделал это?

1 Ответ

0 голосов
/ 17 марта 2020

Вы должны иметь возможность просто добавить хранилище typeorm в службу, выполнить запрос к данным, сериализовать данные обратно в HTML совместимый формат, а затем добавить его в html или text имущество. Или, что еще лучше, вы можете внедрить MailService во что-то вроде UsertService, в котором уже есть UserRepo, и создать функцию, которая получает уже сериализованную информацию, затем из вызова UserService this.mailService.sendMail(data) и пусть все будет оттуда.

...