diff options
Diffstat (limited to 'src/server/ApiManagers/SearchManager.ts')
-rw-r--r-- | src/server/ApiManagers/SearchManager.ts | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/src/server/ApiManagers/SearchManager.ts b/src/server/ApiManagers/SearchManager.ts index f43ed6ac9..684b49eaf 100644 --- a/src/server/ApiManagers/SearchManager.ts +++ b/src/server/ApiManagers/SearchManager.ts @@ -38,7 +38,9 @@ export class SearchManager extends ApiManager { subscription: '/dashsearch', secureHandler: async ({ req, res }) => { const solrQuery: any = {}; - ['q', 'fq', 'start', 'rows', 'sort', 'hl.maxAnalyzedChars', 'hl', 'hl.fl'].forEach(key => (solrQuery[key] = req.query[key])); + ['q', 'fq', 'start', 'rows', 'sort', 'hl.maxAnalyzedChars', 'hl', 'hl.fl'].forEach(key => { + solrQuery[key] = req.query[key]; + }); if (solrQuery.q === undefined) { res.send([]); return; @@ -102,22 +104,22 @@ export namespace SolrManager { if (!fields) { return; } - const update: any = { id: doc._id }; + const update2: any = { id: doc._id }; let dynfield = false; - for (const key in fields) { + fields.forEach((key: any) => { const value = fields[key]; const term = ToSearchTerm(value); if (term !== undefined) { - const { suffix, value } = term; + const { suffix, value: tvalue } = term; if (key.endsWith('modificationDate')) { - update['modificationDate' + suffix] = value; + update2['modificationDate' + suffix] = tvalue; } - update[key + suffix] = value; + update2[key + suffix] = value; dynfield = true; } - } + }); if (dynfield) { - updates.push(update); + updates.push(update2); } } await cursor?.forEach(updateDoc); @@ -159,6 +161,7 @@ export namespace SolrManager { '_l', list => { const results = []; + // eslint-disable-next-line no-restricted-syntax for (const value of list.fields) { const term = ToSearchTerm(value); if (term) { @@ -170,14 +173,15 @@ export namespace SolrManager { ], }; - function ToSearchTerm(val: any): { suffix: string; value: any } | undefined { + function ToSearchTerm(valIn: any): { suffix: string; value: any } | undefined { + let val = valIn; if (val === null || val === undefined) { - return; + return undefined; } const type = val.__type || typeof val; let suffix = suffixMap[type]; if (!suffix) { - return; + return undefined; } if (Array.isArray(suffix)) { @@ -187,6 +191,7 @@ export namespace SolrManager { } else { val = val[accessor]; } + // eslint-disable-next-line prefer-destructuring suffix = suffix[0]; } |