From 7fc43a06c3923814b49ae48e813ddfa499bc5445 Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Mon, 11 Apr 2022 14:18:21 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20Made=20the=20issues-for-series?= =?UTF-8?q?=20call=20more=20efficient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/comicvine.service.ts | 42 +++++++++++++++-------------------- 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/services/comicvine.service.ts b/services/comicvine.service.ts index c5884c3..72f072a 100644 --- a/services/comicvine.service.ts +++ b/services/comicvine.service.ts @@ -81,31 +81,25 @@ export default class ComicVineService extends Service { "library.getComicBookById", { id: ctx.params.comicObjectID } ); - // 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; - - // 3. Just return the issues - return issueMetadata; - } - ); - - return Promise.all(issuesPromises); + const issues = await axios({ + url: + CV_BASE_URL + + "issues" + + "?api_key=" + + process.env.COMICVINE_API_KEY, + params: { + resources: "issues", + limit: "100", + format: "json", + filter: `volume:${comicBookDetails.sourcedMetadata.comicvine.volumeInformation.id}`, + }, + headers: { + "Accept": "application/json", + "User-Agent": "ThreeTwo", + }, + }); + return issues.data; }, }, scrapeLOCGForSeries: {