From cdcbd1278a1159826f4fff33f32f16afe2c3903e Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sun, 14 May 2017 04:31:08 +0200 Subject: store message --- db.json | 19 +++++++++++++++++- lib/awmail/index.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/db.json b/db.json index 4f5c7ee..e097f8d 100644 --- a/db.json +++ b/db.json @@ -2132,5 +2132,22 @@ "dateCreated": "Fri, 12 May 2017 14:05:55 GMT" } ], - "page": [] + "page": [ + { + "id": "terms-and-conditions", + "title": "Terms and Conditions", + "body": "Lorem Ipsum Terms and Conditions", + "disabled": false, + "__index": 0, + "dateCreated": "Sat, 13 May 2017 19:49:53 GMT" + }, + { + "id": "privacy-policy", + "title": "Privacy Policy", + "body": "Lorem Ipsum Privacy Policy", + "disabled": false, + "__index": 1, + "dateCreated": "Sat, 13 May 2017 19:50:06 GMT" + } + ] } \ No newline at end of file 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