Send welcome and unsubscribe confirmation emails

This commit is contained in:
Andris Reinman 2016-04-21 20:17:19 +03:00
parent 15ed41741e
commit 9e3b42e11c
12 changed files with 189 additions and 33 deletions

View file

@ -182,6 +182,10 @@ module.exports.subscribe = (cid, optInIp, callback) => {
subscription = {};
}
subscription.cid = cid;
subscription.list = listId;
subscription.email = email;
let optInCountry = geoip.lookupCountry(optInIp) || null;
module.exports.insert(listId, {
email,
@ -200,11 +204,7 @@ module.exports.subscribe = (cid, optInIp, callback) => {
}
connection.query('DELETE FROM confirmations WHERE `cid`=? LIMIT 1', [cid], () => {
connection.release();
callback(null, {
list: listId,
cid,
email
});
callback(null, subscription);
});
});
});
@ -361,8 +361,8 @@ module.exports.get = (listId, cid, callback) => {
return callback(null, false);
}
let list = tools.convertKeys(rows[0]);
return callback(null, list);
let subscription = tools.convertKeys(rows[0]);
return callback(null, subscription);
});
});
};
@ -448,7 +448,7 @@ module.exports.unsubscribe = (listId, email, campaignId, callback) => {
return callback(err);
}
connection.query('SELECT id, status FROM `subscription__' + listId + '` WHERE `email`=?', [email], (err, rows) => {
connection.query('SELECT * FROM `subscription__' + listId + '` WHERE `email`=?', [email], (err, rows) => {
connection.release();
if (err) {
return callback(err);
@ -457,8 +457,13 @@ module.exports.unsubscribe = (listId, email, campaignId, callback) => {
return callback(null, false);
}
let id = rows[0].id;
module.exports.changeStatus(id, listId, campaignId, 2, callback);
let subscription = tools.convertKeys(rows[0]);
module.exports.changeStatus(subscription.id, listId, campaignId, 2, err => {
if (err) {
return callback(err);
}
return callback(null, subscription);
});
});
});
};