v1.4.1
This commit is contained in:
parent
ab988837fe
commit
84869dafa7
7 changed files with 81 additions and 34 deletions
|
@ -10,6 +10,7 @@ let shortid = require('shortid');
|
|||
let isUrl = require('is-url');
|
||||
let feed = require('../feed');
|
||||
let log = require('npmlog');
|
||||
let mailer = require('../mailer');
|
||||
|
||||
let allowedKeys = ['description', 'from', 'address', 'subject', 'template', 'source_url', 'list', 'segment', 'html', 'text'];
|
||||
|
||||
|
@ -323,36 +324,44 @@ module.exports.create = (campaign, opts, callback) => {
|
|||
return callback(err);
|
||||
}
|
||||
|
||||
create((err, campaignId) => {
|
||||
mailer.getTemplate('emails/rss-html.hbs', (err, rendererHtml) => {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
if (!campaignId || !entries.length) {
|
||||
return callback(null, campaignId);
|
||||
}
|
||||
|
||||
db.getConnection((err, connection) => {
|
||||
campaign.html = rendererHtml();
|
||||
|
||||
create((err, campaignId) => {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
if (!campaignId || !entries.length) {
|
||||
return callback(null, campaignId);
|
||||
}
|
||||
|
||||
// store references to already existing feed entries
|
||||
// this is needed to detect new entries
|
||||
let query = 'INSERT IGNORE INTO `rss` (`parent`,`guid`,`pubdate`) VALUES ' + entries.map(() => '(?,?,?)').join(',');
|
||||
|
||||
values = [];
|
||||
entries.forEach(entry => {
|
||||
values.push(campaignId, entry.guid, entry.date);
|
||||
});
|
||||
|
||||
connection.query(query, values, err => {
|
||||
connection.release();
|
||||
db.getConnection((err, connection) => {
|
||||
if (err) {
|
||||
// too late to report as failed
|
||||
log.error('RSS', err);
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
return callback(null, campaignId);
|
||||
// store references to already existing feed entries
|
||||
// this is needed to detect new entries
|
||||
let query = 'INSERT IGNORE INTO `rss` (`parent`,`guid`,`pubdate`) VALUES ' + entries.map(() => '(?,?,?)').join(',');
|
||||
|
||||
values = [];
|
||||
entries.forEach(entry => {
|
||||
values.push(campaignId, entry.guid, entry.date);
|
||||
});
|
||||
|
||||
connection.query(query, values, err => {
|
||||
connection.release();
|
||||
if (err) {
|
||||
// too late to report as failed
|
||||
log.error('RSS', err);
|
||||
}
|
||||
|
||||
return callback(null, campaignId);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue