npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

seneca-mail-dbtemplate

v0.0.3

Published

Seneca email db template plugin

Downloads

7

Readme

seneca mail db template - Node.js module

A Node.js extension for seneca-mail plugin - this can be used with seneca toolkit

Seneca toolkit very short intro

Seneca is a toolkit for organizing the business logic of your app. You can break down your app into "stuff that happens", rather than focusing on data models or managing dependencies.

For a gentle introduction to this module, see the senecajs.org site.

Seneca-mail plugin short intro

This module is a plugin for the Seneca framework. It provides email capability for actions. For more details about using this plugin please visit seneca-mail

Module details

This module is used to override the generateBody action from seneca-mail default implementation. By using this module the email body/subject are loaded from DB.

The collection/table from which the template is loaded is 'template'. By using the seneca entity store we can separate the DB engine API details from this module implementation. The only things that must be mentioned is that:

  • collection/table name: template
  • table structure (in case of SQL DB engine)
    • type: 'mail' - string
    • templateName - string
    • body - string
    • subject - string - optional, if not present then the subject set when seneca-mail action is executed will be used.

Body and subject are considered EJS templates and will be rendered using ejs.

This module can be an example about re-writing the seneca action generateBody action if default provided functionality is not enough.

Please make sure to load this module AFTER loading seneca-mail plugin.

Example of using the seneca-mail and seneca-mail-dbtemplate plugins

var seneca = require('seneca')()

seneca.use('mail',{
  mail: {
    from: '[email protected]'
  },
  config:{
    service: "Gmail",
    auth: {
      user: "[email protected]",
      pass: "PASSWORD"
    }
  }
})

seneca.use('seneca-mail-dbtemplate')

seneca.ready(function(err){
  console.log('ola')
  if( err ) return console.log(err);

  seneca.act({
    role:'mail',
    cmd:'send',
    code:'welcome',
    to:'[email protected]',
    subject:'Welcome!'
  })
})

If you're using this module, feel free to contact me on twitter if you have any questions! :) @Alexandru_M