Nauseating Pumpkin Mush

    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.

    Install

    npm i sails-hook-events

    DownloadsWeekly Downloads

    1,553

    Version

    1.0.1

    License

    BSD-3-Clause

    Last publish

    Collaborators

    • dreamscapes