refactor: search logic to use switch..case

This commit is contained in:
Julian Lam
2024-09-30 12:11:48 -04:00
parent 55faa8a261
commit bd76ccf08a

View File

@@ -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);