Skip to content

Commit

Permalink
mv kyyhky/templates config/message-templates
Browse files Browse the repository at this point in the history
  • Loading branch information
eemeli committed Jul 26, 2018
1 parent 822f5b1 commit 1e381c5
Show file tree
Hide file tree
Showing 17 changed files with 20 additions and 11 deletions.
2 changes: 2 additions & 0 deletions config/docker-compose.base.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ services:
- redis
expose:
- "3000"
volumes:
- ../config/message-templates:/message-templates:ro

redis:
image: redis:3.2
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
25 changes: 16 additions & 9 deletions kyyhky/lib/mailer.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
const fs = require('fs');
const mustache = require('mustache');
const path = require('path');
const tfm = require('tiny-frontmatter');
const wrap = require('wordwrap');
const { barcodeUri, loginUri } = require('./login-uri');
Expand Down Expand Up @@ -46,8 +47,14 @@ class Mailer {
this.tmplSuffix = tmplSuffix;
}

tmplFileName(tmplName) {
return [ this.tmplDir, '/', tmplName, this.tmplSuffix ].filter(s => s).join('');
getTemplate(tmplName) {
const fn = path.resolve(process.cwd(), this.tmplDir, tmplName + this.tmplSuffix)
return new Promise((resolve, reject) => {
fs.readFile(fn, 'utf8', (err, msgTemplate) => {
if (err) reject(err);
else resolve(msgTemplate);
})
})
}

sgRequest(msgTemplate, data) {
Expand Down Expand Up @@ -108,13 +115,13 @@ class Mailer {
break;

}
fs.readFile(this.tmplFileName(tmplName), 'utf8', (err, msgTemplate) => {
if (err) return done(err);
const request = this.sgRequest(msgTemplate, tmplData);
sendgrid.API(request)
.then(() => done(null, { to: data.email }))
.catch(done)
});
this.getTemplate(tmplName)
.then(msgTemplate => {
const request = this.sgRequest(msgTemplate, tmplData);
return sendgrid.API(request)
})
.then(() => done(null, { to: data.email }))
.catch(done)
}
}

Expand Down
2 changes: 1 addition & 1 deletion kyyhky/lib/queues.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const redis = {
port: process.env.REDIS_PORT || 6379
}

const mailer = new Mailer('templates', '.mustache')
const mailer = new Mailer('/message-templates', '.mustache')
const messages = new Queue('messages', { redis })
messages.process('*', (job, done) => {
mailer.sendEmail(job.name, job.data, done)
Expand Down
2 changes: 1 addition & 1 deletion kyyhky/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const http = require('http')

const { messages, rxUpdates } = require('./lib/queues')

const templates = fs.readdirSync('./templates')
const templates = fs.readdirSync('/message-templates')
.reduce((ls, fn) => {
const m = fn.match(/(.*)\.mustache/)
if (m) ls.push(m[1])
Expand Down

0 comments on commit 1e381c5

Please sign in to comment.