Merge pull request #13479 from owncloud/issue/13475-favorites-and-unavailable-external-storages
Ignore favorites that are not available when creating the favorites list
This commit is contained in:
commit
3a66b7c6ec
|
@ -67,6 +67,7 @@ class ApiController extends Controller {
|
|||
*
|
||||
* @param string $path path
|
||||
* @param array $tags array of tags
|
||||
* @return DataResponse
|
||||
*/
|
||||
public function updateFileTags($path, $tags = null) {
|
||||
$result = array();
|
||||
|
@ -76,6 +77,10 @@ class ApiController extends Controller {
|
|||
$this->tagService->updateFileTags($path, $tags);
|
||||
} catch (\OCP\Files\NotFoundException $e) {
|
||||
return new DataResponse($e->getMessage(), Http::STATUS_NOT_FOUND);
|
||||
} catch (\OCP\Files\StorageNotAvailableException $e) {
|
||||
return new DataResponse($e->getMessage(), Http::STATUS_SERVICE_UNAVAILABLE);
|
||||
} catch (\Exception $e) {
|
||||
return new DataResponse($e->getMessage(), Http::STATUS_NOT_FOUND);
|
||||
}
|
||||
$result['tags'] = $tags;
|
||||
}
|
||||
|
@ -89,6 +94,7 @@ class ApiController extends Controller {
|
|||
* @CORS
|
||||
*
|
||||
* @param array $tagName tag name to filter by
|
||||
* @return DataResponse
|
||||
*/
|
||||
public function getFilesByTag($tagName) {
|
||||
$files = array();
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
namespace OCA\Files\Service;
|
||||
|
||||
use OC\Files\FileInfo;
|
||||
|
||||
/**
|
||||
* Service class to manage tags on files.
|
||||
*/
|
||||
|
@ -84,11 +86,19 @@ class TagService {
|
|||
$nodes = $this->homeFolder->searchByTag(
|
||||
$tagName, $this->userSession->getUser()->getUId()
|
||||
);
|
||||
foreach ($nodes as &$node) {
|
||||
$node = $node->getFileInfo();
|
||||
$fileInfos = [];
|
||||
foreach ($nodes as $node) {
|
||||
try {
|
||||
/** @var \OC\Files\Node\Node $node */
|
||||
$fileInfos[] = $node->getFileInfo();
|
||||
} catch (\Exception $e) {
|
||||
// FIXME Should notify the user, when this happens
|
||||
// Can not get FileInfo, maybe the connection to the external
|
||||
// storage is interrupted.
|
||||
}
|
||||
}
|
||||
|
||||
return $nodes;
|
||||
return $fileInfos;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue