]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix files search provider 22797/head
authorRoeland Jago Douma <roeland@famdouma.nl>
Fri, 11 Sep 2020 08:27:02 +0000 (10:27 +0200)
committerRoeland Jago Douma <roeland@famdouma.nl>
Fri, 11 Sep 2020 08:27:02 +0000 (10:27 +0200)
The move to OCS make it so no filesystem is setup.
This makes the static file search code do boom.
Explicitly getting the users filesystem helps.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
apps/files/lib/Search/FilesSearchProvider.php

index 79ea4aa89f790105fcc247291ae633f20971e74e..d36153706bfb1f1183fba206fa8bd053697a2cdc 100644 (file)
@@ -31,6 +31,7 @@ namespace OCA\Files\Search;
 use OC\Search\Provider\File;
 use OC\Search\Result\File as FileResult;
 use OCP\Files\IMimeTypeDetector;
+use OCP\Files\IRootFolder;
 use OCP\IL10N;
 use OCP\IURLGenerator;
 use OCP\IUser;
@@ -53,14 +54,19 @@ class FilesSearchProvider implements IProvider {
        /** @var IMimeTypeDetector */
        private $mimeTypeDetector;
 
+       /** @var IRootFolder */
+       private $rootFolder;
+
        public function __construct(File $fileSearch,
                                                                IL10N $l10n,
                                                                IURLGenerator $urlGenerator,
-                                                               IMimeTypeDetector $mimeTypeDetector) {
+                                                               IMimeTypeDetector $mimeTypeDetector,
+                                                               IRootFolder $rootFolder) {
                $this->l10n = $l10n;
                $this->fileSearch = $fileSearch;
                $this->urlGenerator = $urlGenerator;
                $this->mimeTypeDetector = $mimeTypeDetector;
+               $this->rootFolder = $rootFolder;
        }
 
        /**
@@ -92,6 +98,10 @@ class FilesSearchProvider implements IProvider {
         * @inheritDoc
         */
        public function search(IUser $user, ISearchQuery $query): SearchResult {
+
+               // Make sure we setup the users filesystem
+               $this->rootFolder->getUserFolder($user->getUID());
+
                return SearchResult::complete(
                        $this->l10n->t('Files'),
                        array_map(function (FileResult $result) {