Vulcan/packages/example-forum/lib/server/email/notifications.js

26 lines
828 B
JavaScript
Raw Normal View History

2017-09-04 21:05:13 +09:00
import Users from 'meteor/vulcan:users';
import VulcanEmail from 'meteor/vulcan:email';
import { getSetting, registerSetting } from 'meteor/vulcan:core';
registerSetting('emailNotifications', true, 'Enable email notifications');
2017-09-04 21:05:13 +09:00
export const createNotification = (userIds, notificationName, variables) => {
if (getSetting('emailNotifications', true)) {
// if userIds is not an array, wrap it in one
if (!Array.isArray(userIds)) userIds = [userIds];
const emailName = notificationName;
userIds.forEach(userId => {
const to = Users.getEmail(Users.findOne(userId));
if (to) {
VulcanEmail.buildAndSend({ to, emailName, variables });
} else {
2017-09-05 15:45:14 +02:00
console.log(`// Couldn't send notification: user ${user._id} doesn't have an email`); // eslint-disable-line
2017-09-04 21:05:13 +09:00
}
});
}
};