diff options
Diffstat (limited to 'external')
-rw-r--r-- | external/feed.php | 55 | ||||
-rw-r--r-- | external/folder.php | 59 |
2 files changed, 114 insertions, 0 deletions
diff --git a/external/feed.php b/external/feed.php new file mode 100644 index 000000000..a56cd2253 --- /dev/null +++ b/external/feed.php @@ -0,0 +1,55 @@ +<?php + +namespace OCA\News; + +use \OCA\News\Controller\FeedController; + +class FeedApi { + + public function __construct($bl){ + $this->bl = $bl; + } + + public function getAll() { + $feeds = $this->bl->getAll(); + $serializedFeeds = array(); + foreach ($feeds as $feed) { + $serializedFeeds[] = $feed->jsonSerialize(); + } + return new \OC_OCS_Result($serializedFeeds); + } + + public function getById($params) { + $feed = $this->bl->getById($feedid); + $serializedFeed = array($feed->jsonSerialize()); + return new \OC_OCS_Result($serializedFeed); + } + + public function delete($params) { + //TODO: check parameters here + + $success = $this->bl->delete($params["feedid"]); + + if ($success) { + return new \OC_OCS_Result(); + } + else { + return new \OC_OCS_Result(null, 101); + } + } + + public function create() { + $url = $_POST['url']; + $folderId = $_POST['folderid']; + //TODO: check parameters here + + $success = $this->bl->create($url, $folderId); + + if ($success) { + return new \OC_OCS_Result(); + } + else { + return new \OC_OCS_Result(null, 101); + } + } +} diff --git a/external/folder.php b/external/folder.php new file mode 100644 index 000000000..68c8ff523 --- /dev/null +++ b/external/folder.php @@ -0,0 +1,59 @@ +<?php + +namespace OCA\News; + +use \OCA\News\Controller\FolderController; + +class FolderApi { + + public function __construct($bl){ + $this->bl = $bl; + } + + public function getAll() { + $folders = $this->bl->getAll(); + $serializedFolders = array(); + + //TODO: check the behaviour for nested folders + foreach ($folders as $folder) { + $serializedFolders[] = $folder->jsonSerialize(); + } + return new \OC_OCS_Result($serializedFolders); + } + + public function create() { + $name = $_POST['name']; + $parentId = $_POST['parentid']; + + $this->bl->create($name, $parentId); + + return new \OC_OCS_Result(); + } + + public function delete($params) { + $id = $params['folderid']; + if(!is_numeric($id)) + return new \OC_OCS_Result(null,999,'Invalid input! folderid must be an integer'); + + if($this->bl->delete($id)) + return new \OC_OCS_Result(); + else + return new \OC_OCS_Result(null,999,'Could not delete folder'); + } + + public function modify($params) { + $id = $params['folderid']; + if(!is_numeric($id)) + return new \OC_OCS_Result(null,999,'Invalid input! folderid must be an integer'.$id); + + $name = $_POST['name']; + $parentId = $_POST['parentid']; + $opened = $_POST['opened']; + + if($this->bl->modify($id, $name, $parentid, $opened)) + return new \OC_OCS_Result(); + else + return new \OC_OCS_Result(null,999,'Could not modify folder'); + } +} + |