From cdcbd1278a1159826f4fff33f32f16afe2c3903e Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sun, 14 May 2017 04:31:08 +0200 Subject: store message --- lib/awmail/index.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'lib') diff --git a/lib/awmail/index.js b/lib/awmail/index.js index 159960e..d0f89d5 100644 --- a/lib/awmail/index.js +++ b/lib/awmail/index.js @@ -86,6 +86,42 @@ function AWMail (options) { res.sendStatus(200) }) + router.post('/feedback', function (req, res) { + res.header('Access-Control-Allow-Origin', '*') + res.header('Access-Control-Allow-Headers', 'X-Requested-With') + + var email = req.body.email + var message = req.body.message + var track = req.body.track + var secret = req.body.secret + + if (secret !== config.secret) { + return res.sendStatus(500) + } + + deferToNextTick().then(function(){ + console.log("store message") + if (String(track) === 'true') { + return storeMessage(email, message) + } else { + return Q.Promise(function(resolve, reject, notify) { resolve() }) + } + }).then(function(){ + console.log("store email") + if (String(track) === 'true') { + return storeEmail(email) + } else { + return Q.Promise(function(resolve, reject, notify) { resolve() }) + } + }).then(function(){ + console.log("all done") + }).catch(function(err){ + console.error(err.stack) + }) + + res.sendStatus(200) + }) + router.get('/test', function (req, res) { var hash = 'test' var email = 'julescarbon@gmail.com' @@ -189,6 +225,27 @@ function AWMail (options) { }) } + function storeMessage (mail, message){ + return Q.Promise(function(resolve, reject, notify) { + var data = {} + data['Email'] = mail + data['Message'] = message + data['entry.1436672940'] = mail + data['entry.2103257301'] = message + data['fvv'] = "1" + + var url = "https://docs.google.com/forms/d/e/1FAIpQLSdWDnpy4ZF1dJwfAcX5CUITpjbLqLC7rS7nr2iSQrEeGXM1bQ/formResponse" + + request({ url: url, qs: data }, function (err, response, body) { + if (err || response.statusCode !== 200) { + reject(err) + } else { + resolve() + } + }) + }) + } + this._router = router } -- cgit v1.2.3-70-g09d2