diff --git a/services/library.service.ts b/services/library.service.ts index bb266a9..592dd33 100644 --- a/services/library.service.ts +++ b/services/library.service.ts @@ -547,25 +547,25 @@ export default class ImportService extends Service { flushDB: { rest: "POST /flushDB", params: {}, - async handler(ctx: Context<{}>) { + handler: async (ctx: Context<{}>) => { return await Comic.collection .drop() - .then((data) => { + .then(async (data) => { console.info(data); - const foo = fsExtra.emptyDirSync( + const coversFolderDeleteResult = fsExtra.emptyDirSync( path.resolve(`${USERDATA_DIRECTORY}/covers`) ); - const foo2 = fsExtra.emptyDirSync( + const expandedFolderDeleteResult = fsExtra.emptyDirSync( path.resolve( `${USERDATA_DIRECTORY}/expanded` ) ); - return { data, foo, foo2 }; + const eSIndicesDeleteResult = await ctx.broker.call("search.deleteElasticSearchIndices", {}); + return { data, coversFolderDeleteResult, expandedFolderDeleteResult, eSIndicesDeleteResult }; }) .catch((error) => error); }, }, - unrarArchive: { rest: "POST /unrarArchive", params: {}, diff --git a/services/search.service.ts b/services/search.service.ts index 93641c5..2375cb9 100644 --- a/services/search.service.ts +++ b/services/search.service.ts @@ -69,38 +69,55 @@ export default class SettingsService extends Service { }; pagination: { size: number; - from: number, + from: number; }; }> ) => { - console.log(ctx.params); - const { query, pagination } = ctx.params; - let eSQuery = {}; - if (isEmpty(query)) { - Object.assign(eSQuery, { - match_all: {}, - }); - } else { - Object.assign(eSQuery, { - multi_match: { - fields: ["rawFileDetails.name", "sourcedMetadata.comicvine.name", "sourcedMetadata.comicvine.volumeInformation.name"], - query: query.volumeName, + try { + console.log(ctx.params); + const { query, pagination } = ctx.params; + let eSQuery = {}; + if (isEmpty(query)) { + Object.assign(eSQuery, { + match_all: {}, + }); + } else { + Object.assign(eSQuery, { + multi_match: { + fields: [ + "rawFileDetails.name", + "sourcedMetadata.comicvine.name", + "sourcedMetadata.comicvine.volumeInformation.name", + ], + query: query.volumeName, + }, + }); + } + console.log(query); + const result = await eSClient.search( + { + index: "comics", + body: { + query: eSQuery, + }, + ...pagination, }, - }); + { hydrate: true } + ); + + return result; + } catch (error) { + return new Errors.MoleculerClientError("Failed to return data", 404, "ElasticSearch error", error); } - console.log(query); - const result = await eSClient.search( - { - index: "comics", - body: { - query: eSQuery, - }, - ...pagination, - }, - { hydrate: true } - ); - - return result; + }, + }, + deleteElasticSearchIndices: { + rest: "GET /deleteElasticSearchIndices", + params: {}, + handler: async (ctx: Context<{}>) => { + return await eSClient.indices.delete({ + index: "comics", + }); }, }, },