From a75a93af8e140809abe50429601cb3d07f35245c Mon Sep 17 00:00:00 2001 From: Benjamin Gaussorgues Date: Mon, 25 Sep 2023 15:07:29 +0200 Subject: feat(files): Allow advanced search for files Signed-off-by: Benjamin Gaussorgues --- lib/private/Files/Cache/QuerySearchHelper.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/private/Files/Cache/QuerySearchHelper.php') diff --git a/lib/private/Files/Cache/QuerySearchHelper.php b/lib/private/Files/Cache/QuerySearchHelper.php index f8e5d1608f7..6aa230c842f 100644 --- a/lib/private/Files/Cache/QuerySearchHelper.php +++ b/lib/private/Files/Cache/QuerySearchHelper.php @@ -134,6 +134,11 @@ class QuerySearchHelper { )); } + + protected function equipQueryForShares(CacheQueryBuilder $query): void { + $query->join('file', 'share', 's', $query->expr()->eq('file.fileid', 's.file_source')); + } + /** * Perform a file system search in multiple caches * @@ -172,6 +177,9 @@ class QuerySearchHelper { if (in_array('tagname', $requestedFields) || in_array('favorite', $requestedFields)) { $this->equipQueryForDavTags($query, $this->requireUser($searchQuery)); } + if (in_array('owner', $requestedFields) || in_array('share_with', $requestedFields) || in_array('share_type', $requestedFields)) { + $this->equipQueryForShares($query); + } $metadataQuery = $query->selectMetadata(); -- cgit v1.2.3