Fix files search provider
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>
This commit is contained in:
parent
8ab2d5a8d9
commit
5724d4c6fe
|
@ -31,6 +31,7 @@ namespace OCA\Files\Search;
|
||||||
use OC\Search\Provider\File;
|
use OC\Search\Provider\File;
|
||||||
use OC\Search\Result\File as FileResult;
|
use OC\Search\Result\File as FileResult;
|
||||||
use OCP\Files\IMimeTypeDetector;
|
use OCP\Files\IMimeTypeDetector;
|
||||||
|
use OCP\Files\IRootFolder;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
|
@ -53,14 +54,19 @@ class FilesSearchProvider implements IProvider {
|
||||||
/** @var IMimeTypeDetector */
|
/** @var IMimeTypeDetector */
|
||||||
private $mimeTypeDetector;
|
private $mimeTypeDetector;
|
||||||
|
|
||||||
|
/** @var IRootFolder */
|
||||||
|
private $rootFolder;
|
||||||
|
|
||||||
public function __construct(File $fileSearch,
|
public function __construct(File $fileSearch,
|
||||||
IL10N $l10n,
|
IL10N $l10n,
|
||||||
IURLGenerator $urlGenerator,
|
IURLGenerator $urlGenerator,
|
||||||
IMimeTypeDetector $mimeTypeDetector) {
|
IMimeTypeDetector $mimeTypeDetector,
|
||||||
|
IRootFolder $rootFolder) {
|
||||||
$this->l10n = $l10n;
|
$this->l10n = $l10n;
|
||||||
$this->fileSearch = $fileSearch;
|
$this->fileSearch = $fileSearch;
|
||||||
$this->urlGenerator = $urlGenerator;
|
$this->urlGenerator = $urlGenerator;
|
||||||
$this->mimeTypeDetector = $mimeTypeDetector;
|
$this->mimeTypeDetector = $mimeTypeDetector;
|
||||||
|
$this->rootFolder = $rootFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -92,6 +98,10 @@ class FilesSearchProvider implements IProvider {
|
||||||
* @inheritDoc
|
* @inheritDoc
|
||||||
*/
|
*/
|
||||||
public function search(IUser $user, ISearchQuery $query): SearchResult {
|
public function search(IUser $user, ISearchQuery $query): SearchResult {
|
||||||
|
|
||||||
|
// Make sure we setup the users filesystem
|
||||||
|
$this->rootFolder->getUserFolder($user->getUID());
|
||||||
|
|
||||||
return SearchResult::complete(
|
return SearchResult::complete(
|
||||||
$this->l10n->t('Files'),
|
$this->l10n->t('Files'),
|
||||||
array_map(function (FileResult $result) {
|
array_map(function (FileResult $result) {
|
||||||
|
|
Loading…
Reference in New Issue