summaryrefslogtreecommitdiffstats
path: root/apps/files/controller/apicontroller.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/controller/apicontroller.php')
-rw-r--r--apps/files/controller/apicontroller.php50
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]);
}
}