🔧 Added an endpoint for searching issues via Elastic

This commit is contained in:
2022-03-01 23:18:37 -08:00
parent c67328c4d6
commit 07e02cc90a
3 changed files with 51 additions and 10 deletions

View File

@@ -239,8 +239,9 @@ export default class ImportService extends Service {
Comic.findByIdAndUpdate(
comicObjectId,
{
sourcedMetadata: {
comicvine: matchedResult,
$set: {
"sourcedMetadata.comicvine":
matchedResult,
},
},
{ new: true },
@@ -347,7 +348,9 @@ export default class ImportService extends Service {
$last: "$_id",
},
count: { $sum: 1 },
data: { $push: "$$ROOT.sourcedMetadata.comicvine.volumeInformation" },
data: {
$push: "$$ROOT.sourcedMetadata.comicvine.volumeInformation",
},
},
},
{
@@ -490,6 +493,16 @@ export default class ImportService extends Service {
},
},
],
issuesWithComicInfoXML: [
{
$match: {
"sourcedMetadata.comicInfo" : {
$exists: true,
$gt: {$size: 0}
}
}
}
],
publisherWithMostComicsInLibrary: [
{
$unwind:
@@ -504,9 +517,7 @@ export default class ImportService extends Service {
{ $sort: { count: -1 } },
{ $limit: 1 },
],
mostPopulatCharacter: [
]
mostPopulatCharacter: [],
},
},
]);
@@ -517,7 +528,7 @@ export default class ImportService extends Service {
};
},
},
flushDB: {
rest: "POST /flushDB",
params: {},

View File

@@ -33,7 +33,7 @@ export default class SettingsService extends Service {
timeout: 400000,
async handler(
ctx: Context<{
queryObjects: [],
queryObjects: [];
elasticSearchQueries: [
{
elasticSearchQuery: object;
@@ -54,11 +54,39 @@ export default class SettingsService extends Service {
body.responses.forEach((match) => {
console.log(match.hits.hits);
})
});
return body.responses;
},
},
issue: {
rest: "POST /searchIssue",
params: {},
handler: async (
ctx: Context<{
queryObject: {
volumeName: string;
issueNumber: string;
};
}>
) => {
console.log(ctx.params);
const result = await eSClient.search({
index: "comics",
body: {
query: {
match: {
"rawFileDetails.name":
ctx.params.queryObject
.volumeName,
},
},
},
});
const { hits } = result.body;
return hits;
},
},
},
methods: {},
},

View File

@@ -190,7 +190,9 @@ export const extractComicInfoXMLFromRar = async (
data: fileBuffer,
});
const extracted = extractor.extract({ files: ["ComicInfo.xml"] });
const extracted = extractor.extract({
files: ({ name }) => name.toLowerCase() === 'comicinfo.xml',
});
const files = [...extracted.files]; //load the files
if (!isUndefined(files[0])) {
console.log(