mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
refactor: search logic to use switch..case
This commit is contained in:
@@ -19,20 +19,33 @@ search.search = async function (data) {
|
|||||||
data.sortBy = data.sortBy || 'relevance';
|
data.sortBy = data.sortBy || 'relevance';
|
||||||
|
|
||||||
let result;
|
let result;
|
||||||
if (['posts', 'titles', 'titlesposts', 'bookmarks'].includes(data.searchIn)) {
|
switch (data.searchIn) {
|
||||||
result = await searchInContent(data);
|
case 'users': {
|
||||||
} else if (data.searchIn === 'users') {
|
result = await user.search(data);
|
||||||
result = await user.search(data);
|
break;
|
||||||
} else if (data.searchIn === 'categories') {
|
}
|
||||||
result = await categories.search(data);
|
|
||||||
} else if (data.searchIn === 'tags') {
|
case 'categories': {
|
||||||
result = await topics.searchAndLoadTags(data);
|
result = await categories.search(data);
|
||||||
} else if (data.searchIn) {
|
break;
|
||||||
result = await plugins.hooks.fire('filter:search.searchIn', {
|
}
|
||||||
data,
|
|
||||||
});
|
case 'tags': {
|
||||||
} else {
|
result = await topics.searchAndLoadTags(data);
|
||||||
throw new Error('[[error:unknown-search-filter]]');
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
default: {
|
||||||
|
if (['posts', 'titles', 'titlesposts', 'bookmarks'].includes(data.searchIn)) {
|
||||||
|
result = await searchInContent(data);
|
||||||
|
} else if (data.searchIn) {
|
||||||
|
result = await plugins.hooks.fire('filter:search.searchIn', {
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
throw new Error('[[error:unknown-search-filter]]');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
result.time = (process.elapsedTimeSince(start) / 1000).toFixed(2);
|
result.time = (process.elapsedTimeSince(start) / 1000).toFixed(2);
|
||||||
|
|||||||
Reference in New Issue
Block a user