summaryrefslogtreecommitdiff
path: root/lib/awmail/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/awmail/index.js')
-rw-r--r--lib/awmail/index.js38
1 files changed, 31 insertions, 7 deletions
diff --git a/lib/awmail/index.js b/lib/awmail/index.js
index 9534b32..64db34c 100644
--- a/lib/awmail/index.js
+++ b/lib/awmail/index.js
@@ -8,6 +8,7 @@ var request = require('request')
var multer = require('multer')
var PassThrough = require('stream').PassThrough
var upload = require('../../node_modules/okcms/app/node_modules/okservices/oks3/upload')
+var uuid = require('uuid/v1')
/*
awmail: {
@@ -39,36 +40,59 @@ function AWMail (options) {
key: process.env.MAILGUN_API_KEY,
})
- router.post('/send', mult.single('image'), function (req, res) {
+ var multerMiddleware = mult.fields([
+ { name: 'dots', maxCount: 1 },
+ { name: 'lines', maxCount: 1 },
+ { name: 'plain', maxCount: 1 },
+ ])
+
+ router.post('/send', multerMiddleware, function (req, res) {
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Headers', 'X-Requested-With')
+ var id = uuid()
var email = req.body.email
var track = req.body.track
var secret = req.body.secret
+ var dots_url, lines_url, plain_url
if (secret !== config.secret) {
return res.sendStatus(500)
}
deferToNextTick().then(function(){
- console.log("upload image")
+ console.log("upload dots")
+ return uploadImage({
+ filename: uuid + '-dots.jpg',
+ file: req.files.dots[0],
+ })
+ }).then(function(url){
+ console.log("upload lines")
+ dots_url = url
return uploadImage({
- file: req.file,
+ filename: uuid + '-lines.jpg',
+ file: req.files.lines[0],
})
}).then(function(url){
+ console.log("upload plain")
+ lines_url = url
+ return uploadImage({
+ filename: uuid + '-plain.jpg',
+ file: req.files.plain[0],
+ })
+ }).then(function(url){
+ plain_url = url
console.log("parse templates")
// https://marsupial.s3.amazonaws.com/armory/mail/260b1e90-380e-11e7-b0c0-190f661d482a.jpg
- var hash = url.replace('https://marsupial.s3.amazonaws.com/armory/mail/','').replace('.jpg','')
var templateData = {
+ id: id,
email: email,
- hash: hash,
}
return parseTemplates(templateData)
}).then(function(mailData){
console.log("send mail")
mailData.email = email
- mailData.image = req.file
+ mailData.image = req.files.plain[0]
return sendMail(mailData)
}).then(function(){
console.log("store email")
@@ -157,7 +181,7 @@ function AWMail (options) {
return Q.Promise(function(resolve, reject, notify) {
upload.put({
file: data.file,
- preserveFilename: false,
+ filename: data.filename,
dirname: "armory/mail",
types: {
'image/gif': 'gif',