From c8c01278d837b3ecc01636fdd5b2d52638833687 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Thu, 2 May 2013 16:55:11 +0200 Subject: implement all routes and function bodies for api calls --- appinfo/api.php | 184 +++++++++++++++++++++++++++++++++++++++++++++++++++++ appinfo/routes.php | 17 +---- 2 files changed, 186 insertions(+), 15 deletions(-) create mode 100644 appinfo/api.php (limited to 'appinfo') diff --git a/appinfo/api.php b/appinfo/api.php new file mode 100644 index 000000000..d018fef23 --- /dev/null +++ b/appinfo/api.php @@ -0,0 +1,184 @@ +. +* +*/ + +namespace OCA\News; + +use \OCA\News\DependencyInjection\DIContainer; +use \OCA\News\External\External; + + +/** + * Folder API + */ +\OCP\API::register('get', '/apps/news/folders', + function($params) { + return External::main('FolderAPI', 'getAll', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('get', '/apps/news/folders/{folderId}', + function($urlParams) { + return External::main('FolderAPI', 'get', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('post', '/apps/news/folders', + function($urlParams) { + return External::main('FolderAPI', 'create', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('delete', '/apps/news/folders/{folderId}', + function($urlParams) { + return External::main('FolderAPI', 'delete', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('put', '/apps/news/folders/{folderId}', + function($urlParams) { + return External::main('FolderAPI', 'update', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + + +/** + * Feed API + */ +\OCP\API::register('get', '/apps/news/feeds', + function($urlParams) { + return External::main('FeedAPI', 'getAll', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('get', '/apps/news/feeds/{feedId}', + function($urlParams) { + return External::main('FeedAPI', 'get', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('post', '/apps/news/feeds/{feedId}', + function($urlParams) { + return External::main('FeedAPI', 'create', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('delete', '/apps/news/feeds/{feedId}', + function($urlParams) { + return External::main('FeedAPI', 'delete', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('put', '/apps/news/feeds/{feedId}/move', + function($urlParams) { + return External::main('FeedAPI', 'move', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('get', '/apps/news/feeds/{feedId}/read', + function($urlParams) { + return External::main('FeedAPI', 'read', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +/** + * Item API + */ +\OCP\API::register('get', '/apps/news/items', + function($urlParams) { + return External::main('ItemAPI', 'getAll', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('get', '/apps/news/items/updated', + function($urlParams) { + return External::main('ItemAPI', 'getUpdated', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('get', '/apps/news/items/{itemId}', + function($urlParams) { + return External::main('ItemAPI', 'get', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('put', '/apps/news/items/{itemId}/read', + function($urlParams) { + return External::main('ItemAPI', 'read', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('put', '/apps/news/items/{itemId}/unread', + function($urlParams) { + return External::main('ItemAPI', 'unread', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('put', '/apps/news/items/{feedId}/{guidHash}/star', + function($urlParams) { + return External::main('ItemAPI', 'star', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); + +\OCP\API::register('put', '/apps/news/items/{feedId}/{guidHash}/unstar', + function($urlParams) { + return External::main('ItemAPI', 'unstar', $params, new DIContainer()); + }, + 'news', + \OC_API::USER_AUTH +); \ No newline at end of file diff --git a/appinfo/routes.php b/appinfo/routes.php index c82a011b3..1acf11334 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -29,11 +29,9 @@ use \OCA\AppFramework\App; use \OCA\News\DependencyInjection\DIContainer; - /** * Webinterface */ - $this->create('news_index', '/')->get()->action( function($params){ App::main('PageController', 'index', $params, new DIContainer()); @@ -202,16 +200,5 @@ $this->create('news_usersettings_language', '/usersettings/language')->get()->ac ); - -/** - * Feed API - */ -\OCP\API::register('get', '/apps/news/feeds', - function($urlParams) { - $container = new DIContainer(); - $response = $container['FeedAPI']->getAll($urlParams); - return new \OC_OCS_Result($response); - }, - 'news', - \OC_API::USER_AUTH -); +// include external API +require_once __DIR__ . '/api.php'; \ No newline at end of file -- cgit v1.2.3