refactor(recent-search): use order by fields to determine extended cache join and cast config limit to number

Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
This commit is contained in:
Cristian Scheid 2026-03-19 14:37:11 -03:00 committed by backportbot[bot]
parent 1270a9b0db
commit 6fa138f86c

View file

@ -152,7 +152,13 @@ class QuerySearchHelper {
$requestedFields = $this->searchBuilder->extractRequestedFields($searchQuery->getSearchOperation());
$query = $builder->selectFileCache('file', true);
$orderFields = array_map(fn ($order) => $order->getField(), $searchQuery->getOrder());
$joinExtendedCache = in_array('creation_time', $requestedFields)
|| in_array('upload_time', $requestedFields)
|| in_array('last_activity', $orderFields);
$query = $builder->selectFileCache('file', $joinExtendedCache);
if (in_array('systemtag', $requestedFields)) {
$this->equipQueryForSystemTags($query, $this->requireUser($searchQuery));