{"dist":{"shasum":"7cb05c1513f09b665033461da669f675b0f0ce0a","tarball":"https://registry.npmjs.org/@startupjs/server-aggregate/-/server-aggregate-0.33.0-alpha.0.tgz","fileCount":6,"integrity":"sha512-HXP3/HhKYnZ50FPaUSiJemFZAZt8oCQmcKqUbcXMfTr+H2d0KsfjpXpW40SiW3MXQLSghFYZoP7aKLeoc8sdWg==","signatures":[{"sig":"MEUCIAn5uAVu655oLyk4r0xkRifrYWU818dU5eu3IVVTC5cHAiEAxZD7Ux9hPldljVsyvhhulpgC5ruUXJgCGZw6i2OEqXM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR0MZCRA9TVsSAnZWagAA8hcP/2ieIPxT4MkIY97wkWdz\nPs3PCIvZuBrkQ0SvUDjoxuFE4UPyTXfCCrjJe6UyIpTdNI4Dp2WHn9pGgQTc\nq1/QGWwQJ/5A0wJmY4aFzOwRKYoXBRVrh5yvwqgXXFg+9Uu/T53oYp3YLOee\nr7SkXDsyOSt0eSTvQ5xPmXFpLfNZJ7hHo2/6s4tAwj8T0fQFRaSzgqKv40pZ\nLLN/mTnH60ZLTUk92WOGGtRRKydaE95JaZH1tIGMxUHkD8MZ3GJP/MZ3q4GT\nORQpTpq8YcdKxL0UwWzztM7AEN1EtzQyhnME29xia6Xb90vtE6sPltj1mz8Q\nP55TiJvsGphKJS8RYFqWSVuOYdwyyOhlXiIi9a7KWaOHELdVo+wEHhFglmtb\n4M0nwb9s5L9Cieyq1pro+bI/yACum8XYf56jnNIfHsFKJRTFpqg0AC/p2IPQ\nQIKkm7mgFXEKJ9ayFA8zSdMkCSttpqPijPW2tN6yn4FmPyV9QFzBWKBwoZhq\ngkf2VcO6AM7DUydSPHVFzyrdx3TeDhuqPYf54+fhWnAYehpVUc3nC82ZfGz4\nO6A4/rMvPt20KsET6gm6gE+dLAVIIu+mbdfnKNvlgKefZ9X3o1aAf5L5mqXq\nzLnombOg5SxuCI/W9i0dl+BzKZKZqY8zJvXzDBKk9teTDxHVQlOVGJfe2HdL\nUokk\r\n=7U7r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"server.js","name":"@startupjs/server-aggregate","author":{"name":"Artur Zayats","email":"zag2art@gmail.com"},"readme":"## @startupjs/server-aggregate\n\nRacer server aggregate plugin. It allows only server-defined aggregate queries.\n\n### install\n\n```\nyarn add @startupjs/server-aggregate\n```\n\n### requirements\n\n```\nracer: 0.9.15\n```\n\n### usage\n\nIn our client code:\n\n```js\nrequire('@startupjs/server-aggregate/client')\n```\n\nOn the server:\n```js\n\nconst serverAggregate = require('@startupjs/server-aggregate')\nserverAggregate(backend, customCheck)\n\nHere:\n\n- `backend` - your backend\n- `customCheck` - your personal check function. It should return an error message if there is an error. **IMPORTANT** The message must be of type `string`.\n\n// function addAggregate accept\n// 'collection' - collection name\n// 'queryName'  - name of query\n// 'cb' - function that accepts 'params' and 'shareRequest'\n// and returns a query-object or error-string\n\nbackend.addAggregate('items', 'main', async (params, shareRequest) => {\n  // ...\n  // access control or whatever\n  // ...\n\n  return [\n    {$match: {type: 'wooden'}}\n  ]\n})\n\n\n```\n\nUsing queries (on the client):\n\n```js\n  // function aggregateQuery accepts 3 arguments:\n  // 'collection' - collection name (should match one from addServerQuery)\n  // 'queryName' - name of query (should match one from addServerQuery)\n  // 'params' - object with query-params\n\n  const query = model.aggregateQuery('items', 'main', {\n    type: 'global'\n  })\n\n  model.subscribe(query, function(){\n    // ...\n  })\n\n```\n\nAlternative approach (using regular model.query)\n\n```js\n  const query = model.query('items', {\n    $aggregationName: 'main',\n    $params: {\n      type: 'global'\n    }\n  })\n\n  model.subscribe(query, function(){\n    // ...\n  })\n\n```\n\n## MIT License\nCopyright (c) 2018 by Artur Zayats\n","gitHead":"72890cb09fc9a758a4191e8eb647f3b68be2d4ca","license":"MIT","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node server.js"},"_npmUser":{"name":"yska","email":"pturchik@yandex.ru"},"_npmVersion":"lerna/3.22.1/node@v15.5.1+x64 (darwin)","description":"Module for describing aggregations on the server","directories":{},"maintainers":[{"name":"cray0000","email":"cray0000@gmail.com"},{"name":"yska","email":"pturchik@yandex.ru"},{"name":"zag2art","email":"zag2art@gmail.com"},{"name":"fctsvirus","email":"fctsvirus0k@gmail.com"},{"name":"maestro.sc","email":"maestro.simf@gmail.com"},{"name":"byshock","email":"ivan.lepkin@yandex.ru"},{"name":"agurets","email":"aguretsvlad@gmail.com"}],"_nodeVersion":"15.5.1","dependencies":{"racer":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/server-aggregate_0.33.0-alpha.0_1615282968669_0.9698956677864357","host":"s3://npm-registry-packages"},"_id":"@startupjs/server-aggregate@0.33.0-alpha.0","version":"0.33.0-alpha.0"}