diff options
author | Robin Appelman <robin@icewind.nl> | 2022-08-17 11:58:57 +0200 |
---|---|---|
committer | backportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com> | 2022-08-23 12:19:14 +0000 |
commit | 9cadbe811eb6931ea29dd43745d10cdbe2f99b1f (patch) | |
tree | fc4ee423302bf5b7b9fd69e57cef73a648082c0c /lib/private | |
parent | f413456e2f22cfb29662161567a24b13b26a1cf4 (diff) | |
download | nextcloud-server-9cadbe811eb6931ea29dd43745d10cdbe2f99b1f.tar.gz nextcloud-server-9cadbe811eb6931ea29dd43745d10cdbe2f99b1f.zip |
directly build the search filter for shared storage instead of setting up the source cache
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/Files/Cache/Wrapper/CacheJail.php | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/private/Files/Cache/Wrapper/CacheJail.php b/lib/private/Files/Cache/Wrapper/CacheJail.php index 7183a6c0d2a..ffd446dae30 100644 --- a/lib/private/Files/Cache/Wrapper/CacheJail.php +++ b/lib/private/Files/Cache/Wrapper/CacheJail.php @@ -306,10 +306,14 @@ class CacheJail extends CacheWrapper { } public function getQueryFilterForStorage(): ISearchOperator { + return $this->addJailFilterQuery($this->getCache()->getQueryFilterForStorage()); + } + + protected function addJailFilterQuery(ISearchOperator $filter): ISearchOperator { if ($this->getGetUnjailedRoot() !== '' && $this->getGetUnjailedRoot() !== '/') { return new SearchBinaryOperator(ISearchBinaryOperator::OPERATOR_AND, [ - $this->getCache()->getQueryFilterForStorage(), + $filter, new SearchBinaryOperator(ISearchBinaryOperator::OPERATOR_OR, [ new SearchComparison(ISearchComparison::COMPARE_EQUAL, 'path', $this->getGetUnjailedRoot()), @@ -319,7 +323,7 @@ class CacheJail extends CacheWrapper { ] ); } else { - return $this->getCache()->getQueryFilterForStorage(); + return $filter; } } |