Commit 9c11e189 authored by Vadym Gidulian's avatar Vadym Gidulian

Merge branch '1-handlebars'

parents 86492e6c fbdd1d8e
......@@ -4,6 +4,7 @@
"dependencies": {
"express": "^4.16.3",
"handlebars": "^4.0.12",
"nodemailer": "^4.6.8",
"@gviagroup/jsvv": "~0.6.0"
},
......
......@@ -8,6 +8,7 @@
});
const {promisify} = require('util');
const handlebars = require('handlebars');
const nodemailer = require('nodemailer');
const templatesModel = require('./templates');
......@@ -41,7 +42,7 @@ const sendMail = promisify(transporter.sendMail).bind(transporter);
module.exports = {
async sendMessage(template, request) {
const message = templatesModel.getTemplate(template).replace(/{{(.+?)}}/g, (match, name) => request.vars && request.vars[name] || '');
const message = handlebars.compile(templatesModel.getTemplate(template))(request.vars || {});
const mailer = {
from: SMTP_SENDER,
......
......@@ -83,6 +83,12 @@ async-each@^1.0.0:
version "1.0.1"
resolved "https://npm.gvia.group/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
async@^2.5.0:
version "2.6.1"
resolved "https://npm.gvia.group/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610"
dependencies:
lodash "^4.17.10"
atob@^2.1.1:
version "2.1.2"
resolved "https://npm.gvia.group/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
......@@ -251,6 +257,10 @@ color-name@1.1.3:
version "1.1.3"
resolved "https://npm.gvia.group/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
commander@~2.17.1:
version "2.17.1"
resolved "https://npm.gvia.group/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
component-emitter@^1.2.1:
version "1.2.1"
resolved "https://npm.gvia.group/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
......@@ -636,6 +646,16 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2:
version "4.1.11"
resolved "https://npm.gvia.group/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
handlebars@^4.0.12:
version "4.0.12"
resolved "https://npm.gvia.group/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5"
dependencies:
async "^2.5.0"
optimist "^0.6.1"
source-map "^0.6.1"
optionalDependencies:
uglify-js "^3.1.4"
has-flag@^3.0.0:
version "3.0.0"
resolved "https://npm.gvia.group/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
......@@ -925,6 +945,10 @@ lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://npm.gvia.group/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
lodash@^4.17.10:
version "4.17.11"
resolved "https://npm.gvia.group/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
lowercase-keys@^1.0.0:
version "1.0.1"
resolved "https://npm.gvia.group/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
......@@ -1014,6 +1038,10 @@ minimist@^1.2.0:
version "1.2.0"
resolved "https://npm.gvia.group/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
minimist@~0.0.1:
version "0.0.10"
resolved "https://npm.gvia.group/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
minipass@^2.2.1, minipass@^2.3.3:
version "2.3.4"
resolved "https://npm.gvia.group/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957"
......@@ -1199,6 +1227,13 @@ once@^1.3.0:
dependencies:
wrappy "1"
optimist@^0.6.1:
version "0.6.1"
resolved "https://npm.gvia.group/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
dependencies:
minimist "~0.0.1"
wordwrap "~0.0.2"
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://npm.gvia.group/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
......@@ -1540,6 +1575,10 @@ source-map@^0.5.6:
version "0.5.7"
resolved "https://npm.gvia.group/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
source-map@^0.6.1, source-map@~0.6.1:
version "0.6.1"
resolved "https://npm.gvia.group/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://npm.gvia.group/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
......@@ -1682,6 +1721,13 @@ type-is@~1.6.15, type-is@~1.6.16:
media-typer "0.3.0"
mime-types "~2.1.18"
uglify-js@^3.1.4:
version "3.4.9"
resolved "https://npm.gvia.group/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3"
dependencies:
commander "~2.17.1"
source-map "~0.6.1"
undefsafe@^2.0.2:
version "2.0.2"
resolved "https://npm.gvia.group/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76"
......@@ -1781,6 +1827,10 @@ widest-line@^2.0.0:
dependencies:
string-width "^2.1.1"
wordwrap@~0.0.2:
version "0.0.3"
resolved "https://npm.gvia.group/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
wrappy@1:
version "1.0.2"
resolved "https://npm.gvia.group/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment