summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@users.noreply.github.com>2024-02-28 19:09:53 +0100
committerGitHub <noreply@github.com>2024-02-28 19:09:53 +0100
commitdfd42307f04148f09a9f9811323178d4657fcc0a (patch)
tree27e696992cc6cfd8ba4a1045ad640fe0e09a8898 /apps
parent6fc9fec456f9f26c641203eae94b1070f82ca6f1 (diff)
parentf3b5c7caf3dbdb2c5ad53bd203c98d24fecd648d (diff)
downloadnextcloud-server-dfd42307f04148f09a9f9811323178d4657fcc0a.tar.gz
nextcloud-server-dfd42307f04148f09a9f9811323178d4657fcc0a.zip
Merge pull request #43860 from nextcloud/feat/files-search-provider-by-path
Diffstat (limited to 'apps')
-rw-r--r--apps/files/lib/Search/FilesSearchProvider.php3
1 files changed, 3 insertions, 0 deletions
diff --git a/apps/files/lib/Search/FilesSearchProvider.php b/apps/files/lib/Search/FilesSearchProvider.php
index b587fdf32de..43ea5ef09a4 100644
--- a/apps/files/lib/Search/FilesSearchProvider.php
+++ b/apps/files/lib/Search/FilesSearchProvider.php
@@ -116,6 +116,7 @@ class FilesSearchProvider implements IFilteringProvider {
'max-size',
'mime',
'type',
+ 'path',
'is-favorite',
'title-only',
];
@@ -131,6 +132,7 @@ class FilesSearchProvider implements IFilteringProvider {
new FilterDefinition('max-size', FilterDefinition::TYPE_INT),
new FilterDefinition('mime', FilterDefinition::TYPE_STRING),
new FilterDefinition('type', FilterDefinition::TYPE_STRING),
+ new FilterDefinition('path', FilterDefinition::TYPE_STRING),
new FilterDefinition('is-favorite', FilterDefinition::TYPE_BOOL),
];
}
@@ -182,6 +184,7 @@ class FilesSearchProvider implements IFilteringProvider {
'max-size' => new SearchComparison(ISearchComparison::COMPARE_LESS_THAN_EQUAL, 'size', $filter->get()),
'mime' => new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'mimetype', $filter->get()),
'type' => new SearchComparison(ISearchComparison::COMPARE_LIKE, 'mimetype', $filter->get() . '/%'),
+ 'path' => new SearchComparison(ISearchComparison::COMPARE_LIKE, 'path', 'files/' . ltrim($filter->get(), '/') . '%'),
'person' => $this->buildPersonSearchQuery($filter),
default => throw new InvalidArgumentException('Unsupported comparison'),
};