summaryrefslogtreecommitdiffstats
path: root/external
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-05-02 17:23:13 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-05-02 17:23:13 +0200
commitd7014ce74f0f94e5558a2c309f4c9c49a04c3255 (patch)
treed560ea3465f68edc942014f120ff17e2ce3074d5 /external
parentd89931b22abdcfe2ab4c6f4feb3b889d15524277 (diff)
added small result wrapper
Diffstat (limited to 'external')
-rw-r--r--external/apiresult.php55
-rw-r--r--external/external.php2
-rw-r--r--external/feedapi.php2
-rw-r--r--external/folderapi.php8
4 files changed, 65 insertions, 2 deletions
diff --git a/external/apiresult.php b/external/apiresult.php
new file mode 100644
index 000000000..64702b125
--- /dev/null
+++ b/external/apiresult.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+* ownCloud - News
+*
+* @author Alessandro Cosentino
+* @author Bernhard Posselt
+* @copyright 2012 Alessandro Cosentino cosenal@gmail.com
+* @copyright 2012 Bernhard Posselt nukeawhale@gmail.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+namespace OCA\News\External;
+
+class APIResult {
+
+ const OK = 100;
+ const SERVER_ERROR = 996;
+ const UNAUTHORISED = 997;
+ const NOT_FOUND = 998;
+ const UNKNOWN_ERROR = 999;
+
+ private $data;
+ private $statusCode;
+
+ public function __construct($data, $statusCode=APIResult::OK) {
+ $this->data = $data;
+ $this->statusCode = $statusCode;
+ }
+
+
+ public function getData() {
+ return $this->data;
+ }
+
+
+ public function getStatusCode() {
+ return $this->statusCode;
+ }
+
+
+}
diff --git a/external/external.php b/external/external.php
index b134eee72..ea9657c90 100644
--- a/external/external.php
+++ b/external/external.php
@@ -35,7 +35,7 @@ class External {
\Pimple $container) {
$container['urlParams'] = $urlParams;
$response = $container[$controllerName]->$methodName();
- return new \OC_OCS_Result($response);
+ return new \OC_OCS_Result($response->getData(), $response->getStatusCode());
}
diff --git a/external/feedapi.php b/external/feedapi.php
index 7dfceccc8..6b888b52d 100644
--- a/external/feedapi.php
+++ b/external/feedapi.php
@@ -72,7 +72,7 @@ class FeedAPI extends Controller {
$this->itemBusinessLayer->getNewestItemId($userId);
} catch(BusinessLayerException $ex) {}
- return $result;
+ return new APIResult($result);
}
diff --git a/external/folderapi.php b/external/folderapi.php
index 7d490ded4..629b1cff5 100644
--- a/external/folderapi.php
+++ b/external/folderapi.php
@@ -46,8 +46,16 @@ class FolderAPI extends Controller {
public function getAll() {
+ $userId = $this->api->getUserId();
+ $result = array(
+ 'folders' => array()
+ );
+ foreach ($this->folderBusinessLayer->findAll($userId) as $folder) {
+ array_push($result['folders'], $folder->toAPI());
+ }
+ return new APIResult($result);
}