Send welcome and unsubscribe confirmation emails
This commit is contained in:
parent
15ed41741e
commit
9e3b42e11c
12 changed files with 189 additions and 33 deletions
|
@ -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);
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue