43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
|
const sqlite = require('sqlite');
|
||
|
const sqlite3 = require('sqlite3');
|
||
|
const mailer = require('mailer');
|
||
|
require('dotenv').config({ path:__dirname + '/../.env' });
|
||
|
|
||
|
async function notify() {
|
||
|
const db = await sqlite.open({
|
||
|
filename: __dirname + '/../data/db.sqlite',
|
||
|
driver: sqlite3.Database,
|
||
|
});
|
||
|
|
||
|
const awaitingModeration = (await db.get(`SELECT count(*) as c FROM nouns WHERE approved = 0`)).c;
|
||
|
if (!awaitingModeration) {
|
||
|
console.log('No entries awaiting moderation');
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
console.log('Entries awaiting moderation: ' + awaitingModeration);
|
||
|
|
||
|
for (let admin of process.env.MAILER_ADMINS.split(',')) {
|
||
|
console.log('Sending email to ' + admin)
|
||
|
mailer.send({
|
||
|
host: process.env.MAILER_HOST,
|
||
|
port: parseInt(process.env.MAILER_PORT),
|
||
|
ssl: parseInt(process.env.MAILER_PORT) === 465,
|
||
|
authentication: 'login',
|
||
|
username: process.env.MAILER_USER,
|
||
|
password: process.env.MAILER_PASS,
|
||
|
from: process.env.MAILER_FROM,
|
||
|
to: admin,
|
||
|
subject: '[Zaimki.pl] Wpisy oczekują na moderację',
|
||
|
body: 'Liczba wpisów: ' + awaitingModeration,
|
||
|
},
|
||
|
function(err, result){
|
||
|
if (err) {
|
||
|
console.log(err);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
notify();
|