🔧 Made the issues-for-series call more efficient

This commit is contained in:
2022-04-11 14:18:21 -07:00
parent 8be7440a64
commit 7fc43a06c3

View File

@@ -81,31 +81,25 @@ export default class ComicVineService extends Service {
"library.getComicBookById", "library.getComicBookById",
{ id: ctx.params.comicObjectID } { id: ctx.params.comicObjectID }
); );
// 2. Query CV and get metadata for them // 2. Query CV and get metadata for them
const issuesPromises = const issues = await axios({
await comicBookDetails.sourcedMetadata.comicvine.volumeInformation.issues.map( url:
async (issue: any, idx: any) => { CV_BASE_URL +
await delay(1000); "issues" +
const metadata: any = await axios.request({ "?api_key=" +
url: `${issue.api_detail_url}?api_key=${process.env.COMICVINE_API_KEY}`, process.env.COMICVINE_API_KEY,
params: { params: {
resources: "issues", resources: "issues",
limit: "100", limit: "100",
format: "json", format: "json",
}, filter: `volume:${comicBookDetails.sourcedMetadata.comicvine.volumeInformation.id}`,
headers: { },
"User-Agent": "ThreeTwo", headers: {
}, "Accept": "application/json",
}); "User-Agent": "ThreeTwo",
const issueMetadata = metadata.data.results; },
});
// 3. Just return the issues return issues.data;
return issueMetadata;
}
);
return Promise.all(issuesPromises);
}, },
}, },
scrapeLOCGForSeries: { scrapeLOCGForSeries: {