-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
43 lines (36 loc) · 958 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// mailTemplatesHelper.js
// Dependencies
const __ = require('@outofsync/lodash-ex');
const Sugar = require('sugar');
class MailTemplatesHelper {
constructor(templates) {
this.templates = templates;
}
getTemplate(templateName) {
if (Object.keys(this.templates).includes(templateName)) {
return this.templates[templateName];
}
return null;
}
getFilledSubject(templateName, data) {
const tmpl = this.getTemplate(templateName);
if (__.hasValue(tmpl)) {
return Sugar.String.format(tmpl.subject, data);
}
return null;
}
getFilledBody(templateName, data) {
const tmpl = this.getTemplate(templateName);
if (__.hasValue(tmpl)) {
return Sugar.String.format(tmpl.body, data);
}
return null;
}
getCustomFilled(template, data) {
if (__.hasValue(template)) {
return Sugar.String.format(template, data);
}
return null;
}
}
module.exports = MailTemplatesHelper;