first actually working version of RSS campaigns
This commit is contained in:
parent
fd0e75da27
commit
c031ea7747
7 changed files with 187 additions and 22 deletions
|
@ -199,11 +199,13 @@ module.exports.get = (id, withSegment, callback) => {
|
|||
});
|
||||
};
|
||||
|
||||
module.exports.create = (campaign, callback) => {
|
||||
module.exports.create = (campaign, opts, callback) => {
|
||||
|
||||
campaign = tools.convertKeys(campaign);
|
||||
let name = (campaign.name || '').toString().trim();
|
||||
|
||||
opts = opts || {};
|
||||
|
||||
if (/^\d+:\d+$/.test(campaign.list)) {
|
||||
campaign.segment = Number(campaign.list.split(':').pop());
|
||||
campaign.list = Number(campaign.list.split(':').shift());
|
||||
|
@ -216,6 +218,13 @@ module.exports.create = (campaign, callback) => {
|
|||
case 'rss':
|
||||
campaign.type = 2;
|
||||
break;
|
||||
case 'entry':
|
||||
if (opts.parent) {
|
||||
campaign.type = 3;
|
||||
} else {
|
||||
campaign.type = 1;
|
||||
}
|
||||
break;
|
||||
case 'normal':
|
||||
default:
|
||||
campaign.type = 1;
|
||||
|
@ -227,8 +236,8 @@ module.exports.create = (campaign, callback) => {
|
|||
return callback(new Error('Campaign Name must be set'));
|
||||
}
|
||||
|
||||
if (campaign.type === 2 && !campaign.sourceUrl || !isUrl(campaign.sourceUrl)) {
|
||||
return callback(new Error('RSS URL must be set'));
|
||||
if (campaign.type === 2 && (!campaign.sourceUrl || !isUrl(campaign.sourceUrl))) {
|
||||
return callback(new Error('RSS URL must be set and needs to be a valid URL'));
|
||||
}
|
||||
|
||||
lists.get(campaign.list, (err, list) => {
|
||||
|
@ -247,6 +256,11 @@ module.exports.create = (campaign, callback) => {
|
|||
values.push(5); // inactive
|
||||
}
|
||||
|
||||
if (campaign.type === 3) {
|
||||
keys.push('status', 'parent');
|
||||
values.push(2, opts.parent);
|
||||
}
|
||||
|
||||
let create = next => {
|
||||
Object.keys(campaign).forEach(key => {
|
||||
let value = typeof campaign[key] === 'number' ? campaign[key] : (campaign[key] || '').toString().trim();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue