Мы с товарищами по группе создаем веб-приложение с Typescript / Javascript и будем хранить сгенерированные пользователем данные в PostgreSQL.
Я написал модуль Typescript для отправки обычных электронных писем cron .
const nodemailer = require("nodemailer");
const cron = require('node-cron');
const dotenv = require("dotenv");
dotenv.config({ path: '../.env' });
function buildDate() {
let date = new Date();
let year = date.getFullYear();
let day = ("0" + date.getDay()).slice(-2);
let month = ("0" + (date.getMonth() + 1)).slice(-2);
return day + "/" + month + "/" + year;
}
cron.schedule("00 00 00 * * *", function () {
const transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: '465',
auth: {
service: 'gmail',
user: process.env.senderEmail,
pass: process.env.senderPassword,
}
});
const mailOptions = {
from: process.env.senderEmail,
to: 'fakename@gmail.com',
subject: 'News letter - ' + buildDate(),
html: '<h1> Todays topics include ..</h1>',
text: 'hello world',
}
transporter.sendMail(mailOptions, function (error: string, info: any) {
if (error) {
console.log(error);
} else {
console.log("Email sent: " + info.response);
}
})
});
Мой вопрос: 1. Как автоматически сгенерировать таблицы / базы данных из PostgreSQL? 2. Как прикрепить таблицы / базу данных к электронному письму?
Формат может быть простым текстом, csv или pdf. Возьмите в качестве примера отчет о количестве зарегистрированных пользователей каждую неделю:
import * as Knex from "knex";
export async function up(knex: Knex): Promise<any> {
return await knex.schema.createTableIfNotExists('users',(table)=>{
table.increments();
table.string('username').unique;
table.string('email').unique;
table.string('password');
table.timestamps(false, true);
})
}
export async function down(knex: Knex): Promise<any> {
return await knex.schema.dropTableIfExists('users');
}
Благодарен, если вы можете помочь:)