sails-hook-events

1.0.1 • Public • Published

sails-hook-events

NPM Version Build Status Coverage Status Runs on Node Built with GNU Make Uses ECMAScript 2015

Use events to manage and observe Waterline models' lifecycle

Description

This hook allows you to use event-driven programming when working with your Waterline models. It adds new events emitted from your Sails.js instance that you can subscribe to and perform actions when such an event is emitted.

Usage

Events added

The events are named separately for each model you have defined. they have the following structure:

model:event

Where model is the name of your model in lowercase, i.e. user, and event is one of the following:

  • created
  • updated
  • destroyed

To put it all together, here are some examples of events emitted:

  • user:created
  • order:updated

Example usage

// First, set up an event handler to listen for newly created users
 
// Assuming you have sails exposed as global property
sails.on('user:created', model => {
  // model is the object which has been created in the database
  //  with all its properties etc.
 
  // Perhaps send this user an email? We will use an imaginary
  // email service in our app:
  sails.services.email.send({ to: model.email, subject: 'Welcome' }, 'emails/welcome')
})
 
// And here is the code which will trigger the above event
 
sails.models.user.create({ email: 'user@example.com' })
.then(user => {
  // ...
})

Installation

Just add this npm module into your Sails' package.json:

$ npm install --save sails-hook-events

License

This software is licensed under the BSD-3-Clause License. See the LICENSE file for more information.

Dependencies (0)

    Dev Dependencies (9)

    Package Sidebar

    Install

    npm i sails-hook-events

    Weekly Downloads

    7

    Version

    1.0.1

    License

    BSD-3-Clause

    Last publish

    Collaborators

    • dreamscapes