From d2e5a7664d925ce41a07e25f4d5efca3457dec44 Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Sun, 13 Feb 2022 22:25:26 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Removed=20axios-cache-adapter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 24 +++++----- services/comicvine.service.ts | 84 ++++++++++++++++++++++++----------- 2 files changed, 69 insertions(+), 39 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6f3be1..d04a47b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4321,9 +4321,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.14.7", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", - "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", + "version": "1.14.8", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", + "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==", "funding": [ { "type": "individual", @@ -10076,9 +10076,9 @@ ] }, "node_modules/simple-get": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", - "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", "dependencies": { "decompress-response": "^4.2.0", "once": "^1.3.1", @@ -15252,9 +15252,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.7", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", - "integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==" + "version": "1.14.8", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", + "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" }, "for-in": { "version": "1.0.2", @@ -19552,9 +19552,9 @@ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" }, "simple-get": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", - "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", "requires": { "decompress-response": "^4.2.0", "once": "^1.3.1", diff --git a/services/comicvine.service.ts b/services/comicvine.service.ts index dd1af13..bcf01cf 100644 --- a/services/comicvine.service.ts +++ b/services/comicvine.service.ts @@ -4,6 +4,7 @@ import { Service, ServiceBroker, Context } from "moleculer"; import axios from "axios"; import delay from "delay"; import { isNil, isUndefined } from "lodash"; + import { matchScorer, rankVolumes } from "../utils/searchmatchscorer.utils"; const CV_BASE_URL = "https://comicvine.gamespot.com/api/"; @@ -77,30 +78,60 @@ export default class ComicVineService extends Service { ); // 2. Query CV and get metadata for them - const issuesPromises = await comicBookDetails.sourcedMetadata.comicvine.volumeInformation.issues.map( - async (issue: any, idx: any) => { - await delay(1000); - const metadata: any = await axios.request({ - url: `${issue.api_detail_url}?api_key=${process.env.COMICVINE_API_KEY}`, - params: { - resources: "issues", - limit: "100", - format: "json", - }, - headers: { - "User-Agent": "ThreeTwo", - }, - }); - const issueMetadata = metadata.data.results; + const issuesPromises = + await comicBookDetails.sourcedMetadata.comicvine.volumeInformation.issues.map( + async (issue: any, idx: any) => { + await delay(1000); + const metadata: any = await axios.request({ + url: `${issue.api_detail_url}?api_key=${process.env.COMICVINE_API_KEY}`, + params: { + resources: "issues", + limit: "100", + format: "json", + }, + headers: { + "User-Agent": "ThreeTwo", + }, + }); + const issueMetadata = metadata.data.results; - // 3. Just return the issues - return issueMetadata; - } - ); + // 3. Just return the issues + return issueMetadata; + } + ); return Promise.all(issuesPromises); }, }, + getWeeklyPullList: { + rest: "GET /getWeeklyPullList", + params: {}, + timeout: 10000000, + handler: async ( + ctx: Context<{ + startDate: string; + endDate: string; + }> + ) => { + const dateFilter = `store_date: ${ctx.params.startDate} | ${ctx.params.endDate}`; + console.log(dateFilter); + + // Get issues for that date + const result = await axios({ + url: `https://comicvine.gamespot.com/api/issues?api_key=${process.env.COMICVINE_API_KEY}`, + method: "get", + params: { + resources: "issues", + limit: "5", + format: "json", + filter: dateFilter, + }, + headers: { "User-Agent": "ThreeTwo" }, + }); + + return result.data; + }, + }, volumeBasedSearch: { rest: "POST /volumeBasedSearch", params: {}, @@ -122,13 +153,11 @@ export default class ComicVineService extends Service { resources: string; scorerConfiguration?: { searchParams: { - name: string; - subtitle?: string; - number: string; - year: string; - }; - - + name: string; + subtitle?: string; + number: string; + year: string; + }; }; rawFileDetails: object; }> @@ -169,7 +198,8 @@ export default class ComicVineService extends Service { ) ) { const issueYear = parseInt( - ctx.params.scorerConfiguration.searchParams.year, + ctx.params.scorerConfiguration.searchParams + .year, 10 ); coverDateFilter = `cover_date:${