Improves AdapterLoader, enforces configuraiton on Adapters

This commit is contained in:
Florent Vilmart
2016-02-23 21:05:27 -05:00
parent 8dc37b9d30
commit 0b307bc22f
17 changed files with 176 additions and 109 deletions

View File

@@ -0,0 +1,6 @@
export class MailAdapter {
sendVerificationEmail(options) {}
sendMail(options) {}
}
export default MailAdapter;

View File

@@ -6,7 +6,7 @@ let SimpleMailgunAdapter = mailgunOptions => {
}
let mailgun = Mailgun(mailgunOptions);
let sendMail = (to, subject, text) => {
let sendMail = ({to, subject, text}) => {
let data = {
from: mailgunOptions.fromAddress,
to: to,
@@ -24,16 +24,21 @@ let SimpleMailgunAdapter = mailgunOptions => {
});
}
return {
return Object.freeze({
sendVerificationEmail: ({ link, user, appName, }) => {
let verifyMessage =
"Hi,\n\n" +
"You are being asked to confirm the e-mail address " + user.email + " with " + appName + "\n\n" +
"" +
"Click here to confirm it:\n" + link;
return sendMail(user.email, 'Please verify your e-mail for ' + appName, verifyMessage);
}
}
return sendMail({
to:user.email,
subject: 'Please verify your e-mail for ' + appName,
text: verifyMessage
});
},
sendMail: sendMail
});
}
module.exports = SimpleMailgunAdapter