Skip to content

Instantly share code, notes, and snippets.

@facultymatt
Created September 18, 2013 04:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save facultymatt/6604414 to your computer and use it in GitHub Desktop.
Save facultymatt/6604414 to your computer and use it in GitHub Desktop.
// A design pattern for a mean.io notifier module
var transport = null; // will store our connection to nodemailer
var actions = ['generate_quote', 'generate_application', 'submit_application']; // actions allowed to email
// There is no model
exports.initModel() {}
// There are no routes
exports.initRoutes() {}
exports.init(app, config) {
// create transport from config settings
// save transport
}
// call to send an email
// action will determine which template to use
// options should be the options object as required by template and nodemailer
exports.notify(action, options) {
// check for valid action
// attempt to generate template
// template success, send email with nodemailer transport
// optionally send other notification options as needed
}
// render template
generateTemplate(options, cb) {}
sendEmail(options, cb) {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment