summaryrefslogtreecommitdiffstats
path: root/external
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-05-02 20:42:39 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-05-02 20:42:39 +0200
commit20d4c2911fa39454b5c0cc9811b15a45d1fdfd2a (patch)
tree83854dfa7940d7f4ed5022cbb61a119e84e656ff /external
parent61299d72050db23b62b96e0ea22cf54a515631f4 (diff)
implemented folder api methods
Diffstat (limited to 'external')
-rw-r--r--external/folderapi.php41
-rw-r--r--external/newsapiresult.php5
2 files changed, 41 insertions, 5 deletions
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);
}