From 20d4c2911fa39454b5c0cc9811b15a45d1fdfd2a Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Thu, 2 May 2013 20:42:39 +0200 Subject: implemented folder api methods --- external/folderapi.php | 41 ++++++++++++++++++++++++++++++++++++++--- external/newsapiresult.php | 5 +++-- 2 files changed, 41 insertions(+), 5 deletions(-) (limited to 'external') diff --git a/external/folderapi.php b/external/folderapi.php index a7ea2f257..d9515b3ce 100644 --- a/external/folderapi.php +++ b/external/folderapi.php @@ -31,6 +31,7 @@ use \OCA\AppFramework\Http\Request; use \OCA\News\BusinessLayer\FolderBusinessLayer; use \OCA\News\BusinessLayer\BusinessLayerException; +use \OCA\News\BusinessLayer\BusinessLayerExistsException; class FolderAPI extends Controller { @@ -59,18 +60,52 @@ class FolderAPI extends Controller { } - public function create() { + public function create() { + $userId = $this->api->getUserId(); + $folderName = $this->params('name'); + $result = array( + 'folders' => array() + ); + try { + $folder = $this->folderBusinessLayer->create($folderName, $userId); + array_push($result['folders'], $folder->toAPI()); + + return new NewsAPIResult($result); + } catch(BusinessLayerExistsException $ex) { + return new NewsAPIResult(null, NewsAPIResult::EXISTS_ERROR, + $ex->getMessage()); + } } public function delete() { - + $userId = $this->api->getUserId(); + $folderId = $this->params('folderId'); + + try { + $this->folderBusinessLayer->delete($folderId, $userId); + return new NewsAPIResult(); + } catch(BusinessLayerException $ex) { + return new NewsAPIResult(null, NewsAPIResult::NOT_FOUND, + $ex->getMessage()); + } } public function update() { - + $userId = $this->api->getUserId(); + $folderId = $this->params('folderId'); + $folderName = $this->params('name'); + + try { + $this->folderBusinessLayer->rename($folderId, $folderName, $userId); + return new NewsAPIResult(); + } catch(BusinessLayerException $ex) { + return new NewsAPIResult(null, NewsAPIResult::NOT_FOUND, + $ex->getMessage()); + } } + } diff --git a/external/newsapiresult.php b/external/newsapiresult.php index 7147d32bd..e4034bc20 100644 --- a/external/newsapiresult.php +++ b/external/newsapiresult.php @@ -31,8 +31,9 @@ class NewsAPIResult extends APIResult { const EXISTS_ERROR = 409; - public function __construct($data, $statusCode=NewsAPIResult::OK) { - parent::__construct($data, $statusCode); + public function __construct($data=null, $statusCode=NewsAPIResult::OK, + $message=null) { + parent::__construct($data, $statusCode, $message); } -- cgit v1.2.3