diff options
Diffstat (limited to 'apps/files/controller/apicontroller.php')
-rw-r--r-- | apps/files/controller/apicontroller.php | 50 |
1 files changed, 34 insertions, 16 deletions
diff --git a/apps/files/controller/apicontroller.php b/apps/files/controller/apicontroller.php index 1bb07010a27..de9fa20dde0 100644 --- a/apps/files/controller/apicontroller.php +++ b/apps/files/controller/apicontroller.php @@ -1,6 +1,6 @@ <?php /** - * Copyright (c) 2014 Lukas Reschke <lukas@owncloud.com> + * Copyright (c) 2014-2015 Lukas Reschke <lukas@owncloud.com> * This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. @@ -17,19 +17,27 @@ use OCP\AppFramework\Http\DownloadResponse; use OC\Preview; use OCA\Files\Service\TagService; +/** + * Class ApiController + * + * @package OCA\Files\Controller + */ class ApiController extends Controller { + /** @var TagService */ + private $tagService; /** - * @var TagService $tagService + * @param string $appName + * @param IRequest $request + * @param TagService $tagService */ - private $tagService; - - public function __construct($appName, IRequest $request, TagService $tagService){ + public function __construct($appName, + IRequest $request, + TagService $tagService){ parent::__construct($appName, $request); $this->tagService = $tagService; } - /** * Gets a thumbnail of the specified file * @@ -66,25 +74,31 @@ class ApiController extends Controller { * @CORS * * @param string $path path - * @param array $tags array of tags + * @param array|string $tags array of tags * @return DataResponse */ public function updateFileTags($path, $tags = null) { - $result = array(); + $result = []; // if tags specified or empty array, update tags if (!is_null($tags)) { try { $this->tagService->updateFileTags($path, $tags); } catch (\OCP\Files\NotFoundException $e) { - return new DataResponse(['message' => $e->getMessage()], Http::STATUS_NOT_FOUND); + return new DataResponse([ + 'message' => $e->getMessage() + ], Http::STATUS_NOT_FOUND); } catch (\OCP\Files\StorageNotAvailableException $e) { - return new DataResponse(['message' => $e->getMessage()], Http::STATUS_SERVICE_UNAVAILABLE); + return new DataResponse([ + 'message' => $e->getMessage() + ], Http::STATUS_SERVICE_UNAVAILABLE); } catch (\Exception $e) { - return new DataResponse(['message' => $e->getMessage()], Http::STATUS_NOT_FOUND); + return new DataResponse([ + 'message' => $e->getMessage() + ], Http::STATUS_NOT_FOUND); } $result['tags'] = $tags; } - return new DataResponse($result, Http::STATUS_OK); + return new DataResponse($result); } /** @@ -93,7 +107,7 @@ class ApiController extends Controller { * @NoAdminRequired * @CORS * - * @param array $tagName tag name to filter by + * @param array|string $tagName tag name to filter by * @return DataResponse */ public function getFilesByTag($tagName) { @@ -102,11 +116,15 @@ class ApiController extends Controller { foreach ($fileInfos as &$fileInfo) { $file = \OCA\Files\Helper::formatFileInfo($fileInfo); $parts = explode('/', dirname($fileInfo->getPath()), 4); - $file['path'] = '/' . $parts[3]; - $file['tags'] = array($tagName); + if(isset($parts[3])) { + $file['path'] = '/' . $parts[3]; + } else { + $file['path'] = '/'; + } + $file['tags'] = [$tagName]; $files[] = $file; } - return new DataResponse(array('files' => $files), Http::STATUS_OK); + return new DataResponse(['files' => $files]); } } |