From 34266c9d486c5bcbf11de92e6e9f353cba82da71 Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Thu, 27 Jan 2022 20:30:32 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Fixes=20to=20transporter=20confi?= =?UTF-8?q?guration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- moleculer.config.ts | 4 +- package-lock.json | 298 +++++++++++++++++----------------- package.json | 12 +- services/comicvine.service.ts | 8 +- 4 files changed, 163 insertions(+), 159 deletions(-) diff --git a/moleculer.config.ts b/moleculer.config.ts index ae823ac..e4576a7 100644 --- a/moleculer.config.ts +++ b/moleculer.config.ts @@ -35,7 +35,7 @@ const brokerConfig: BrokerOptions = { // Namespace of nodes to segment your nodes on the same network. namespace: "", // Unique node identifier. Must be unique in a namespace. - nodeID: null, + nodeID: "threetwo-metadata-service", // Custom metadata store. Store here what you want. Accessing: `this.broker.metadata` metadata: {}, @@ -64,7 +64,7 @@ const brokerConfig: BrokerOptions = { // More info: https://moleculer.services/docs/0.14/networking.html // Note: During the development, you don't need to define it because all services will be loaded locally. // In production you can set it via `TRANSPORTER=nats://localhost:4222` environment variable. - transporter: "redis", // "NATS" + transporter: "redis://localhost:6379", // "NATS" // Define a cacher. // More info: https://moleculer.services/docs/0.14/caching.html diff --git a/package-lock.json b/package-lock.json index 90f2bff..c7d1b31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "comicvine-service", + "name": "threetwo-metadata-service", "version": "0.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "comicvine-service", + "name": "threetwo-metadata-service", "version": "0.0.2", "dependencies": { "@types/axios": "^0.14.0", @@ -20,8 +20,8 @@ "ioredis": "^4.28.1", "leven": "^3.1.0", "lodash": "^4.17.21", - "moleculer": "^0.14.0", - "moleculer-web": "^0.9.0", + "moleculer": "^0.14.19", + "moleculer-web": "^0.10.4", "nats": "^1.3.2", "query-string": "^7.0.1", "string-similarity": "^4.0.4", @@ -639,6 +639,17 @@ "@canvas/image-data": "^1.0.0" } }, + "node_modules/@fastify/busboy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-1.0.0.tgz", + "integrity": "sha512-tzTXX1TFEjWCseEsNdIlXXkD+48uJoN+zpqIojUX4pSoMscsbhO/UuVEB5SzJucexqDWOo2ma0ECwdD7hZdrzg==", + "dependencies": { + "text-decoding": "^1.0.0" + }, + "engines": { + "node": ">=10.17.0" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -2503,17 +2514,6 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "node_modules/busboy": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", - "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", - "dependencies": { - "dicer": "0.3.0" - }, - "engines": { - "node": ">=4.5.0" - } - }, "node_modules/bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", @@ -3176,17 +3176,6 @@ "node": ">=8" } }, - "node_modules/dicer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", - "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", - "dependencies": { - "streamsearch": "0.1.2" - }, - "engines": { - "node": ">=4.5.0" - } - }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -3829,9 +3818,9 @@ "dev": true }, "node_modules/eventemitter2": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.4.tgz", - "integrity": "sha512-HLU3NDY6wARrLCEwyGKRBvuWYyvW6mHYv72SJJAH3iJN3a6eVUvkjFkcxah1bcTgGVBBrFdIopBJPhCQFMLyXw==" + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", + "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==" }, "node_modules/exec-sh": { "version": "0.3.6", @@ -4252,9 +4241,9 @@ "dev": true }, "node_modules/fastest-validator": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.11.1.tgz", - "integrity": "sha512-y0pXBCgGfY3mqbBL9sn2LtAxfJICyOr5cuOnCjyiKg4VoXVmDaLBDwnnj4QC1pSY5B4upln5k8RyLszlLXzXlw==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.12.0.tgz", + "integrity": "sha512-Qc7oCVO9hAPz5GUONmToIoa95YWzoe7SLsrjIXTfCFf6HFQXxxWePXe8D+Kp/XCrr5H/pMJwP2xprW07wYv/BQ==" }, "node_modules/fb-watchman": { "version": "2.0.1", @@ -4352,18 +4341,10 @@ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "node_modules/fn-args": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fn-args/-/fn-args-5.0.0.tgz", - "integrity": "sha512-CtbfI3oFFc3nbdIoHycrfbrxiGgxXBXXuyOl49h47JawM1mYrqpiRqnH5CB2mBatdXvHHOUO6a+RiAuuvKt0lw==", - "engines": { - "node": ">=8" - } - }, "node_modules/follow-redirects": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", - "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==", + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", + "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", "funding": [ { "type": "individual", @@ -4535,9 +4516,9 @@ } }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7981,16 +7962,14 @@ } }, "node_modules/moleculer": { - "version": "0.14.16", - "resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.16.tgz", - "integrity": "sha512-MbHMsKh+sEJeu5/ANnjt23bDciDMTuhmh+AYUWMUbEbEBK2axhSEYtb3LK7Mf4WD4tatRHQQ+HdZ+KySo7K4+Q==", + "version": "0.14.19", + "resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.19.tgz", + "integrity": "sha512-XtZwfYHk2xP6mnTEf2h44OPh/ha0jMqK4bCCROMNRdngBZR2i3LKruZA1SeHUBW+1HtDh2GliAEG7a0rW9VZhg==", "dependencies": { "args": "^5.0.1", - "es6-error": "^4.1.1", - "eventemitter2": "^6.4.4", - "fastest-validator": "^1.11.1", - "fn-args": "^5.0.0", - "glob": "^7.1.7", + "eventemitter2": "^6.4.5", + "fastest-validator": "^1.12.0", + "glob": "^7.2.0", "ipaddr.js": "^2.0.1", "kleur": "^4.1.4", "lodash": "^4.17.21", @@ -8008,11 +7987,11 @@ "url": "https://github.com/moleculerjs/moleculer?sponsor=1" }, "peerDependencies": { - "amqplib": "^0.7.0", + "amqplib": "^0.7.0 || ^0.8.0", "avsc": "^5.0.0", "bunyan": "^1.0.0", - "cbor-x": "^0.8.3", - "dd-trace": "^0.33.0", + "cbor-x": "^0.8.3 || ^0.9.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", @@ -8022,9 +8001,9 @@ "mqtt": "^4.0.0", "msgpack5": "^5.0.0", "nats": "^1.0.0 || ^2.0.0", - "node-nats-streaming": "^0.0.51 || ^0.3.0", - "notepack.io": "2.0.0", - "pino": "^6.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", "redlock": "^4.0.0", "rhea-promise": "^1.0.0 || ^2.0.0", @@ -8260,20 +8239,20 @@ } }, "node_modules/moleculer-web": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/moleculer-web/-/moleculer-web-0.9.1.tgz", - "integrity": "sha512-sq/NH4amE58mxaTl1JD7ohNpFqkE9K7VT9xkQKtonROjdf23imxz3r8WTh6zJv/FzmuklULlgf+LdIiPFZtI5A==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/moleculer-web/-/moleculer-web-0.10.4.tgz", + "integrity": "sha512-WU5jZRoH53D3Cx2eBPFPlY5+7RI4teb5nlupRZO0N9vkRblGIFm4ySahZxBN4xVXvFSF5EWt/j1BdQr5rBocVw==", "dependencies": { + "@fastify/busboy": "^1.0.0", "body-parser": "^1.19.0", - "busboy": "^0.3.1", "es6-error": "^4.1.1", "etag": "^1.8.1", "fresh": "^0.5.2", "isstream": "^0.1.2", - "kleur": "^3.0.3", - "lodash": "^4.17.15", + "kleur": "^4.1.4", + "lodash": "^4.17.21", "path-to-regexp": "^3.1.0", - "qs": "^6.9.1", + "qs": "^6.10.1", "serve-static": "^1.14.1" }, "engines": { @@ -8283,14 +8262,6 @@ "moleculer": "^0.13.0 || ^0.14.0" } }, - "node_modules/moleculer-web/node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, "node_modules/mri": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", @@ -8369,11 +8340,41 @@ "dev": true }, "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "node_modules/node-int64": { @@ -10600,14 +10601,6 @@ "node": ">=0.10.0" } }, - "node_modules/streamsearch": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", - "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -10859,6 +10852,11 @@ "node": ">=8" } }, + "node_modules/text-decoding": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-decoding/-/text-decoding-1.0.0.tgz", + "integrity": "sha512-/0TJD42KDnVwKmDK6jj3xP7E2MG7SHAOG4tyTgyUCRPdHwvkquYNLEQltmdMa3owq3TkddCVcTsoctJI8VQNKA==" + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -12342,6 +12340,14 @@ "@canvas/image-data": "^1.0.0" } }, + "@fastify/busboy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-1.0.0.tgz", + "integrity": "sha512-tzTXX1TFEjWCseEsNdIlXXkD+48uJoN+zpqIojUX4pSoMscsbhO/UuVEB5SzJucexqDWOo2ma0ECwdD7hZdrzg==", + "requires": { + "text-decoding": "^1.0.0" + } + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -13812,14 +13818,6 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "busboy": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", - "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", - "requires": { - "dicer": "0.3.0" - } - }, "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", @@ -14343,14 +14341,6 @@ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, - "dicer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", - "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", - "requires": { - "streamsearch": "0.1.2" - } - }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -14896,9 +14886,9 @@ } }, "eventemitter2": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.4.tgz", - "integrity": "sha512-HLU3NDY6wARrLCEwyGKRBvuWYyvW6mHYv72SJJAH3iJN3a6eVUvkjFkcxah1bcTgGVBBrFdIopBJPhCQFMLyXw==" + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", + "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==" }, "exec-sh": { "version": "0.3.6", @@ -15244,9 +15234,9 @@ "dev": true }, "fastest-validator": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.11.1.tgz", - "integrity": "sha512-y0pXBCgGfY3mqbBL9sn2LtAxfJICyOr5cuOnCjyiKg4VoXVmDaLBDwnnj4QC1pSY5B4upln5k8RyLszlLXzXlw==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/fastest-validator/-/fastest-validator-1.12.0.tgz", + "integrity": "sha512-Qc7oCVO9hAPz5GUONmToIoa95YWzoe7SLsrjIXTfCFf6HFQXxxWePXe8D+Kp/XCrr5H/pMJwP2xprW07wYv/BQ==" }, "fb-watchman": { "version": "2.0.1", @@ -15320,15 +15310,10 @@ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "fn-args": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fn-args/-/fn-args-5.0.0.tgz", - "integrity": "sha512-CtbfI3oFFc3nbdIoHycrfbrxiGgxXBXXuyOl49h47JawM1mYrqpiRqnH5CB2mBatdXvHHOUO6a+RiAuuvKt0lw==" - }, "follow-redirects": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", - "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==" + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", + "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==" }, "for-in": { "version": "1.0.2", @@ -15443,9 +15428,9 @@ } }, "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -18051,16 +18036,14 @@ } }, "moleculer": { - "version": "0.14.16", - "resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.16.tgz", - "integrity": "sha512-MbHMsKh+sEJeu5/ANnjt23bDciDMTuhmh+AYUWMUbEbEBK2axhSEYtb3LK7Mf4WD4tatRHQQ+HdZ+KySo7K4+Q==", + "version": "0.14.19", + "resolved": "https://registry.npmjs.org/moleculer/-/moleculer-0.14.19.tgz", + "integrity": "sha512-XtZwfYHk2xP6mnTEf2h44OPh/ha0jMqK4bCCROMNRdngBZR2i3LKruZA1SeHUBW+1HtDh2GliAEG7a0rW9VZhg==", "requires": { "args": "^5.0.1", - "es6-error": "^4.1.1", - "eventemitter2": "^6.4.4", - "fastest-validator": "^1.11.1", - "fn-args": "^5.0.0", - "glob": "^7.1.7", + "eventemitter2": "^6.4.5", + "fastest-validator": "^1.12.0", + "glob": "^7.2.0", "ipaddr.js": "^2.0.1", "kleur": "^4.1.4", "lodash": "^4.17.21", @@ -18194,28 +18177,21 @@ } }, "moleculer-web": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/moleculer-web/-/moleculer-web-0.9.1.tgz", - "integrity": "sha512-sq/NH4amE58mxaTl1JD7ohNpFqkE9K7VT9xkQKtonROjdf23imxz3r8WTh6zJv/FzmuklULlgf+LdIiPFZtI5A==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/moleculer-web/-/moleculer-web-0.10.4.tgz", + "integrity": "sha512-WU5jZRoH53D3Cx2eBPFPlY5+7RI4teb5nlupRZO0N9vkRblGIFm4ySahZxBN4xVXvFSF5EWt/j1BdQr5rBocVw==", "requires": { + "@fastify/busboy": "^1.0.0", "body-parser": "^1.19.0", - "busboy": "^0.3.1", "es6-error": "^4.1.1", "etag": "^1.8.1", "fresh": "^0.5.2", "isstream": "^0.1.2", - "kleur": "^3.0.3", - "lodash": "^4.17.15", + "kleur": "^4.1.4", + "lodash": "^4.17.21", "path-to-regexp": "^3.1.0", - "qs": "^6.9.1", + "qs": "^6.10.1", "serve-static": "^1.14.1" - }, - "dependencies": { - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - } } }, "mri": { @@ -18281,9 +18257,33 @@ "dev": true }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } }, "node-int64": { "version": "0.4.0", @@ -20026,11 +20026,6 @@ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", "dev": true }, - "streamsearch": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", - "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" - }, "strict-uri-encode": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", @@ -20214,6 +20209,11 @@ "minimatch": "^3.0.4" } }, + "text-decoding": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-decoding/-/text-decoding-1.0.0.tgz", + "integrity": "sha512-/0TJD42KDnVwKmDK6jj3xP7E2MG7SHAOG4tyTgyUCRPdHwvkquYNLEQltmdMa3owq3TkddCVcTsoctJI8VQNKA==" + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", diff --git a/package.json b/package.json index b7c30f5..a0dff49 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { - "name": "comicvine-service", + "name": "threetwo-metadata-service", "version": "0.0.2", - "description": "A facade for ComicVine API, for use with ThreeTwo!", + "description": "A facade for ComicVine API, and others for ThreeTwo", "scripts": { "build": "tsc --build tsconfig.json", - "dev": "ts-node ./node_modules/moleculer/bin/moleculer-runner.js --envfile .env/service.env --hot --repl --config moleculer.config.ts services/**/*.service.ts", - "start": "moleculer-runner --envfile .env/service.env --config dist/moleculer.config.js dist/**/*.service.js", + "dev": "ts-node ./node_modules/moleculer/bin/moleculer-runner.js --hot --repl --config moleculer.config.ts services/**/*.service.ts", + "start": "moleculer-runner --config dist/moleculer.config.js dist/**/*.service.js", "cli": "moleculer connect NATS", "ci": "jest --watch", "test": "jest --coverage", @@ -47,8 +47,8 @@ "ioredis": "^4.28.1", "leven": "^3.1.0", "lodash": "^4.17.21", - "moleculer": "^0.14.0", - "moleculer-web": "^0.9.0", + "moleculer": "^0.14.19", + "moleculer-web": "^0.10.4", "nats": "^1.3.2", "query-string": "^7.0.1", "string-similarity": "^4.0.4", diff --git a/services/comicvine.service.ts b/services/comicvine.service.ts index a87713b..066f7f5 100644 --- a/services/comicvine.service.ts +++ b/services/comicvine.service.ts @@ -3,6 +3,7 @@ import { Service, ServiceBroker, Context } from "moleculer"; import axios from "axios"; import { matchScorer, rankVolumes } from "../utils/searchmatchscorer.utils"; +import { isNil } from "lodash"; const CV_BASE_URL = "https://comicvine.gamespot.com/api/"; console.log("ComicVine API Key: ", process.env.COMICVINE_API_KEY); @@ -115,8 +116,11 @@ export default class ComicVineService extends Service { }); // 2b. cover_date:2014-01-01|2016-12-31 for the issue year 2015 - const issueYear = parseInt(ctx.params.scorerConfiguration.searchParams.searchTerms.year, 10); - const coverDateFilter = `cover_date:${issueYear - 1}-01-01|${issueYear + 1}-12-31`; + let coverDateFilter = ""; + if(!isNil(ctx.params.scorerConfiguration.searchParams.searchTerms.year)) { + const issueYear = parseInt(ctx.params.scorerConfiguration.searchParams.searchTerms.year, 10); + coverDateFilter = `cover_date:${issueYear - 1}-01-01|${issueYear + 1}-12-31`; + } const filterString = `issue_number:${ctx.params.scorerConfiguration.searchParams.searchTerms.number},${volumeIdString},${coverDateFilter}`; console.log(filterString);