diff options
Diffstat (limited to 'external/folder.php')
-rw-r--r-- | external/folder.php | 59 |
1 files changed, 59 insertions, 0 deletions
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'); + } +} + |