🔼 Bumped moleculer to 0.14.23
This commit is contained in:
@@ -225,7 +225,7 @@ const brokerConfig: BrokerOptions = {
|
|||||||
middlewares: [],
|
middlewares: [],
|
||||||
|
|
||||||
// Register custom REPL commands.
|
// Register custom REPL commands.
|
||||||
replCommands: null,
|
// replCommands: null,
|
||||||
/*
|
/*
|
||||||
// Called after broker created.
|
// Called after broker created.
|
||||||
created : (broker: ServiceBroker): void => {},
|
created : (broker: ServiceBroker): void => {},
|
||||||
|
|||||||
238
package-lock.json
generated
238
package-lock.json
generated
@@ -33,12 +33,12 @@
|
|||||||
"leven": "^3.1.0",
|
"leven": "^3.1.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mkdirp": "^0.5.5",
|
"mkdirp": "^0.5.5",
|
||||||
"moleculer": "^0.14.19",
|
"moleculer": "^0.14.23",
|
||||||
"moleculer-bull": "github:rishighan/moleculer-bull",
|
"moleculer-bull": "github:rishighan/moleculer-bull",
|
||||||
"moleculer-db": "^0.8.17",
|
"moleculer-db": "^0.8.17",
|
||||||
"moleculer-db-adapter-mongo": "^0.4.7",
|
"moleculer-db-adapter-mongo": "^0.4.7",
|
||||||
"moleculer-db-adapter-mongoose": "^0.8.12",
|
"moleculer-db-adapter-mongoose": "^0.8.12",
|
||||||
"moleculer-io": "^2.0.0",
|
"moleculer-io": "^2.1.0",
|
||||||
"moleculer-web": "^0.10.4",
|
"moleculer-web": "^0.10.4",
|
||||||
"mongoosastic-ts": "^5.0.7",
|
"mongoosastic-ts": "^5.0.7",
|
||||||
"mongoose": "^5.12.7",
|
"mongoose": "^5.12.7",
|
||||||
@@ -1447,14 +1447,6 @@
|
|||||||
"@sinonjs/commons": "^1.7.0"
|
"@sinonjs/commons": "^1.7.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@socket.io/base64-arraybuffer": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.6.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swiftcarrot/color-fns": {
|
"node_modules/@swiftcarrot/color-fns": {
|
||||||
"version": "3.2.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz",
|
||||||
@@ -2046,9 +2038,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/args": {
|
"node_modules/args": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/args/-/args-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/args/-/args-5.0.3.tgz",
|
||||||
"integrity": "sha512-1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ==",
|
"integrity": "sha512-h6k/zfFgusnv3i5TU08KQkVKuCPBtL/PWQbWkHUxvJrZ2nAyeaUupneemcrgn1xmqxPQsPIzwkUhOpoqPDRZuA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"camelcase": "5.0.0",
|
"camelcase": "5.0.0",
|
||||||
"chalk": "2.4.2",
|
"chalk": "2.4.2",
|
||||||
@@ -2102,12 +2094,12 @@
|
|||||||
"node_modules/args/node_modules/color-name": {
|
"node_modules/args/node_modules/color-name": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
|
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
|
||||||
},
|
},
|
||||||
"node_modules/args/node_modules/escape-string-regexp": {
|
"node_modules/args/node_modules/escape-string-regexp": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.8.0"
|
"node": ">=0.8.0"
|
||||||
}
|
}
|
||||||
@@ -2115,7 +2107,7 @@
|
|||||||
"node_modules/args/node_modules/has-flag": {
|
"node_modules/args/node_modules/has-flag": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
@@ -2123,7 +2115,7 @@
|
|||||||
"node_modules/args/node_modules/leven": {
|
"node_modules/args/node_modules/leven": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
|
||||||
"integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
|
"integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
@@ -3767,9 +3759,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/engine.io": {
|
"node_modules/engine.io": {
|
||||||
"version": "6.1.3",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
|
||||||
"integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==",
|
"integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/cookie": "^0.4.1",
|
"@types/cookie": "^0.4.1",
|
||||||
"@types/cors": "^2.8.12",
|
"@types/cors": "^2.8.12",
|
||||||
@@ -3787,12 +3779,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/engine.io-parser": {
|
"node_modules/engine.io-parser": {
|
||||||
"version": "5.0.3",
|
"version": "5.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
|
||||||
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
|
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
|
||||||
"dependencies": {
|
|
||||||
"@socket.io/base64-arraybuffer": "~1.0.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
}
|
}
|
||||||
@@ -4471,9 +4460,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/eventemitter2": {
|
"node_modules/eventemitter2": {
|
||||||
"version": "6.4.5",
|
"version": "6.4.7",
|
||||||
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz",
|
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
|
||||||
"integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw=="
|
"integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg=="
|
||||||
},
|
},
|
||||||
"node_modules/execa": {
|
"node_modules/execa": {
|
||||||
"version": "5.1.1",
|
"version": "5.1.1",
|
||||||
@@ -7228,9 +7217,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/kleur": {
|
"node_modules/kleur": {
|
||||||
"version": "4.1.4",
|
"version": "4.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
|
||||||
"integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==",
|
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
@@ -7828,23 +7817,24 @@
|
|||||||
"integrity": "sha1-ilSTsPZzgvv3BcJg4HBDZlWn3Po="
|
"integrity": "sha1-ilSTsPZzgvv3BcJg4HBDZlWn3Po="
|
||||||
},
|
},
|
||||||
"node_modules/moleculer": {
|
"node_modules/moleculer": {
|
||||||
"version": "0.14.19",
|
"version": "0.14.23",
|
||||||
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.19.tgz",
|
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.23.tgz",
|
||||||
"integrity": "sha512-XtZwfYHk2xP6mnTEf2h44OPh/ha0jMqK4bCCROMNRdngBZR2i3LKruZA1SeHUBW+1HtDh2GliAEG7a0rW9VZhg==",
|
"integrity": "sha512-DE84fy8+1QiA7kUkF9ce4nyDdptBDlLFQfsaUccTScMGAbEjye5e+zfoI9iSA9rznwvshC8tgLhbOcnQBMn/HA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"args": "^5.0.1",
|
"args": "^5.0.3",
|
||||||
"eventemitter2": "^6.4.5",
|
"eventemitter2": "^6.4.7",
|
||||||
"fastest-validator": "^1.12.0",
|
"fastest-validator": "^1.12.0",
|
||||||
"glob": "^7.2.0",
|
"glob": "^7.2.0",
|
||||||
"ipaddr.js": "^2.0.1",
|
"ipaddr.js": "^2.0.1",
|
||||||
"kleur": "^4.1.4",
|
"kleur": "^4.1.5",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"lru-cache": "^6.0.0",
|
"lru-cache": "^6.0.0",
|
||||||
"node-fetch": "^2.6.1",
|
"node-fetch": "^2.6.7",
|
||||||
"recursive-watch": "^1.1.4"
|
"recursive-watch": "^1.1.4"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"moleculer-runner": "bin/moleculer-runner.js"
|
"moleculer-runner": "bin/moleculer-runner.js",
|
||||||
|
"moleculer-runner-esm": "bin/moleculer-runner.mjs"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 10.x.x"
|
"node": ">= 10.x.x"
|
||||||
@@ -7853,27 +7843,27 @@
|
|||||||
"url": "https://github.com/moleculerjs/moleculer?sponsor=1"
|
"url": "https://github.com/moleculerjs/moleculer?sponsor=1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"amqplib": "^0.7.0 || ^0.8.0",
|
"amqplib": "^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0",
|
||||||
"avsc": "^5.0.0",
|
"avsc": "^5.0.0",
|
||||||
"bunyan": "^1.0.0",
|
"bunyan": "^1.0.0",
|
||||||
"cbor-x": "^0.8.3 || ^0.9.0",
|
"cbor-x": "^0.8.3 || ^0.9.0 || ^1.2.0",
|
||||||
"dd-trace": "^0.33.0 || ^0.34.0 || ^0.35.0 || ^0.36.0 || >=1.0.0 <1.6.0",
|
"dd-trace": "^0.33.0 || ^0.34.0 || ^0.35.0 || ^0.36.0 || >=1.0.0 <1.6.0",
|
||||||
"debug": "^4.0.0",
|
"debug": "^4.0.0",
|
||||||
"etcd3": "^1.0.0",
|
"etcd3": "^1.0.0",
|
||||||
"ioredis": "^4.0.0",
|
"ioredis": "^4.0.0 || ^5.0.0",
|
||||||
"jaeger-client": "^3.0.0",
|
"jaeger-client": "^3.0.0",
|
||||||
"kafka-node": "^5.0.0",
|
"kafka-node": "^5.0.0",
|
||||||
"log4js": "^6.0.0",
|
"log4js": "^6.0.0",
|
||||||
"mqtt": "^4.0.0",
|
"mqtt": "^4.0.0",
|
||||||
"msgpack5": "^5.0.0",
|
"msgpack5": "^5.0.0 || ^6.0.0",
|
||||||
"nats": "^1.0.0 || ^2.0.0",
|
"nats": "^1.0.0 || ^2.0.0",
|
||||||
"node-nats-streaming": "^0.0.51 || ^0.2.0 || ^0.3.0",
|
"node-nats-streaming": "^0.0.51 || ^0.2.0 || ^0.3.0",
|
||||||
"notepack.io": "^2.0.0",
|
"notepack.io": "^2.0.0 || ^3.0.0",
|
||||||
"pino": "^6.0.0 || ^7.0.0",
|
"pino": "^6.0.0 || ^7.0.0 || ^8.0.0",
|
||||||
"protobufjs": "^6.0.0",
|
"protobufjs": "^6.0.0 || ^7.0.0",
|
||||||
"redlock": "^4.0.0",
|
"redlock": "^4.0.0",
|
||||||
"rhea-promise": "^1.0.0 || ^2.0.0",
|
"rhea-promise": "^1.0.0 || ^2.0.0",
|
||||||
"thrift": "^0.12.0",
|
"thrift": "^0.12.0 || ^0.16.0",
|
||||||
"winston": "^3.0.0"
|
"winston": "^3.0.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
@@ -7994,9 +7984,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/moleculer-db-adapter-mongoose": {
|
"node_modules/moleculer-db-adapter-mongoose": {
|
||||||
"version": "0.8.12",
|
"version": "0.8.14",
|
||||||
"resolved": "https://registry.npmjs.org/moleculer-db-adapter-mongoose/-/moleculer-db-adapter-mongoose-0.8.12.tgz",
|
"resolved": "https://registry.npmjs.org/moleculer-db-adapter-mongoose/-/moleculer-db-adapter-mongoose-0.8.14.tgz",
|
||||||
"integrity": "sha512-bWxpkHH7YFLoqBYD12Nl7hd/fmF+gVbC9Xc+dtW8QF68hm+iul6yTTcJVVWm7OZ4zRykBuuj6sssqPzsie+MfQ==",
|
"integrity": "sha512-XKESD8BzxbQaP52PcHPt5kFz5mC5epGPq8IiXQp9hbPkkpERp1RJIbMGLFQyeAx7wlNxASAMEAxq0uEUMqulDQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bluebird": "^3.7.2",
|
"bluebird": "^3.7.2",
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
@@ -8010,13 +8000,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/moleculer-io": {
|
"node_modules/moleculer-io": {
|
||||||
"version": "2.0.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/moleculer-io/-/moleculer-io-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/moleculer-io/-/moleculer-io-2.1.0.tgz",
|
||||||
"integrity": "sha512-de/t7cG5at5KYPiukkR+cEnZ0nb0xRmSHkCoLrd7mmHfNI8+FwoUbg1fE2+Yt5aoEnVhpvY7UE2x8qcBOT6T3w==",
|
"integrity": "sha512-lekTCMc5ZVZ/h/vfKISRkOQWTmBpOJHa1lqmoGt6asCaQv78V+Q9/I1qw56gYOVD1vNlkCsS6ZkZPUW6Z35Y/w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"kleur": "^4.1.4",
|
"kleur": "^4.1.5",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"socket.io": "^4.4.1"
|
"socket.io": "^4.5.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 10.x.x"
|
"node": ">= 10.x.x"
|
||||||
@@ -8072,9 +8062,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/moment": {
|
"node_modules/moment": {
|
||||||
"version": "2.29.3",
|
"version": "2.29.4",
|
||||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||||
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
|
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "*"
|
"node": "*"
|
||||||
}
|
}
|
||||||
@@ -12674,15 +12664,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/socket.io": {
|
"node_modules/socket.io": {
|
||||||
"version": "4.4.1",
|
"version": "4.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
|
||||||
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
|
"integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"accepts": "~1.3.4",
|
"accepts": "~1.3.4",
|
||||||
"base64id": "~2.0.0",
|
"base64id": "~2.0.0",
|
||||||
"debug": "~4.3.2",
|
"debug": "~4.3.2",
|
||||||
"engine.io": "~6.1.0",
|
"engine.io": "~6.2.0",
|
||||||
"socket.io-adapter": "~2.3.3",
|
"socket.io-adapter": "~2.4.0",
|
||||||
"socket.io-parser": "~4.0.4"
|
"socket.io-parser": "~4.0.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -12690,14 +12680,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/socket.io-adapter": {
|
"node_modules/socket.io-adapter": {
|
||||||
"version": "2.3.3",
|
"version": "2.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
|
||||||
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
|
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
|
||||||
},
|
},
|
||||||
"node_modules/socket.io-parser": {
|
"node_modules/socket.io-parser": {
|
||||||
"version": "4.0.4",
|
"version": "4.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
|
||||||
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
|
"integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/component-emitter": "^1.2.10",
|
"@types/component-emitter": "^1.2.10",
|
||||||
"component-emitter": "~1.3.0",
|
"component-emitter": "~1.3.0",
|
||||||
@@ -13785,7 +13775,7 @@
|
|||||||
"node_modules/vary": {
|
"node_modules/vary": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||||
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
|
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
@@ -15283,11 +15273,6 @@
|
|||||||
"@sinonjs/commons": "^1.7.0"
|
"@sinonjs/commons": "^1.7.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@socket.io/base64-arraybuffer": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ=="
|
|
||||||
},
|
|
||||||
"@swiftcarrot/color-fns": {
|
"@swiftcarrot/color-fns": {
|
||||||
"version": "3.2.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz",
|
||||||
@@ -15746,9 +15731,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"args": {
|
"args": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/args/-/args-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/args/-/args-5.0.3.tgz",
|
||||||
"integrity": "sha512-1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ==",
|
"integrity": "sha512-h6k/zfFgusnv3i5TU08KQkVKuCPBtL/PWQbWkHUxvJrZ2nAyeaUupneemcrgn1xmqxPQsPIzwkUhOpoqPDRZuA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"camelcase": "5.0.0",
|
"camelcase": "5.0.0",
|
||||||
"chalk": "2.4.2",
|
"chalk": "2.4.2",
|
||||||
@@ -15790,22 +15775,22 @@
|
|||||||
"color-name": {
|
"color-name": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
|
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
|
||||||
},
|
},
|
||||||
"escape-string-regexp": {
|
"escape-string-regexp": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
|
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
|
||||||
},
|
},
|
||||||
"has-flag": {
|
"has-flag": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
||||||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
|
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
|
||||||
},
|
},
|
||||||
"leven": {
|
"leven": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
|
||||||
"integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA="
|
"integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA=="
|
||||||
},
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
"version": "5.5.0",
|
"version": "5.5.0",
|
||||||
@@ -17078,9 +17063,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"engine.io": {
|
"engine.io": {
|
||||||
"version": "6.1.3",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
|
||||||
"integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==",
|
"integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/cookie": "^0.4.1",
|
"@types/cookie": "^0.4.1",
|
||||||
"@types/cors": "^2.8.12",
|
"@types/cors": "^2.8.12",
|
||||||
@@ -17103,12 +17088,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"engine.io-parser": {
|
"engine.io-parser": {
|
||||||
"version": "5.0.3",
|
"version": "5.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
|
||||||
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
|
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
|
||||||
"requires": {
|
|
||||||
"@socket.io/base64-arraybuffer": "~1.0.2"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"enquirer": {
|
"enquirer": {
|
||||||
"version": "2.3.6",
|
"version": "2.3.6",
|
||||||
@@ -17659,9 +17641,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"eventemitter2": {
|
"eventemitter2": {
|
||||||
"version": "6.4.5",
|
"version": "6.4.7",
|
||||||
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz",
|
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
|
||||||
"integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw=="
|
"integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg=="
|
||||||
},
|
},
|
||||||
"execa": {
|
"execa": {
|
||||||
"version": "5.1.1",
|
"version": "5.1.1",
|
||||||
@@ -19759,9 +19741,9 @@
|
|||||||
"integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw=="
|
"integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw=="
|
||||||
},
|
},
|
||||||
"kleur": {
|
"kleur": {
|
||||||
"version": "4.1.4",
|
"version": "4.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
|
||||||
"integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA=="
|
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="
|
||||||
},
|
},
|
||||||
"leven": {
|
"leven": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
@@ -20294,19 +20276,19 @@
|
|||||||
"integrity": "sha1-ilSTsPZzgvv3BcJg4HBDZlWn3Po="
|
"integrity": "sha1-ilSTsPZzgvv3BcJg4HBDZlWn3Po="
|
||||||
},
|
},
|
||||||
"moleculer": {
|
"moleculer": {
|
||||||
"version": "0.14.19",
|
"version": "0.14.23",
|
||||||
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.19.tgz",
|
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.23.tgz",
|
||||||
"integrity": "sha512-XtZwfYHk2xP6mnTEf2h44OPh/ha0jMqK4bCCROMNRdngBZR2i3LKruZA1SeHUBW+1HtDh2GliAEG7a0rW9VZhg==",
|
"integrity": "sha512-DE84fy8+1QiA7kUkF9ce4nyDdptBDlLFQfsaUccTScMGAbEjye5e+zfoI9iSA9rznwvshC8tgLhbOcnQBMn/HA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"args": "^5.0.1",
|
"args": "^5.0.3",
|
||||||
"eventemitter2": "^6.4.5",
|
"eventemitter2": "^6.4.7",
|
||||||
"fastest-validator": "^1.12.0",
|
"fastest-validator": "^1.12.0",
|
||||||
"glob": "^7.2.0",
|
"glob": "^7.2.0",
|
||||||
"ipaddr.js": "^2.0.1",
|
"ipaddr.js": "^2.0.1",
|
||||||
"kleur": "^4.1.4",
|
"kleur": "^4.1.5",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"lru-cache": "^6.0.0",
|
"lru-cache": "^6.0.0",
|
||||||
"node-fetch": "^2.6.1",
|
"node-fetch": "^2.6.7",
|
||||||
"recursive-watch": "^1.1.4"
|
"recursive-watch": "^1.1.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -20340,22 +20322,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"moleculer-db-adapter-mongoose": {
|
"moleculer-db-adapter-mongoose": {
|
||||||
"version": "0.8.12",
|
"version": "0.8.14",
|
||||||
"resolved": "https://registry.npmjs.org/moleculer-db-adapter-mongoose/-/moleculer-db-adapter-mongoose-0.8.12.tgz",
|
"resolved": "https://registry.npmjs.org/moleculer-db-adapter-mongoose/-/moleculer-db-adapter-mongoose-0.8.14.tgz",
|
||||||
"integrity": "sha512-bWxpkHH7YFLoqBYD12Nl7hd/fmF+gVbC9Xc+dtW8QF68hm+iul6yTTcJVVWm7OZ4zRykBuuj6sssqPzsie+MfQ==",
|
"integrity": "sha512-XKESD8BzxbQaP52PcHPt5kFz5mC5epGPq8IiXQp9hbPkkpERp1RJIbMGLFQyeAx7wlNxASAMEAxq0uEUMqulDQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bluebird": "^3.7.2",
|
"bluebird": "^3.7.2",
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"moleculer-io": {
|
"moleculer-io": {
|
||||||
"version": "2.0.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/moleculer-io/-/moleculer-io-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/moleculer-io/-/moleculer-io-2.1.0.tgz",
|
||||||
"integrity": "sha512-de/t7cG5at5KYPiukkR+cEnZ0nb0xRmSHkCoLrd7mmHfNI8+FwoUbg1fE2+Yt5aoEnVhpvY7UE2x8qcBOT6T3w==",
|
"integrity": "sha512-lekTCMc5ZVZ/h/vfKISRkOQWTmBpOJHa1lqmoGt6asCaQv78V+Q9/I1qw56gYOVD1vNlkCsS6ZkZPUW6Z35Y/w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"kleur": "^4.1.4",
|
"kleur": "^4.1.5",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"socket.io": "^4.4.1"
|
"socket.io": "^4.5.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"moleculer-repl": {
|
"moleculer-repl": {
|
||||||
@@ -20396,9 +20378,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"moment": {
|
"moment": {
|
||||||
"version": "2.29.3",
|
"version": "2.29.4",
|
||||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||||
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
|
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
|
||||||
},
|
},
|
||||||
"mongodb": {
|
"mongodb": {
|
||||||
"version": "3.7.3",
|
"version": "3.7.3",
|
||||||
@@ -23684,27 +23666,27 @@
|
|||||||
"integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ=="
|
"integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ=="
|
||||||
},
|
},
|
||||||
"socket.io": {
|
"socket.io": {
|
||||||
"version": "4.4.1",
|
"version": "4.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
|
||||||
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
|
"integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"accepts": "~1.3.4",
|
"accepts": "~1.3.4",
|
||||||
"base64id": "~2.0.0",
|
"base64id": "~2.0.0",
|
||||||
"debug": "~4.3.2",
|
"debug": "~4.3.2",
|
||||||
"engine.io": "~6.1.0",
|
"engine.io": "~6.2.0",
|
||||||
"socket.io-adapter": "~2.3.3",
|
"socket.io-adapter": "~2.4.0",
|
||||||
"socket.io-parser": "~4.0.4"
|
"socket.io-parser": "~4.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"socket.io-adapter": {
|
"socket.io-adapter": {
|
||||||
"version": "2.3.3",
|
"version": "2.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
|
||||||
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
|
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
|
||||||
},
|
},
|
||||||
"socket.io-parser": {
|
"socket.io-parser": {
|
||||||
"version": "4.0.4",
|
"version": "4.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
|
||||||
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
|
"integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/component-emitter": "^1.2.10",
|
"@types/component-emitter": "^1.2.10",
|
||||||
"component-emitter": "~1.3.0",
|
"component-emitter": "~1.3.0",
|
||||||
@@ -24590,7 +24572,7 @@
|
|||||||
"vary": {
|
"vary": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||||
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
|
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
|
||||||
},
|
},
|
||||||
"verror": {
|
"verror": {
|
||||||
"version": "1.10.0",
|
"version": "1.10.0",
|
||||||
|
|||||||
@@ -61,12 +61,12 @@
|
|||||||
"leven": "^3.1.0",
|
"leven": "^3.1.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mkdirp": "^0.5.5",
|
"mkdirp": "^0.5.5",
|
||||||
"moleculer": "^0.14.19",
|
"moleculer": "^0.14.23",
|
||||||
"moleculer-bull": "github:rishighan/moleculer-bull",
|
"moleculer-bull": "github:rishighan/moleculer-bull",
|
||||||
"moleculer-db": "^0.8.17",
|
"moleculer-db": "^0.8.17",
|
||||||
"moleculer-db-adapter-mongo": "^0.4.7",
|
"moleculer-db-adapter-mongo": "^0.4.7",
|
||||||
"moleculer-db-adapter-mongoose": "^0.8.12",
|
"moleculer-db-adapter-mongoose": "^0.8.12",
|
||||||
"moleculer-io": "^2.0.0",
|
"moleculer-io": "^2.1.0",
|
||||||
"moleculer-web": "^0.10.4",
|
"moleculer-web": "^0.10.4",
|
||||||
"mongoosastic-ts": "^5.0.7",
|
"mongoosastic-ts": "^5.0.7",
|
||||||
"mongoose": "^5.12.7",
|
"mongoose": "^5.12.7",
|
||||||
|
|||||||
@@ -20,76 +20,68 @@ export default class ImageTransformation extends Service {
|
|||||||
schema: ServiceSchema<{}> = { name: "imagetransformation" }
|
schema: ServiceSchema<{}> = { name: "imagetransformation" }
|
||||||
) {
|
) {
|
||||||
super(broker);
|
super(broker);
|
||||||
this.parseServiceSchema(
|
this.parseServiceSchema({
|
||||||
Service.mergeSchemas(
|
name: "imagetransformation",
|
||||||
{
|
mixins: [],
|
||||||
name: "imagetransformation",
|
settings: {
|
||||||
mixins: [],
|
// Available fields in the responses
|
||||||
settings: {
|
fields: ["_id", "name", "quantity", "price"],
|
||||||
// Available fields in the responses
|
|
||||||
fields: ["_id", "name", "quantity", "price"],
|
|
||||||
|
|
||||||
// Validator for the `create` & `insert` actions.
|
// Validator for the `create` & `insert` actions.
|
||||||
entityValidator: {
|
entityValidator: {
|
||||||
name: "string|min:3",
|
name: "string|min:3",
|
||||||
price: "number|positive",
|
price: "number|positive",
|
||||||
},
|
|
||||||
},
|
|
||||||
hooks: {},
|
|
||||||
actions: {
|
|
||||||
resize: {
|
|
||||||
rest: "POST /resizeImage",
|
|
||||||
params: {},
|
|
||||||
async handler(
|
|
||||||
ctx: Context<{
|
|
||||||
imageFile: string | Buffer;
|
|
||||||
newWidth: number;
|
|
||||||
newHeight: number;
|
|
||||||
outputPath: string;
|
|
||||||
}>
|
|
||||||
) {
|
|
||||||
const resizeResult = await resizeImage(
|
|
||||||
ctx.params.imageFile,
|
|
||||||
ctx.params.outputPath,
|
|
||||||
ctx.params.newWidth,
|
|
||||||
ctx.params.newHeight
|
|
||||||
);
|
|
||||||
return { resizeOperationStatus: resizeResult };
|
|
||||||
},
|
|
||||||
},
|
|
||||||
analyze: {
|
|
||||||
rest: "POST /analyze",
|
|
||||||
params: {},
|
|
||||||
handler: async (
|
|
||||||
ctx: Context<{ imageFilePath: string }>
|
|
||||||
) => {
|
|
||||||
const url = new URL(ctx.params.imageFilePath);
|
|
||||||
const pathName = url.pathname;
|
|
||||||
const decodedImageFileURI = decodeURI(pathName);
|
|
||||||
const finalImagePath = path.resolve(
|
|
||||||
"." + decodedImageFileURI
|
|
||||||
);
|
|
||||||
|
|
||||||
const analyzedData = await analyze(
|
|
||||||
finalImagePath
|
|
||||||
);
|
|
||||||
const colorHistogramData =
|
|
||||||
await getColorHistogramData(
|
|
||||||
finalImagePath,
|
|
||||||
false
|
|
||||||
);
|
|
||||||
|
|
||||||
return {
|
|
||||||
analyzedData,
|
|
||||||
colorHistogramData,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
methods: {},
|
|
||||||
},
|
},
|
||||||
schema
|
},
|
||||||
)
|
hooks: {},
|
||||||
);
|
actions: {
|
||||||
|
resize: {
|
||||||
|
rest: "POST /resizeImage",
|
||||||
|
params: {},
|
||||||
|
async handler(
|
||||||
|
ctx: Context<{
|
||||||
|
imageFile: string | Buffer;
|
||||||
|
newWidth: number;
|
||||||
|
newHeight: number;
|
||||||
|
outputPath: string;
|
||||||
|
}>
|
||||||
|
) {
|
||||||
|
const resizeResult = await resizeImage(
|
||||||
|
ctx.params.imageFile,
|
||||||
|
ctx.params.outputPath,
|
||||||
|
ctx.params.newWidth,
|
||||||
|
ctx.params.newHeight
|
||||||
|
);
|
||||||
|
return { resizeOperationStatus: resizeResult };
|
||||||
|
},
|
||||||
|
},
|
||||||
|
analyze: {
|
||||||
|
rest: "POST /analyze",
|
||||||
|
params: {},
|
||||||
|
handler: async (
|
||||||
|
ctx: Context<{ imageFilePath: string }>
|
||||||
|
) => {
|
||||||
|
const url = new URL(ctx.params.imageFilePath);
|
||||||
|
const pathName = url.pathname;
|
||||||
|
const decodedImageFileURI = decodeURI(pathName);
|
||||||
|
const finalImagePath = path.resolve(
|
||||||
|
"." + decodedImageFileURI
|
||||||
|
);
|
||||||
|
|
||||||
|
const analyzedData = await analyze(finalImagePath);
|
||||||
|
const colorHistogramData = await getColorHistogramData(
|
||||||
|
finalImagePath,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
analyzedData,
|
||||||
|
colorHistogramData,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,120 +21,108 @@ export default class OpdsService extends Service {
|
|||||||
schema: ServiceSchema<{}> = { name: "opds" }
|
schema: ServiceSchema<{}> = { name: "opds" }
|
||||||
) {
|
) {
|
||||||
super(broker);
|
super(broker);
|
||||||
this.parseServiceSchema(
|
this.parseServiceSchema({
|
||||||
Service.mergeSchemas(
|
name: "opds",
|
||||||
{
|
mixins: [],
|
||||||
name: "opds",
|
settings: {
|
||||||
mixins: [],
|
port: process.env.PORT || 3001,
|
||||||
settings: {
|
},
|
||||||
port: process.env.PORT || 3001,
|
hooks: {},
|
||||||
},
|
actions: {
|
||||||
hooks: {},
|
serve: {
|
||||||
actions: {
|
rest: "POST /serve",
|
||||||
serve: {
|
handler: async (ctx) => {
|
||||||
rest: "POST /serve",
|
return buildAsync(
|
||||||
handler: async (ctx) => {
|
initMain({
|
||||||
return buildAsync(
|
title: `title`,
|
||||||
initMain({
|
subtitle: `subtitle`,
|
||||||
title: `title`,
|
icon: "/favicon.ico",
|
||||||
subtitle: `subtitle`,
|
}),
|
||||||
icon: "/favicon.ico",
|
[
|
||||||
}),
|
async (feed: Feed) => {
|
||||||
[
|
feed.id =
|
||||||
async (feed: Feed) => {
|
"urn:uuid:2853dacf-ed79-42f5-8e8a-a7bb3d1ae6a2";
|
||||||
feed.id =
|
feed.books = feed.books || [];
|
||||||
"urn:uuid:2853dacf-ed79-42f5-8e8a-a7bb3d1ae6a2";
|
await FastGlob(
|
||||||
feed.books = feed.books || [];
|
[
|
||||||
await FastGlob(
|
"*.cbr",
|
||||||
[
|
"*.cbz",
|
||||||
"*.cbr",
|
"*.cb7",
|
||||||
"*.cbz",
|
"*.cba",
|
||||||
"*.cb7",
|
"*.cbt",
|
||||||
"*.cba",
|
],
|
||||||
"*.cbt",
|
{
|
||||||
],
|
cwd: COMICS_DIRECTORY,
|
||||||
{
|
|
||||||
cwd: COMICS_DIRECTORY,
|
|
||||||
}
|
|
||||||
).each((file, idx) => {
|
|
||||||
const ext = extname(file);
|
|
||||||
const title = basename(
|
|
||||||
file,
|
|
||||||
ext
|
|
||||||
);
|
|
||||||
const href = encodeURI(
|
|
||||||
`/comics/${file}`
|
|
||||||
);
|
|
||||||
const type =
|
|
||||||
lookup(ext) ||
|
|
||||||
"application/octet-stream";
|
|
||||||
|
|
||||||
const entry =
|
|
||||||
Entry.deserialize<Entry>({
|
|
||||||
title,
|
|
||||||
id: idx.toString(),
|
|
||||||
links: [
|
|
||||||
{
|
|
||||||
rel: EnumLinkRel.ACQUISITION,
|
|
||||||
href,
|
|
||||||
type,
|
|
||||||
} as Link,
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
if (
|
|
||||||
!isUndefined(feed) &&
|
|
||||||
!isUndefined(feed.books)
|
|
||||||
) {
|
|
||||||
feed.books.push(entry);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return feed;
|
|
||||||
},
|
|
||||||
]
|
|
||||||
).then((feed) => {
|
|
||||||
ctx.meta.$responseHeaders = {
|
|
||||||
"Content-Type": " application/xml",
|
|
||||||
};
|
|
||||||
let data;
|
|
||||||
xml2js.parseString(
|
|
||||||
feed.toXML(),
|
|
||||||
(err, result) => {
|
|
||||||
result.feed.link = {
|
|
||||||
$: {
|
|
||||||
rel: "self",
|
|
||||||
href: "/opds-catalogs/root.xml",
|
|
||||||
type: "application/atom+xml;profile=opds-catalog;kind=navigation",
|
|
||||||
},
|
|
||||||
_: "",
|
|
||||||
};
|
|
||||||
const builder = new xml2js.Builder({
|
|
||||||
xmldec: {
|
|
||||||
version: "1.0",
|
|
||||||
encoding: "UTF-8",
|
|
||||||
standalone: false,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
data = builder.buildObject(result, {
|
|
||||||
renderOpts: {
|
|
||||||
pretty: true,
|
|
||||||
indent: " ",
|
|
||||||
newline: "\n",
|
|
||||||
allowEmpty: true,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
);
|
).each((file, idx) => {
|
||||||
return data;
|
const ext = extname(file);
|
||||||
|
const title = basename(file, ext);
|
||||||
|
const href = encodeURI(
|
||||||
|
`/comics/${file}`
|
||||||
|
);
|
||||||
|
const type =
|
||||||
|
lookup(ext) ||
|
||||||
|
"application/octet-stream";
|
||||||
|
|
||||||
|
const entry = Entry.deserialize<Entry>({
|
||||||
|
title,
|
||||||
|
id: idx.toString(),
|
||||||
|
links: [
|
||||||
|
{
|
||||||
|
rel: EnumLinkRel.ACQUISITION,
|
||||||
|
href,
|
||||||
|
type,
|
||||||
|
} as Link,
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
if (
|
||||||
|
!isUndefined(feed) &&
|
||||||
|
!isUndefined(feed.books)
|
||||||
|
) {
|
||||||
|
feed.books.push(entry);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return feed;
|
||||||
|
},
|
||||||
|
]
|
||||||
|
).then((feed) => {
|
||||||
|
ctx.meta.$responseHeaders = {
|
||||||
|
"Content-Type": " application/xml",
|
||||||
|
};
|
||||||
|
let data;
|
||||||
|
xml2js.parseString(feed.toXML(), (err, result) => {
|
||||||
|
result.feed.link = {
|
||||||
|
$: {
|
||||||
|
rel: "self",
|
||||||
|
href: "/opds-catalogs/root.xml",
|
||||||
|
type: "application/atom+xml;profile=opds-catalog;kind=navigation",
|
||||||
|
},
|
||||||
|
_: "",
|
||||||
|
};
|
||||||
|
const builder = new xml2js.Builder({
|
||||||
|
xmldec: {
|
||||||
|
version: "1.0",
|
||||||
|
encoding: "UTF-8",
|
||||||
|
standalone: false,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
},
|
data = builder.buildObject(result, {
|
||||||
},
|
renderOpts: {
|
||||||
|
pretty: true,
|
||||||
|
indent: " ",
|
||||||
|
newline: "\n",
|
||||||
|
allowEmpty: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return data;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
methods: {},
|
|
||||||
},
|
},
|
||||||
schema
|
},
|
||||||
)
|
methods: {},
|
||||||
);
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,166 +20,157 @@ export default class SettingsService extends Service {
|
|||||||
schema: ServiceSchema<{}> = { name: "search" }
|
schema: ServiceSchema<{}> = { name: "search" }
|
||||||
) {
|
) {
|
||||||
super(broker);
|
super(broker);
|
||||||
this.parseServiceSchema(
|
this.parseServiceSchema({
|
||||||
Service.mergeSchemas(
|
name: "search",
|
||||||
{
|
mixins: [DbMixin("comics", Comic)],
|
||||||
name: "search",
|
hooks: {},
|
||||||
mixins: [DbMixin("comics", Comic)],
|
actions: {
|
||||||
hooks: {},
|
searchComic: {
|
||||||
actions: {
|
rest: "POST /searchComic",
|
||||||
searchComic: {
|
params: {},
|
||||||
rest: "POST /searchComic",
|
timeout: 400000,
|
||||||
params: {},
|
async handler(
|
||||||
timeout: 400000,
|
ctx: Context<{
|
||||||
async handler(
|
queryObjects: [];
|
||||||
ctx: Context<{
|
elasticSearchQueries: [
|
||||||
queryObjects: [];
|
{
|
||||||
elasticSearchQueries: [
|
elasticSearchQuery: object;
|
||||||
{
|
|
||||||
elasticSearchQuery: object;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}>
|
|
||||||
) {
|
|
||||||
const flattenedQueryArray = flatten(
|
|
||||||
ctx.params.elasticSearchQueries
|
|
||||||
);
|
|
||||||
let queries = flattenedQueryArray
|
|
||||||
.map((item) => JSON.stringify(item))
|
|
||||||
.join("\n");
|
|
||||||
queries += "\n";
|
|
||||||
const { body } = await eSClient.msearch({
|
|
||||||
body: queries,
|
|
||||||
});
|
|
||||||
body.responses.forEach((match) => {
|
|
||||||
console.log(match.hits);
|
|
||||||
});
|
|
||||||
|
|
||||||
return body.responses;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
issue: {
|
|
||||||
rest: "POST /searchIssue",
|
|
||||||
params: {},
|
|
||||||
handler: async (
|
|
||||||
ctx: Context<{
|
|
||||||
query: {
|
|
||||||
volumeName: string;
|
|
||||||
issueNumber: string;
|
|
||||||
};
|
|
||||||
pagination: {
|
|
||||||
size: number;
|
|
||||||
from: number;
|
|
||||||
};
|
|
||||||
type: string;
|
|
||||||
}>
|
|
||||||
) => {
|
|
||||||
try {
|
|
||||||
console.log(ctx.params);
|
|
||||||
const { query, pagination } = ctx.params;
|
|
||||||
let eSQuery = {};
|
|
||||||
switch (ctx.params.type) {
|
|
||||||
case "all":
|
|
||||||
Object.assign(eSQuery, {
|
|
||||||
match_all: {},
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "volumeName":
|
|
||||||
Object.assign(eSQuery, {
|
|
||||||
multi_match: {
|
|
||||||
fields: [
|
|
||||||
"rawFileDetails.name",
|
|
||||||
"sourcedMetadata.locg.name",
|
|
||||||
"sourcedMetadata.comicvine.name",
|
|
||||||
"sourcedMetadata.comicvine.volumeInformation.name",
|
|
||||||
],
|
|
||||||
query: query.volumeName,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case "wanted":
|
|
||||||
Object.assign(eSQuery, {
|
|
||||||
bool: {
|
|
||||||
must: {
|
|
||||||
term: {
|
|
||||||
"acquisition.source.wanted":
|
|
||||||
true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case "volumes":
|
|
||||||
Object.assign(eSQuery, {
|
|
||||||
exists: {
|
|
||||||
field: "sourcedMetadata.comicvine.volumeInformation",
|
|
||||||
},
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
console.log(
|
|
||||||
"Searching ElasticSearch index with this query -> "
|
|
||||||
);
|
|
||||||
console.log(
|
|
||||||
JSON.stringify(eSQuery, null, 2)
|
|
||||||
);
|
|
||||||
const result = await eSClient.search(
|
|
||||||
{
|
|
||||||
index: "comics",
|
|
||||||
body: {
|
|
||||||
query: eSQuery,
|
|
||||||
},
|
|
||||||
...pagination,
|
|
||||||
},
|
|
||||||
{ hydrate: true }
|
|
||||||
);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
} catch (error) {
|
|
||||||
return new Errors.MoleculerClientError(
|
|
||||||
"Failed to return data",
|
|
||||||
404,
|
|
||||||
"ElasticSearch error",
|
|
||||||
error
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
},
|
];
|
||||||
},
|
}>
|
||||||
groupIssuesByBundles: {
|
) {
|
||||||
rest: "GET /groupIssuesByBundles",
|
const flattenedQueryArray = flatten(
|
||||||
params: {},
|
ctx.params.elasticSearchQueries
|
||||||
handler: async (
|
);
|
||||||
ctx: Context<{ bundleIds: [] }>
|
let queries = flattenedQueryArray
|
||||||
) => {
|
.map((item) => JSON.stringify(item))
|
||||||
// params: array of bundle IDs
|
.join("\n");
|
||||||
if (!isNil(ctx.params.bundleIds)) {
|
queries += "\n";
|
||||||
return await Comic.find({
|
const { body } = await eSClient.msearch({
|
||||||
"acquisition.directconnect.downloads": {
|
body: queries,
|
||||||
$elemMatch: {
|
});
|
||||||
bundleId: {
|
body.responses.forEach((match) => {
|
||||||
$in: ctx.params.bundleIds,
|
console.log(match.hits);
|
||||||
|
});
|
||||||
|
|
||||||
|
return body.responses;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
issue: {
|
||||||
|
rest: "POST /searchIssue",
|
||||||
|
params: {},
|
||||||
|
handler: async (
|
||||||
|
ctx: Context<{
|
||||||
|
query: {
|
||||||
|
volumeName: string;
|
||||||
|
issueNumber: string;
|
||||||
|
};
|
||||||
|
pagination: {
|
||||||
|
size: number;
|
||||||
|
from: number;
|
||||||
|
};
|
||||||
|
type: string;
|
||||||
|
}>
|
||||||
|
) => {
|
||||||
|
try {
|
||||||
|
console.log(ctx.params);
|
||||||
|
const { query, pagination } = ctx.params;
|
||||||
|
let eSQuery = {};
|
||||||
|
switch (ctx.params.type) {
|
||||||
|
case "all":
|
||||||
|
Object.assign(eSQuery, {
|
||||||
|
match_all: {},
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "volumeName":
|
||||||
|
Object.assign(eSQuery, {
|
||||||
|
multi_match: {
|
||||||
|
fields: [
|
||||||
|
"rawFileDetails.name",
|
||||||
|
"sourcedMetadata.locg.name",
|
||||||
|
"sourcedMetadata.comicvine.name",
|
||||||
|
"sourcedMetadata.comicvine.volumeInformation.name",
|
||||||
|
],
|
||||||
|
query: query.volumeName,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "wanted":
|
||||||
|
Object.assign(eSQuery, {
|
||||||
|
bool: {
|
||||||
|
must: {
|
||||||
|
term: {
|
||||||
|
"acquisition.source.wanted":
|
||||||
|
true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
break;
|
||||||
},
|
case "volumes":
|
||||||
},
|
Object.assign(eSQuery, {
|
||||||
deleteElasticSearchIndices: {
|
exists: {
|
||||||
rest: "GET /deleteElasticSearchIndices",
|
field: "sourcedMetadata.comicvine.volumeInformation",
|
||||||
params: {},
|
},
|
||||||
handler: async (ctx: Context<{}>) => {
|
});
|
||||||
return await eSClient.indices.delete({
|
break;
|
||||||
|
}
|
||||||
|
console.log(
|
||||||
|
"Searching ElasticSearch index with this query -> "
|
||||||
|
);
|
||||||
|
console.log(JSON.stringify(eSQuery, null, 2));
|
||||||
|
const result = await eSClient.search(
|
||||||
|
{
|
||||||
index: "comics",
|
index: "comics",
|
||||||
});
|
body: {
|
||||||
},
|
query: eSQuery,
|
||||||
},
|
},
|
||||||
|
...pagination,
|
||||||
|
},
|
||||||
|
{ hydrate: true }
|
||||||
|
);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
} catch (error) {
|
||||||
|
return new Errors.MoleculerClientError(
|
||||||
|
"Failed to return data",
|
||||||
|
404,
|
||||||
|
"ElasticSearch error",
|
||||||
|
error
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {},
|
|
||||||
},
|
},
|
||||||
schema
|
groupIssuesByBundles: {
|
||||||
)
|
rest: "GET /groupIssuesByBundles",
|
||||||
);
|
params: {},
|
||||||
|
handler: async (ctx: Context<{ bundleIds: [] }>) => {
|
||||||
|
// params: array of bundle IDs
|
||||||
|
if (!isNil(ctx.params.bundleIds)) {
|
||||||
|
return await Comic.find({
|
||||||
|
"acquisition.directconnect.downloads": {
|
||||||
|
$elemMatch: {
|
||||||
|
bundleId: {
|
||||||
|
$in: ctx.params.bundleIds,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
deleteElasticSearchIndices: {
|
||||||
|
rest: "GET /deleteElasticSearchIndices",
|
||||||
|
params: {},
|
||||||
|
handler: async (ctx: Context<{}>) => {
|
||||||
|
return await eSClient.indices.delete({
|
||||||
|
index: "comics",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,91 +18,79 @@ export default class SettingsService extends Service {
|
|||||||
schema: ServiceSchema<{}> = { name: "settings" }
|
schema: ServiceSchema<{}> = { name: "settings" }
|
||||||
) {
|
) {
|
||||||
super(broker);
|
super(broker);
|
||||||
this.parseServiceSchema(
|
this.parseServiceSchema({
|
||||||
Service.mergeSchemas(
|
name: "settings",
|
||||||
{
|
mixins: [DbMixin("settings", Settings)],
|
||||||
name: "settings",
|
settings: {},
|
||||||
mixins: [DbMixin("settings", Settings)],
|
hooks: {},
|
||||||
settings: {},
|
actions: {
|
||||||
hooks: {},
|
getSettings: {
|
||||||
actions: {
|
rest: "GET /getAllSettings",
|
||||||
getSettings: {
|
params: {},
|
||||||
rest: "GET /getAllSettings",
|
async handler(ctx: Context<{ settingsKey: string }>) {
|
||||||
params: {},
|
const settings = await Settings.find({});
|
||||||
async handler(
|
if (isEmpty(settings)) {
|
||||||
ctx: Context<{ settingsKey: string }>
|
return {};
|
||||||
) {
|
}
|
||||||
const settings = await Settings.find({});
|
console.log(settings[0]);
|
||||||
if (isEmpty(settings)) {
|
return settings[0];
|
||||||
return {};
|
|
||||||
}
|
|
||||||
console.log(settings[0]);
|
|
||||||
return settings[0];
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
saveSettings: {
|
|
||||||
rest: "POST /saveSettings",
|
|
||||||
params: {},
|
|
||||||
async handler(
|
|
||||||
ctx: Context<{
|
|
||||||
settingsPayload: {
|
|
||||||
host: object;
|
|
||||||
airDCPPUserSettings: object;
|
|
||||||
hubs: [];
|
|
||||||
};
|
|
||||||
settingsObjectId: string;
|
|
||||||
}>
|
|
||||||
) {
|
|
||||||
console.log("varan bhat", ctx.params);
|
|
||||||
const { host, airDCPPUserSettings, hubs } =
|
|
||||||
ctx.params.settingsPayload;
|
|
||||||
let query = {
|
|
||||||
host,
|
|
||||||
airDCPPUserSettings,
|
|
||||||
hubs,
|
|
||||||
};
|
|
||||||
const keysToUpdate = pickBy(query, identity);
|
|
||||||
let updateQuery = {};
|
|
||||||
|
|
||||||
map(Object.keys(keysToUpdate), (key) => {
|
|
||||||
updateQuery[`directConnect.client.${key}`] =
|
|
||||||
query[key];
|
|
||||||
});
|
|
||||||
const options = {
|
|
||||||
upsert: true,
|
|
||||||
new: true,
|
|
||||||
setDefaultsOnInsert: true,
|
|
||||||
};
|
|
||||||
const filter = {
|
|
||||||
_id: new ObjectId(
|
|
||||||
ctx.params.settingsObjectId
|
|
||||||
),
|
|
||||||
};
|
|
||||||
const result = Settings.findOneAndUpdate(
|
|
||||||
filter,
|
|
||||||
{ $set: updateQuery },
|
|
||||||
options
|
|
||||||
);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
deleteSettings: {
|
|
||||||
rest: "POST /deleteSettings",
|
|
||||||
params: {},
|
|
||||||
async handler(ctx: Context<{}>) {
|
|
||||||
return await Settings.remove(
|
|
||||||
{},
|
|
||||||
(result) => result
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
methods: {},
|
|
||||||
},
|
},
|
||||||
schema
|
|
||||||
)
|
saveSettings: {
|
||||||
);
|
rest: "POST /saveSettings",
|
||||||
|
params: {},
|
||||||
|
async handler(
|
||||||
|
ctx: Context<{
|
||||||
|
settingsPayload: {
|
||||||
|
host: object;
|
||||||
|
airDCPPUserSettings: object;
|
||||||
|
hubs: [];
|
||||||
|
};
|
||||||
|
settingsObjectId: string;
|
||||||
|
}>
|
||||||
|
) {
|
||||||
|
console.log("varan bhat", ctx.params);
|
||||||
|
const { host, airDCPPUserSettings, hubs } =
|
||||||
|
ctx.params.settingsPayload;
|
||||||
|
let query = {
|
||||||
|
host,
|
||||||
|
airDCPPUserSettings,
|
||||||
|
hubs,
|
||||||
|
};
|
||||||
|
const keysToUpdate = pickBy(query, identity);
|
||||||
|
let updateQuery = {};
|
||||||
|
|
||||||
|
map(Object.keys(keysToUpdate), (key) => {
|
||||||
|
updateQuery[`directConnect.client.${key}`] =
|
||||||
|
query[key];
|
||||||
|
});
|
||||||
|
const options = {
|
||||||
|
upsert: true,
|
||||||
|
new: true,
|
||||||
|
setDefaultsOnInsert: true,
|
||||||
|
};
|
||||||
|
const filter = {
|
||||||
|
_id: new ObjectId(ctx.params.settingsObjectId),
|
||||||
|
};
|
||||||
|
const result = Settings.findOneAndUpdate(
|
||||||
|
filter,
|
||||||
|
{ $set: updateQuery },
|
||||||
|
options
|
||||||
|
);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
deleteSettings: {
|
||||||
|
rest: "POST /deleteSettings",
|
||||||
|
params: {},
|
||||||
|
async handler(ctx: Context<{}>) {
|
||||||
|
return await Settings.remove({}, (result) => result);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,70 +12,71 @@ export default class SocketService extends Service {
|
|||||||
schema: ServiceSchema<{}> = { name: "socket" }
|
schema: ServiceSchema<{}> = { name: "socket" }
|
||||||
) {
|
) {
|
||||||
super(broker);
|
super(broker);
|
||||||
this.parseServiceSchema(
|
this.parseServiceSchema({
|
||||||
Service.mergeSchemas(
|
name: "socket",
|
||||||
{
|
mixins: [SocketIOService],
|
||||||
name: "socket",
|
settings: {
|
||||||
mixins: [SocketIOService],
|
port: process.env.PORT || 3001,
|
||||||
settings: {
|
io: {
|
||||||
port: process.env.PORT || 3001,
|
namespaces: {
|
||||||
io: {
|
"/": {
|
||||||
namespaces: {
|
events: {
|
||||||
"/": {
|
call: {
|
||||||
events: {
|
// whitelist: ["math.*", "say.*", "accounts.*", "rooms.*", "io.*"],
|
||||||
call: {
|
},
|
||||||
// whitelist: ["math.*", "say.*", "accounts.*", "rooms.*", "io.*"],
|
action: async (data, ack) => {
|
||||||
},
|
// write your handler function here.
|
||||||
action: async (data, ack) => {
|
switch (data.type) {
|
||||||
// write your handler function here.
|
case "LS_IMPORT":
|
||||||
switch (data.type) {
|
console.log(
|
||||||
case "LS_IMPORT":
|
`Recieved ${data.type} event.`
|
||||||
console.log(
|
);
|
||||||
`Recieved ${data.type} event.`
|
// 1. Send task to queue
|
||||||
);
|
await this.broker.call(
|
||||||
// 1. Send task to queue
|
"library.newImport",
|
||||||
await this.broker.call(
|
data.data,
|
||||||
"library.newImport",
|
{}
|
||||||
data.data,
|
);
|
||||||
{}
|
break;
|
||||||
);
|
case "LS_TOGGLE_IMPORT_QUEUE":
|
||||||
break;
|
await this.broker.call(
|
||||||
case "LS_TOGGLE_IMPORT_QUEUE":
|
"importqueue.toggleImportQueue",
|
||||||
await this.broker.call(
|
data.data,
|
||||||
"importqueue.toggleImportQueue",
|
{}
|
||||||
data.data,
|
);
|
||||||
{}
|
break;
|
||||||
);
|
case "LS_SINGLE_IMPORT":
|
||||||
break;
|
console.info(
|
||||||
case "LS_SINGLE_IMPORT":
|
"AirDC++ finished a download -> "
|
||||||
console.info("AirDC++ finished a download -> ")
|
);
|
||||||
console.log(data);
|
console.log(data);
|
||||||
await this.broker.call("library.importDownloadedFileToLibrary", data.data, {});
|
await this.broker.call(
|
||||||
break;
|
"library.importDownloadedFileToLibrary",
|
||||||
}
|
data.data,
|
||||||
},
|
{}
|
||||||
},
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
|
||||||
options: {
|
|
||||||
adapter: redisAdapter({
|
|
||||||
host: redisURL.hostname,
|
|
||||||
port: 6379,
|
|
||||||
}),
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
hooks: {},
|
options: {
|
||||||
actions: {},
|
adapter: redisAdapter({
|
||||||
methods: {},
|
host: redisURL.hostname,
|
||||||
async started() {
|
port: 6379,
|
||||||
this.io.on("connection", (data) =>
|
}),
|
||||||
console.log("socket.io server initialized.")
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
schema
|
},
|
||||||
)
|
hooks: {},
|
||||||
);
|
actions: {},
|
||||||
|
methods: {},
|
||||||
|
async started() {
|
||||||
|
this.io.on("connection", (data) =>
|
||||||
|
console.log("socket.io server initialized.")
|
||||||
|
);
|
||||||
|
},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user