add support for transactional html/text emails
- Add support for welcome email on user creation (both OAuth and password users) - Add support for html/text templating on verify email. - Add support for html/text templating on reset password. - Add handlers for converting Handlebars templates to HTML and text (template agnostic). - Add helper function sendEmail() for compiling and sending templates via Email.send() (SMTP).
This commit is contained in:
parent
aa14a26bba
commit
379f7dcd76
17 changed files with 2234 additions and 804 deletions
42
imports/modules/get-oauth-profile.js
Normal file
42
imports/modules/get-oauth-profile.js
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
const parseGoogleData = service => {
|
||||
return {
|
||||
email: service.email,
|
||||
name: {
|
||||
first: service.given_name,
|
||||
last: service.family_name,
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
const parseGithubData = (profile, service) => {
|
||||
const name = profile.name.split(' ');
|
||||
return {
|
||||
email: service.email,
|
||||
name: {
|
||||
first: name[0],
|
||||
last: name[1],
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
const parseFacebookData = service => {
|
||||
return {
|
||||
email: service.email,
|
||||
name: {
|
||||
first: service.first_name,
|
||||
last: service.last_name,
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
const getDataForService = (profile, services) => {
|
||||
if (services.facebook) return parseFacebookData(services.facebook);
|
||||
if (services.github) return parseGithubData(profile, services.github);
|
||||
if (services.google) return parseGoogleData(services.google);
|
||||
};
|
||||
|
||||
export default (options, user) => {
|
||||
const isOAuth = !options.password;
|
||||
const serviceData = isOAuth ? getDataForService(options.profile, user.services) : null;
|
||||
return isOAuth ? serviceData : null;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue