Skip to content

Commit 395c7e0

Browse files
committed
chapter 01: creating confirmationMailMailer using a factory function with too many responsibilities
1 parent 26fa2cc commit 395c7e0

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
function confirmationMailMailer(templating, translator, mailer) {
2+
function sendTo(user) {
3+
const message = createMessageFor(user);
4+
5+
sendMessage(message);
6+
}
7+
8+
function createMessageFor(user) {
9+
const subject = translator.translate('Confirm your mail address');
10+
11+
const body = templating.render('confirmationMail.html.tpl', {
12+
confirmationCode: user.getConfirmationCode(),
13+
});
14+
15+
const message = new Message(subject, body);
16+
message.setTo(user.getEmailAddress());
17+
18+
return message;
19+
}
20+
21+
function sendMessage(message) {
22+
mailer.send(message);
23+
}
24+
25+
return {
26+
sendTo,
27+
};
28+
}
29+
30+
module.exports = confirmationMailMailer;

0 commit comments

Comments
 (0)