summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/awmail/index.js57
1 files changed, 57 insertions, 0 deletions
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
}