{"_id":"waterline-rabbitmq","_rev":"26-19489d30b1f56bf2c180d78bfb76bb8b","name":"waterline-rabbitmq","description":"sails-rabbitmq adapter for Sails / Waterline","dist-tags":{"latest":"0.51.0"},"versions":{"0.12.4":{"name":"waterline-rabbitmq","version":"0.12.4","description":"sails-rabbitmq adapter for Sails / Waterline","main":"dist/adapter.js","scripts":{"prepublish":"gulp build","test":"mocha --recursive --reporter spec --compilers js:babel/register --timeout 500"},"repository":{"type":"git","url":"git://github.com/waterlinejs/rabbitmq-adapter.git"},"keywords":["sails-rabbitmq","rabbit","rabbitmq","amqp","adapter","sails","waterline","sails.js","plugin"],"author":{"name":"Travis Webb","email":"me@traviswebb.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3","rabbit.js":"^0.4.4","babel":"^5.6","gulp":"^3.9","gulp-babel":"^5.1.0","waterline":"^0.10.23"},"devDependencies":{"captains-log":"^0.11.0","gulp":"^3.9.0","gulp-babel":"^5.2.1","mocha":"^2.2.5","sails-disk":"^0.10.8","sails-memory":"^0.10.4"},"waterlineAdapter":{"type":"waterline-rabbitmq","interfaces":["pubsub"],"waterlineVersion":"^0.10"},"eslintConfig":{"node":true,"es6":true},"engines":{"node":">= 0.12.0"},"gitHead":"9cce7acbfc07264eed29b2c84e5d08974fed4b82","bugs":{"url":"https://github.com/waterlinejs/rabbitmq-adapter/issues"},"homepage":"https://github.com/waterlinejs/rabbitmq-adapter","_id":"waterline-rabbitmq@0.12.4","_shasum":"468a89135447c711d193ec51cff9254f3bcb5f70","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"balderdash","email":"hello@balderdash.io"},"dist":{"shasum":"468a89135447c711d193ec51cff9254f3bcb5f70","tarball":"https://registry.npmjs.org/waterline-rabbitmq/-/waterline-rabbitmq-0.12.4.tgz","integrity":"sha512-TLFL1WphbA7C7Ob4K3P69uJ9Osnco1A02k5fN5//P+nKUWnjhw0XTV8N6C77wG1zcm4k2o4enyohx1qYuFNZmg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOF7ysEkhWZWNZ5VZd0/j7aBiL34eu7Zhox9Q+0NMFCwIgHj1lDMMIDlWHU3aNR7AOb+xMTOainKFrZ1SE1922qbI="}]},"maintainers":[{"name":"balderdash","email":"hello@balderdash.io"}]},"0.12.5":{"name":"waterline-rabbitmq","version":"0.12.5","description":"sails-rabbitmq adapter for Sails / Waterline","main":"dist/adapter.js","scripts":{"prepublish":"gulp build","test":"mocha --recursive --reporter spec --compilers js:babel/register --timeout 500"},"repository":{"type":"git","url":"git://github.com/waterlinejs/rabbitmq-adapter.git"},"keywords":["sails-rabbitmq","rabbit","rabbitmq","amqp","adapter","sails","waterline","sails.js","plugin"],"author":{"name":"Travis Webb","email":"me@traviswebb.com"},"license":"MIT","dependencies":{"lodash":"^3.9.3","rabbit.js":"^0.4.4","babel":"^5.6","gulp":"^3.9","gulp-babel":"^5.1.0","waterline":"^0.10.23"},"devDependencies":{"captains-log":"^0.11.0","gulp":"^3.9.0","gulp-babel":"^5.2.1","mocha":"^2.2.5","sails-disk":"^0.10.8","sails-memory":"^0.10.4"},"waterlineAdapter":{"type":"waterline-rabbitmq","interfaces":["pubsub"],"waterlineVersion":"^0.10"},"eslintConfig":{"node":true,"es6":true},"engines":{"node":">= 0.12.0"},"gitHead":"2cc77ff3db981c347ef20764cdb4b4ba45924f04","bugs":{"url":"https://github.com/waterlinejs/rabbitmq-adapter/issues"},"homepage":"https://github.com/waterlinejs/rabbitmq-adapter","_id":"waterline-rabbitmq@0.12.5","_shasum":"37458621c1fcd7af8df88b73d2559605b868126a","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"balderdash","email":"hello@balderdash.io"},"dist":{"shasum":"37458621c1fcd7af8df88b73d2559605b868126a","tarball":"https://registry.npmjs.org/waterline-rabbitmq/-/waterline-rabbitmq-0.12.5.tgz","integrity":"sha512-L5Rx4BCwjK+a92/6CLHjZ4HFGCEYClrJ3D/JTx9AgpArqwDn9ZM+hLs9g4wuSOk07GAtT1PRpUQR9ZNo2Vlvzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEkfuAsxtcj/XO2jAkSzhZixndEQuNHsZyOA3i3RsT92AiEAr1WkGepXrSgSHuubfy6sb5UvhmBHpnExhH2kH2OgR+E="}]},"maintainers":[{"name":"balderdash","email":"hello@balderdash.io"}]},"0.12.8":{"name":"waterline-rabbitmq","version":"0.12.8","description":"sails-rabbitmq adapter for Sails / Waterline","main":"dist/adapter.js","scripts":{"prepublish":"gulp build","test":"mocha --recursive --reporter spec --compilers js:babel/register --timeout 500"},"repository":{"type":"git","url":"git://github.com/waterlinejs/rabbitmq-adapter.git"},"keywords":["sails-rabbitmq","rabbit","rabbitmq","amqp","adapter","sails","waterline","sails.js","plugin"],"author":{"name":"Travis Webb","email":"me@traviswebb.com"},"license":"MIT","dependencies":{"babel":"^5.6","gulp":"^3.9","gulp-babel":"^5.1.0","lodash":"^3.9.3","node-uuid":"^1.4.3","rabbit.js":"^0.4.4","waterline":"^0.10.23"},"devDependencies":{"bluebird":"^2.10.0","captains-log":"^0.11.0","gulp":"^3.9.0","gulp-babel":"^5.2.1","mocha":"^2.2.5","sails-disk":"^0.10.8","sails-memory":"^0.10.4"},"waterlineAdapter":{"type":"waterline-rabbitmq","interfaces":["pubsub"],"waterlineVersion":"^0.10"},"eslintConfig":{"node":true,"es6":true},"engines":{"node":">= 0.12.0"},"gitHead":"51e880f880add1291cd2351224d66c58328465e6","bugs":{"url":"https://github.com/waterlinejs/rabbitmq-adapter/issues"},"homepage":"https://github.com/waterlinejs/rabbitmq-adapter#readme","_id":"waterline-rabbitmq@0.12.8","_shasum":"103f7071b25d86a5176a42d075ae032716c3e913","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"balderdash","email":"nowhere@balderdash.io"},"dist":{"shasum":"103f7071b25d86a5176a42d075ae032716c3e913","tarball":"https://registry.npmjs.org/waterline-rabbitmq/-/waterline-rabbitmq-0.12.8.tgz","integrity":"sha512-ksK3fkFO16y9veEs7TWuulgsWsLZJsVKxCQrbUGmUkVMzH9kJJBQQDbOfe28OwPJtwskpeKOzJ3Mlj7UrMQoFQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDMPWL4TCRAkJSxNTzUvWn3CgxXjQVXWmFgcllPojFlBAiEA9JpB+BuW/lh7KpJne/guTGh3dbmYoyW8f1jrnPt5PdM="}]},"maintainers":[{"name":"balderdash","email":"hello@balderdash.io"},{"name":"ryanwilliamquinn","email":"ryanwilliamquinn@gmail.com"},{"name":"tjwebb","email":"me@traviswebb.com"},{"name":"waterlinejs","email":"waterline@balderdash.io"}]},"0.50.0":{"author":{"name":"Travis Webb","email":"me@traviswebb.com"},"bugs":{"url":"https://github.com/waterlinejs/rabbitmq-adapter/issues"},"bundleDependencies":false,"dependencies":{"babel":"^5.6","gulp":"^3.9","gulp-babel":"^5.1.0","lodash":"^3.9.3","node-uuid":"^1.4.3","rabbit.js":"^0.4.4","waterline":"^0.10.23"},"deprecated":false,"description":"sails-rabbitmq adapter for Sails / Waterline","devDependencies":{"bluebird":"^2.10.0","captains-log":"^0.11.0","gulp":"^3.9.0","gulp-babel":"^5.2.1","mocha":"^2.2.5","sails-disk":"^0.10.8","sails-memory":"^0.10.4"},"engines":{"node":">= 0.12.0"},"eslintConfig":{"node":true,"es6":true},"homepage":"https://github.com/waterlinejs/rabbitmq-adapter#readme","keywords":["sails-rabbitmq","rabbit","rabbitmq","amqp","adapter","sails","waterline","sails.js","plugin"],"license":"MIT","main":"dist/adapter.js","name":"waterline-rabbitmq","repository":{"type":"git","url":"git://github.com/waterlinejs/rabbitmq-adapter.git"},"scripts":{"prepublish":"gulp build || echo 'skipping prepublish...'","test":"mocha --recursive --reporter spec --compilers js:babel/register --timeout 500"},"version":"0.50.0","waterlineAdapter":{"type":"waterline-rabbitmq","interfaces":["pubsub"],"waterlineVersion":"^0.10"},"_id":"waterline-rabbitmq@0.50.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"deprecated-3rd-party-packages","email":"npm+please-do-not-use-these-packages@sailsjs.com"},"dist":{"integrity":"sha512-ZRpM+tjlNqtIOs4ftlHfLHxopKgg5HV4/htnaxnRX68OgUFuEYw7gRQVR575hr94d/tTHNfn/dIOUaSPe0CRRA==","shasum":"a68996b22296badbb0250bc1c7cfc0875d7989f6","tarball":"https://registry.npmjs.org/waterline-rabbitmq/-/waterline-rabbitmq-0.50.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuSQ4DreQt3n+WeMqLzIiLv+UuaU1LjnVQVbkug0In+AIhANaE2mzWduWw6uZUVdQ1vNvWVvAeYpmUH4HzEe6vwtLu"}]},"maintainers":[{"name":"deprecated-3rd-party-packages","email":"npm+please-do-not-use-these-packages@sailsjs.com"},{"name":"ryanwilliamquinn","email":"ryanwilliamquinn@gmail.com"},{"name":"tjwebb","email":"me@traviswebb.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/waterline-rabbitmq-0.50.0.tgz_1509389678357_0.8083689820487052"}},"0.51.0":{"author":{"name":"Travis Webb","email":"me@traviswebb.com"},"bugs":{"url":"https://github.com/waterlinejs/rabbitmq-adapter/issues"},"bundleDependencies":false,"dependencies":{"babel":"^5.6","gulp":"^3.9","gulp-babel":"^5.1.0","lodash":"^3.9.3","node-uuid":"^1.4.3","rabbit.js":"^0.4.4","waterline":"^0.10.23"},"deprecated":false,"description":"sails-rabbitmq adapter for Sails / Waterline","devDependencies":{"bluebird":"^2.10.0","captains-log":"^0.11.0","gulp":"^3.9.0","gulp-babel":"^5.2.1","mocha":"^2.2.5","sails-disk":"^0.10.8","sails-memory":"^0.10.4"},"engines":{"node":">= 0.12.0"},"eslintConfig":{"node":true,"es6":true},"homepage":"https://github.com/waterlinejs/rabbitmq-adapter#readme","keywords":["sails-rabbitmq","rabbit","rabbitmq","amqp","adapter","sails","waterline","sails.js","plugin"],"license":"MIT","main":"dist/adapter.js","name":"waterline-rabbitmq","repository":{"type":"git","url":"git://github.com/waterlinejs/rabbitmq-adapter.git"},"scripts":{"prepublish":"gulp build || echo 'skipping prepublish...'","test":"mocha --recursive --reporter spec --compilers js:babel/register --timeout 500"},"version":"0.51.0","waterlineAdapter":{"type":"waterline-rabbitmq","interfaces":["pubsub"],"waterlineVersion":"^0.10"},"_id":"waterline-rabbitmq@0.51.0","_npmVersion":"5.0.3","_nodeVersion":"8.1.3","_npmUser":{"name":"deprecated-3rd-party-packages","email":"npm+please-do-not-use-these-packages@sailsjs.com"},"dist":{"integrity":"sha512-wObHHz5UaZe+BAgG/Vl0NNF9y+E93lWGzFCjK3PliKi/gzsmfxdQ4LEu93R+QoKYKhQ9QRpA6SLSSndcYxUtGg==","shasum":"20645a56fba21289ee11cc882baf746a4cee1f69","tarball":"https://registry.npmjs.org/waterline-rabbitmq/-/waterline-rabbitmq-0.51.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGImNXZUq+xT1kM6EYwvj6ayr3tt+d3Yz9jVZkTf0oEHAiB3vU5QWzptpMWrZSlz4DvncPSfJwq5nB5gSPafknePzw=="}]},"maintainers":[{"name":"deprecated-3rd-party-packages","email":"npm+please-do-not-use-these-packages@sailsjs.com"},{"name":"ryanwilliamquinn","email":"ryanwilliamquinn@gmail.com"},{"name":"tjwebb","email":"me@traviswebb.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/waterline-rabbitmq-0.51.0.tgz_1509389923046_0.6120850283186883"}}},"readme":"# Waterline RabbitMQ Adapter\n\n[![NPM version][npm-image]][npm-url]\n[![Build status][ci-image]][ci-url]\n[![Dependency Status][daviddm-image]][daviddm-url]\n[![Code Climate][codeclimate-image]][codeclimate-url]\n\nRabbitMQ Adapter for Sails and Waterline ([AMQP 0.9](https://www.rabbitmq.com/amqp-0-9-1-reference.html)).\nImplements the Waterline [pubsub\ninterface](https://github.com/balderdashy/sails-docs/blob/master/contributing/adapter-specification.md#subscribable-interface).\nThe RabbitMQ Adapter does not support persistence on its own, and should always\nbe used with another adapter, such as\n[sails-mongo](https://github.com/balderdashy/sails-mongo) or\n[sails-postgresql](https://github.com/balderdashy/sails-postgresql). This module is\nmaintained in collaboration with [Michigan Community College Association](https://www.micollegesonline.org/).\n\n## Install\n```sh\n$ npm install waterline-rabbitmq --save\n```\n\n## Configure\n\n### 1. Setup Connection\n\n```js\n// config/connections.js\nmodule.exports.connections = {\n  regularPostgres: {\n    // ...\n  },\n  rabbitCluster: {\n    adapter: 'waterline-rabbitmq',\n\n    /**\n     * The url of your rabbitmq installation\n     */\n    url: 'amqp://localhost:5672',\n\n    /**\n     * Define how persistence is managed. 'true' will subscribe to all queues\n     * and persist models that are published as messages. 'false' will do\n     * nothing. This lets you turn off the persistence worker feature on the\n     * Sails.js web server, and enable it in separate worker processes.\n     */\n    persistence: true\n  }\n};\n```\n\n### 2. Setup Models\n\nFor Models that you'd like to be able to publish and subscribe to, add the\n`waterline-rabbitmq` connection to the relevant Models, and define a `routingKey`.\n\n```js\n// api/models/Message\nmodule.exports = {\n  connection: [ 'rabbitCluster', 'regularPostgres' ],\n  routingKey: [ 'stream', 'parentMessage' ],\n  attributes: {\n    title: 'string',\n    body: 'string',\n    stream: {\n      model: 'stream'\n    },\n    parentMessage: {\n      model: 'message'\n    }\n    // ...\n  }\n};\n```\n\n#### `routingKey`\n\nThe `routingKey` determines how messages are routed to RabbitMQ queues. Consider\nan example `Message` object from above:\n\n```js\n{\n  title: 'yo dawg',\n  body: 'I heard you like messages',\n  stream: 'random',\n  parentMessage: 1234\n}\n```\n\nThe `[ 'stream', 'parentMessage' ]` `routingKey` would generate a RabbitMQ\nRouting Key with the value `random.1234`.\n\n\n### 3. Set Primary Key Format\n\nThe primary key datatype for the persistence store defaults to `'integer'`.\nYou may need to change this, for example mongodb uses strings for their primary key.\nThis is optional depending upon your persistence store.\n\n```js\n// config/rabbitmq.js\nmodule.exports.rabbitmq = {\n    pkFormat: 'string'\n};\n```\n\n## Usage\n\n### `.create(values, callback)`\n### `.update(criteria, values, callback)`\n\nThe `.create()` and `.update()` methods can be called per usual on\nRabbitMQ-enabled models. RabbitMQ dispatches a message to an available\nPersistence Worker, wherein the object is created or updated by the\npersistence connection (e.g. `regularPostgres` above), and returned to the\nprovided callback (or Promise).\n\n## Low-level API\n\n\"Low-level\" is a nice way of saying \"only use these methods if you know what you're\ndoing\".\n\n### `Model.getSubscribeSocket(options)`\n\nOpen a rabbit.js [`SUBSCRIBE`](https://github.com/squaremo/rabbit.js/blob/master/lib/sockets.js#L55)\nsocket to your favorite model.\n\n| @param | @description | required |\n|:---|:---|:---|\n| options.where | search criteria | no |\n\n#### Example\n\n```js\nMessage.getSubscribeSocket({ where: { stream: 'myStream' } })\n  .then(function (socket) {\n    socket.on('data', function (data) {\n      var message = JSON.parse(data);\n      // see, I told you it was low-level\n      \n      // ...\n    });\n  });\n```\n\n### `Model.getWorkerSocket(options)`\n\n| @param | @description | required |\n|:---|:---|:---|\n| options.name | worker name (must match that of some 'PUSH' socket) | yes |\n\n```js\nMessage.getWorkerSocket({ name: 'encryptionWorker' })\n  .then(function (socket) {\n    socket.on('data', function (data) {\n      var message = JSON.parse(data);\n      // ...\n\n      socket.ack()\n    });\n  });\n```\n\n## License\nMIT\n\n## Maintained By\n\n##### [<img src='http://i.imgur.com/mfpocUM.png' height='72px'>](https://www.micollegesonline.org)\n- [Max Stahl](https://github.com/mcodev1)\n- [Travis Webb](https://github.com/tjwebb)\n- [Ryan Quinn](https://github.com/ryanwilliamquinn)\n\n\n[mco-url]: https://www.micollegesonline.org\n[mco-image]: http://i.imgur.com/mfpocUM.png\n[npm-image]: https://img.shields.io/npm/v/waterline-rabbitmq.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/waterline-rabbitmq\n[ci-image]: https://img.shields.io/circleci/project/waterlinejs/rabbitmq-adapter/master.svg?style=flat-square\n[ci-url]: https://circleci.com/gh/waterlinejs/rabbitmq-adapter\n[daviddm-image]: http://img.shields.io/david/waterlinejs/rabbitmq-adapter.svg?style=flat-square\n[daviddm-url]: https://david-dm.org/waterlinejs/rabbitmq-adapter\n[codeclimate-image]: https://img.shields.io/codeclimate/github/waterlinejs/rabbitmq-adapter.svg?style=flat-square\n[codeclimate-url]: https://codeclimate.com/github/waterlinejs/rabbitmq-adapter\n","maintainers":[{"name":"ryanwilliamquinn","email":"ryanwilliamquinn@gmail.com"},{"name":"tjwebb","email":"me@traviswebb.com"}],"time":{"modified":"2022-06-28T22:06:52.706Z","created":"2015-08-27T08:19:10.392Z","0.12.4":"2015-08-27T08:19:10.392Z","0.12.5":"2015-08-27T08:19:31.996Z","0.12.6":"2015-12-18T19:47:09.012Z","0.12.8":"2015-12-30T01:08:12.184Z","0.50.0":"2017-10-30T18:54:39.354Z","0.51.0":"2017-10-30T18:58:43.920Z"},"homepage":"https://github.com/waterlinejs/rabbitmq-adapter#readme","keywords":["sails-rabbitmq","rabbit","rabbitmq","amqp","adapter","sails","waterline","sails.js","plugin"],"repository":{"type":"git","url":"git://github.com/waterlinejs/rabbitmq-adapter.git"},"author":{"name":"Travis Webb","email":"me@traviswebb.com"},"bugs":{"url":"https://github.com/waterlinejs/rabbitmq-adapter/issues"},"license":"MIT","readmeFilename":"README.md","users":{"bitsonic":true,"goliatone":true,"mikehostetler":true}}