🔼 Bumped moleculer to 0.14.23

This commit is contained in:
2022-08-18 00:29:25 -07:00
parent b0a7e42461
commit d2c171ab5e
8 changed files with 550 additions and 608 deletions

View File

@@ -225,7 +225,7 @@ const brokerConfig: BrokerOptions = {
middlewares: [],
// Register custom REPL commands.
replCommands: null,
// replCommands: null,
/*
// Called after broker created.
created : (broker: ServiceBroker): void => {},

238
package-lock.json generated
View File

@@ -33,12 +33,12 @@
"leven": "^3.1.0",
"lodash": "^4.17.21",
"mkdirp": "^0.5.5",
"moleculer": "^0.14.19",
"moleculer": "^0.14.23",
"moleculer-bull": "github:rishighan/moleculer-bull",
"moleculer-db": "^0.8.17",
"moleculer-db-adapter-mongo": "^0.4.7",
"moleculer-db-adapter-mongoose": "^0.8.12",
"moleculer-io": "^2.0.0",
"moleculer-io": "^2.1.0",
"moleculer-web": "^0.10.4",
"mongoosastic-ts": "^5.0.7",
"mongoose": "^5.12.7",
@@ -1447,14 +1447,6 @@
"@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": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz",
@@ -2046,9 +2038,9 @@
}
},
"node_modules/args": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/args/-/args-5.0.1.tgz",
"integrity": "sha512-1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ==",
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/args/-/args-5.0.3.tgz",
"integrity": "sha512-h6k/zfFgusnv3i5TU08KQkVKuCPBtL/PWQbWkHUxvJrZ2nAyeaUupneemcrgn1xmqxPQsPIzwkUhOpoqPDRZuA==",
"dependencies": {
"camelcase": "5.0.0",
"chalk": "2.4.2",
@@ -2102,12 +2094,12 @@
"node_modules/args/node_modules/color-name": {
"version": "1.1.3",
"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": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"engines": {
"node": ">=0.8.0"
}
@@ -2115,7 +2107,7 @@
"node_modules/args/node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"engines": {
"node": ">=4"
}
@@ -2123,7 +2115,7 @@
"node_modules/args/node_modules/leven": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
"integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
"integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==",
"engines": {
"node": ">=0.10.0"
}
@@ -3767,9 +3759,9 @@
}
},
"node_modules/engine.io": {
"version": "6.1.3",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
"integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
"integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
"dependencies": {
"@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12",
@@ -3787,12 +3779,9 @@
}
},
"node_modules/engine.io-parser": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
"dependencies": {
"@socket.io/base64-arraybuffer": "~1.0.2"
},
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
"engines": {
"node": ">=10.0.0"
}
@@ -4471,9 +4460,9 @@
"dev": true
},
"node_modules/eventemitter2": {
"version": "6.4.5",
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz",
"integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw=="
"version": "6.4.7",
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
"integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg=="
},
"node_modules/execa": {
"version": "5.1.1",
@@ -7228,9 +7217,9 @@
}
},
"node_modules/kleur": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
"integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==",
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
"engines": {
"node": ">=6"
}
@@ -7828,23 +7817,24 @@
"integrity": "sha1-ilSTsPZzgvv3BcJg4HBDZlWn3Po="
},
"node_modules/moleculer": {
"version": "0.14.19",
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.19.tgz",
"integrity": "sha512-XtZwfYHk2xP6mnTEf2h44OPh/ha0jMqK4bCCROMNRdngBZR2i3LKruZA1SeHUBW+1HtDh2GliAEG7a0rW9VZhg==",
"version": "0.14.23",
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.23.tgz",
"integrity": "sha512-DE84fy8+1QiA7kUkF9ce4nyDdptBDlLFQfsaUccTScMGAbEjye5e+zfoI9iSA9rznwvshC8tgLhbOcnQBMn/HA==",
"dependencies": {
"args": "^5.0.1",
"eventemitter2": "^6.4.5",
"args": "^5.0.3",
"eventemitter2": "^6.4.7",
"fastest-validator": "^1.12.0",
"glob": "^7.2.0",
"ipaddr.js": "^2.0.1",
"kleur": "^4.1.4",
"kleur": "^4.1.5",
"lodash": "^4.17.21",
"lru-cache": "^6.0.0",
"node-fetch": "^2.6.1",
"node-fetch": "^2.6.7",
"recursive-watch": "^1.1.4"
},
"bin": {
"moleculer-runner": "bin/moleculer-runner.js"
"moleculer-runner": "bin/moleculer-runner.js",
"moleculer-runner-esm": "bin/moleculer-runner.mjs"
},
"engines": {
"node": ">= 10.x.x"
@@ -7853,27 +7843,27 @@
"url": "https://github.com/moleculerjs/moleculer?sponsor=1"
},
"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",
"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",
"debug": "^4.0.0",
"etcd3": "^1.0.0",
"ioredis": "^4.0.0",
"ioredis": "^4.0.0 || ^5.0.0",
"jaeger-client": "^3.0.0",
"kafka-node": "^5.0.0",
"log4js": "^6.0.0",
"mqtt": "^4.0.0",
"msgpack5": "^5.0.0",
"msgpack5": "^5.0.0 || ^6.0.0",
"nats": "^1.0.0 || ^2.0.0",
"node-nats-streaming": "^0.0.51 || ^0.2.0 || ^0.3.0",
"notepack.io": "^2.0.0",
"pino": "^6.0.0 || ^7.0.0",
"protobufjs": "^6.0.0",
"notepack.io": "^2.0.0 || ^3.0.0",
"pino": "^6.0.0 || ^7.0.0 || ^8.0.0",
"protobufjs": "^6.0.0 || ^7.0.0",
"redlock": "^4.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"
},
"peerDependenciesMeta": {
@@ -7994,9 +7984,9 @@
}
},
"node_modules/moleculer-db-adapter-mongoose": {
"version": "0.8.12",
"resolved": "https://registry.npmjs.org/moleculer-db-adapter-mongoose/-/moleculer-db-adapter-mongoose-0.8.12.tgz",
"integrity": "sha512-bWxpkHH7YFLoqBYD12Nl7hd/fmF+gVbC9Xc+dtW8QF68hm+iul6yTTcJVVWm7OZ4zRykBuuj6sssqPzsie+MfQ==",
"version": "0.8.14",
"resolved": "https://registry.npmjs.org/moleculer-db-adapter-mongoose/-/moleculer-db-adapter-mongoose-0.8.14.tgz",
"integrity": "sha512-XKESD8BzxbQaP52PcHPt5kFz5mC5epGPq8IiXQp9hbPkkpERp1RJIbMGLFQyeAx7wlNxASAMEAxq0uEUMqulDQ==",
"dependencies": {
"bluebird": "^3.7.2",
"lodash": "^4.17.21"
@@ -8010,13 +8000,13 @@
}
},
"node_modules/moleculer-io": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/moleculer-io/-/moleculer-io-2.0.0.tgz",
"integrity": "sha512-de/t7cG5at5KYPiukkR+cEnZ0nb0xRmSHkCoLrd7mmHfNI8+FwoUbg1fE2+Yt5aoEnVhpvY7UE2x8qcBOT6T3w==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/moleculer-io/-/moleculer-io-2.1.0.tgz",
"integrity": "sha512-lekTCMc5ZVZ/h/vfKISRkOQWTmBpOJHa1lqmoGt6asCaQv78V+Q9/I1qw56gYOVD1vNlkCsS6ZkZPUW6Z35Y/w==",
"dependencies": {
"kleur": "^4.1.4",
"kleur": "^4.1.5",
"lodash": "^4.17.21",
"socket.io": "^4.4.1"
"socket.io": "^4.5.1"
},
"engines": {
"node": ">= 10.x.x"
@@ -8072,9 +8062,9 @@
}
},
"node_modules/moment": {
"version": "2.29.3",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
"engines": {
"node": "*"
}
@@ -12674,15 +12664,15 @@
}
},
"node_modules/socket.io": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
"integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
"dependencies": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"debug": "~4.3.2",
"engine.io": "~6.1.0",
"socket.io-adapter": "~2.3.3",
"engine.io": "~6.2.0",
"socket.io-adapter": "~2.4.0",
"socket.io-parser": "~4.0.4"
},
"engines": {
@@ -12690,14 +12680,14 @@
}
},
"node_modules/socket.io-adapter": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
},
"node_modules/socket.io-parser": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
"integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
"dependencies": {
"@types/component-emitter": "^1.2.10",
"component-emitter": "~1.3.0",
@@ -13785,7 +13775,7 @@
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"engines": {
"node": ">= 0.8"
}
@@ -15283,11 +15273,6 @@
"@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": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz",
@@ -15746,9 +15731,9 @@
}
},
"args": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/args/-/args-5.0.1.tgz",
"integrity": "sha512-1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ==",
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/args/-/args-5.0.3.tgz",
"integrity": "sha512-h6k/zfFgusnv3i5TU08KQkVKuCPBtL/PWQbWkHUxvJrZ2nAyeaUupneemcrgn1xmqxPQsPIzwkUhOpoqPDRZuA==",
"requires": {
"camelcase": "5.0.0",
"chalk": "2.4.2",
@@ -15790,22 +15775,22 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"escape-string-regexp": {
"version": "1.0.5",
"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": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
},
"leven": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
"integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA="
"integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA=="
},
"supports-color": {
"version": "5.5.0",
@@ -17078,9 +17063,9 @@
}
},
"engine.io": {
"version": "6.1.3",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz",
"integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
"integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
"requires": {
"@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12",
@@ -17103,12 +17088,9 @@
}
},
"engine.io-parser": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz",
"integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==",
"requires": {
"@socket.io/base64-arraybuffer": "~1.0.2"
}
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
},
"enquirer": {
"version": "2.3.6",
@@ -17659,9 +17641,9 @@
}
},
"eventemitter2": {
"version": "6.4.5",
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz",
"integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw=="
"version": "6.4.7",
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
"integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg=="
},
"execa": {
"version": "5.1.1",
@@ -19759,9 +19741,9 @@
"integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw=="
},
"kleur": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
"integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA=="
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="
},
"leven": {
"version": "3.1.0",
@@ -20294,19 +20276,19 @@
"integrity": "sha1-ilSTsPZzgvv3BcJg4HBDZlWn3Po="
},
"moleculer": {
"version": "0.14.19",
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.19.tgz",
"integrity": "sha512-XtZwfYHk2xP6mnTEf2h44OPh/ha0jMqK4bCCROMNRdngBZR2i3LKruZA1SeHUBW+1HtDh2GliAEG7a0rW9VZhg==",
"version": "0.14.23",
"resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.23.tgz",
"integrity": "sha512-DE84fy8+1QiA7kUkF9ce4nyDdptBDlLFQfsaUccTScMGAbEjye5e+zfoI9iSA9rznwvshC8tgLhbOcnQBMn/HA==",
"requires": {
"args": "^5.0.1",
"eventemitter2": "^6.4.5",
"args": "^5.0.3",
"eventemitter2": "^6.4.7",
"fastest-validator": "^1.12.0",
"glob": "^7.2.0",
"ipaddr.js": "^2.0.1",
"kleur": "^4.1.4",
"kleur": "^4.1.5",
"lodash": "^4.17.21",
"lru-cache": "^6.0.0",
"node-fetch": "^2.6.1",
"node-fetch": "^2.6.7",
"recursive-watch": "^1.1.4"
}
},
@@ -20340,22 +20322,22 @@
}
},
"moleculer-db-adapter-mongoose": {
"version": "0.8.12",
"resolved": "https://registry.npmjs.org/moleculer-db-adapter-mongoose/-/moleculer-db-adapter-mongoose-0.8.12.tgz",
"integrity": "sha512-bWxpkHH7YFLoqBYD12Nl7hd/fmF+gVbC9Xc+dtW8QF68hm+iul6yTTcJVVWm7OZ4zRykBuuj6sssqPzsie+MfQ==",
"version": "0.8.14",
"resolved": "https://registry.npmjs.org/moleculer-db-adapter-mongoose/-/moleculer-db-adapter-mongoose-0.8.14.tgz",
"integrity": "sha512-XKESD8BzxbQaP52PcHPt5kFz5mC5epGPq8IiXQp9hbPkkpERp1RJIbMGLFQyeAx7wlNxASAMEAxq0uEUMqulDQ==",
"requires": {
"bluebird": "^3.7.2",
"lodash": "^4.17.21"
}
},
"moleculer-io": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/moleculer-io/-/moleculer-io-2.0.0.tgz",
"integrity": "sha512-de/t7cG5at5KYPiukkR+cEnZ0nb0xRmSHkCoLrd7mmHfNI8+FwoUbg1fE2+Yt5aoEnVhpvY7UE2x8qcBOT6T3w==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/moleculer-io/-/moleculer-io-2.1.0.tgz",
"integrity": "sha512-lekTCMc5ZVZ/h/vfKISRkOQWTmBpOJHa1lqmoGt6asCaQv78V+Q9/I1qw56gYOVD1vNlkCsS6ZkZPUW6Z35Y/w==",
"requires": {
"kleur": "^4.1.4",
"kleur": "^4.1.5",
"lodash": "^4.17.21",
"socket.io": "^4.4.1"
"socket.io": "^4.5.1"
}
},
"moleculer-repl": {
@@ -20396,9 +20378,9 @@
}
},
"moment": {
"version": "2.29.3",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
},
"mongodb": {
"version": "3.7.3",
@@ -23684,27 +23666,27 @@
"integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ=="
},
"socket.io": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz",
"integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==",
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
"integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
"requires": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"debug": "~4.3.2",
"engine.io": "~6.1.0",
"socket.io-adapter": "~2.3.3",
"engine.io": "~6.2.0",
"socket.io-adapter": "~2.4.0",
"socket.io-parser": "~4.0.4"
}
},
"socket.io-adapter": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz",
"integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ=="
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
},
"socket.io-parser": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
"integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz",
"integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==",
"requires": {
"@types/component-emitter": "^1.2.10",
"component-emitter": "~1.3.0",
@@ -24590,7 +24572,7 @@
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
},
"verror": {
"version": "1.10.0",

View File

@@ -61,12 +61,12 @@
"leven": "^3.1.0",
"lodash": "^4.17.21",
"mkdirp": "^0.5.5",
"moleculer": "^0.14.19",
"moleculer": "^0.14.23",
"moleculer-bull": "github:rishighan/moleculer-bull",
"moleculer-db": "^0.8.17",
"moleculer-db-adapter-mongo": "^0.4.7",
"moleculer-db-adapter-mongoose": "^0.8.12",
"moleculer-io": "^2.0.0",
"moleculer-io": "^2.1.0",
"moleculer-web": "^0.10.4",
"mongoosastic-ts": "^5.0.7",
"mongoose": "^5.12.7",

View File

@@ -20,76 +20,68 @@ export default class ImageTransformation extends Service {
schema: ServiceSchema<{}> = { name: "imagetransformation" }
) {
super(broker);
this.parseServiceSchema(
Service.mergeSchemas(
{
name: "imagetransformation",
mixins: [],
settings: {
// Available fields in the responses
fields: ["_id", "name", "quantity", "price"],
this.parseServiceSchema({
name: "imagetransformation",
mixins: [],
settings: {
// Available fields in the responses
fields: ["_id", "name", "quantity", "price"],
// Validator for the `create` & `insert` actions.
entityValidator: {
name: "string|min:3",
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: {},
// Validator for the `create` & `insert` actions.
entityValidator: {
name: "string|min:3",
price: "number|positive",
},
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: {},
});
}
}

View File

@@ -21,120 +21,108 @@ export default class OpdsService extends Service {
schema: ServiceSchema<{}> = { name: "opds" }
) {
super(broker);
this.parseServiceSchema(
Service.mergeSchemas(
{
name: "opds",
mixins: [],
settings: {
port: process.env.PORT || 3001,
},
hooks: {},
actions: {
serve: {
rest: "POST /serve",
handler: async (ctx) => {
return buildAsync(
initMain({
title: `title`,
subtitle: `subtitle`,
icon: "/favicon.ico",
}),
[
async (feed: Feed) => {
feed.id =
"urn:uuid:2853dacf-ed79-42f5-8e8a-a7bb3d1ae6a2";
feed.books = feed.books || [];
await FastGlob(
[
"*.cbr",
"*.cbz",
"*.cb7",
"*.cba",
"*.cbt",
],
{
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,
},
});
this.parseServiceSchema({
name: "opds",
mixins: [],
settings: {
port: process.env.PORT || 3001,
},
hooks: {},
actions: {
serve: {
rest: "POST /serve",
handler: async (ctx) => {
return buildAsync(
initMain({
title: `title`,
subtitle: `subtitle`,
icon: "/favicon.ico",
}),
[
async (feed: Feed) => {
feed.id =
"urn:uuid:2853dacf-ed79-42f5-8e8a-a7bb3d1ae6a2";
feed.books = feed.books || [];
await FastGlob(
[
"*.cbr",
"*.cbz",
"*.cb7",
"*.cba",
"*.cbt",
],
{
cwd: COMICS_DIRECTORY,
}
);
return data;
).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,
},
});
});
return data;
});
},
methods: {},
},
schema
)
);
},
methods: {},
});
}
}
}

View File

@@ -20,166 +20,157 @@ export default class SettingsService extends Service {
schema: ServiceSchema<{}> = { name: "search" }
) {
super(broker);
this.parseServiceSchema(
Service.mergeSchemas(
{
name: "search",
mixins: [DbMixin("comics", Comic)],
hooks: {},
actions: {
searchComic: {
rest: "POST /searchComic",
params: {},
timeout: 400000,
async handler(
ctx: Context<{
queryObjects: [];
elasticSearchQueries: [
{
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
);
this.parseServiceSchema({
name: "search",
mixins: [DbMixin("comics", Comic)],
hooks: {},
actions: {
searchComic: {
rest: "POST /searchComic",
params: {},
timeout: 400000,
async handler(
ctx: Context<{
queryObjects: [];
elasticSearchQueries: [
{
elasticSearchQuery: object;
}
},
},
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,
];
}>
) {
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,
},
},
},
});
}
},
},
deleteElasticSearchIndices: {
rest: "GET /deleteElasticSearchIndices",
params: {},
handler: async (ctx: Context<{}>) => {
return await eSClient.indices.delete({
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
);
}
},
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: {},
});
}
}

View File

@@ -18,91 +18,79 @@ export default class SettingsService extends Service {
schema: ServiceSchema<{}> = { name: "settings" }
) {
super(broker);
this.parseServiceSchema(
Service.mergeSchemas(
{
name: "settings",
mixins: [DbMixin("settings", Settings)],
settings: {},
hooks: {},
actions: {
getSettings: {
rest: "GET /getAllSettings",
params: {},
async handler(
ctx: Context<{ settingsKey: string }>
) {
const settings = await Settings.find({});
if (isEmpty(settings)) {
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
);
},
},
this.parseServiceSchema({
name: "settings",
mixins: [DbMixin("settings", Settings)],
settings: {},
hooks: {},
actions: {
getSettings: {
rest: "GET /getAllSettings",
params: {},
async handler(ctx: Context<{ settingsKey: string }>) {
const settings = await Settings.find({});
if (isEmpty(settings)) {
return {};
}
console.log(settings[0]);
return settings[0];
},
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: {},
});
}
}

View File

@@ -12,70 +12,71 @@ export default class SocketService extends Service {
schema: ServiceSchema<{}> = { name: "socket" }
) {
super(broker);
this.parseServiceSchema(
Service.mergeSchemas(
{
name: "socket",
mixins: [SocketIOService],
settings: {
port: process.env.PORT || 3001,
io: {
namespaces: {
"/": {
events: {
call: {
// whitelist: ["math.*", "say.*", "accounts.*", "rooms.*", "io.*"],
},
action: async (data, ack) => {
// write your handler function here.
switch (data.type) {
case "LS_IMPORT":
console.log(
`Recieved ${data.type} event.`
);
// 1. Send task to queue
await this.broker.call(
"library.newImport",
data.data,
{}
);
break;
case "LS_TOGGLE_IMPORT_QUEUE":
await this.broker.call(
"importqueue.toggleImportQueue",
data.data,
{}
);
break;
case "LS_SINGLE_IMPORT":
console.info("AirDC++ finished a download -> ")
console.log(data);
await this.broker.call("library.importDownloadedFileToLibrary", data.data, {});
break;
}
},
},
this.parseServiceSchema({
name: "socket",
mixins: [SocketIOService],
settings: {
port: process.env.PORT || 3001,
io: {
namespaces: {
"/": {
events: {
call: {
// whitelist: ["math.*", "say.*", "accounts.*", "rooms.*", "io.*"],
},
action: async (data, ack) => {
// write your handler function here.
switch (data.type) {
case "LS_IMPORT":
console.log(
`Recieved ${data.type} event.`
);
// 1. Send task to queue
await this.broker.call(
"library.newImport",
data.data,
{}
);
break;
case "LS_TOGGLE_IMPORT_QUEUE":
await this.broker.call(
"importqueue.toggleImportQueue",
data.data,
{}
);
break;
case "LS_SINGLE_IMPORT":
console.info(
"AirDC++ finished a download -> "
);
console.log(data);
await this.broker.call(
"library.importDownloadedFileToLibrary",
data.data,
{}
);
break;
}
},
},
options: {
adapter: redisAdapter({
host: redisURL.hostname,
port: 6379,
}),
},
},
},
hooks: {},
actions: {},
methods: {},
async started() {
this.io.on("connection", (data) =>
console.log("socket.io server initialized.")
);
options: {
adapter: redisAdapter({
host: redisURL.hostname,
port: 6379,
}),
},
},
schema
)
);
},
hooks: {},
actions: {},
methods: {},
async started() {
this.io.on("connection", (data) =>
console.log("socket.io server initialized.")
);
},
});
}
}