sails-postgresql-live-select
A Sails connection adapter to use the pg-live-select
NPM Package in order to provide live (real time) result sets for models.
Example
See the chat room example application for a full working demonstration of this package.
Installation
To be used alongside the sails-postgresql
connection adapter.
-
Install the package:
npm install --save sails-postgresql-live-select -
Add the connection settings to your
config/connections.js
:livePg:adapter: 'sails-postgresql-live-select'// Connection details must be passed as url, not individuallyurl: 'postgres://sails:sails@localhost:5432/sails_test'// Unique channel required for asynchronous notificationschannel: 'sails_test' -
Add the adapter to be used on your models, for example in
config/models.js
:connection: 'postgresql' 'livePg'
Usage
YourModel.liveFind(options, [condition])
This adapter adds a liveFind
method to your models.
Argument | Type | Description |
---|---|---|
options |
Object | Find options as defined by Waterline Query Language |
condition |
Function | Optional function for validating if result set should be refreshed on row change. See condition function documentation for pg-live-select |
The liveFind
method returns a SelectHandle
object as defined by pg-live-select.
For example, listen for the update
event in your controller actions to send changes to the client:
var myLiveSelect = MyModel;
When done listening for updates to a query, be sure to call the stop()
method on the returned SelectHandle
object to prevent memory leaks.
Running Tests
# Configure PostgreSQL server settings vim test/config/connections.js# Run suite npm test
Test execution code is in test/config/bootstrap.js
.
License
MIT