sails-hook-events
v1.0.1
Published
Use events to manage and observe Waterline models' lifecycle
Downloads
28
Maintainers
Readme
sails-hook-events
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: '[email protected]' })
.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.