From f14ce1efdc2a8b9656bd485055dea706936c585d Mon Sep 17 00:00:00 2001 From: Tom Needham Date: Wed, 1 May 2013 18:20:46 +0100 Subject: [PATCH 1/3] Add quota to core api --- lib/ocs/cloud.php | 33 ++++++++++++++++++++++++++++----- ocs/routes.php | 9 ++++++++- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/lib/ocs/cloud.php b/lib/ocs/cloud.php index 132d923d960..1535f70a8cc 100644 --- a/lib/ocs/cloud.php +++ b/lib/ocs/cloud.php @@ -35,13 +35,36 @@ class OC_OCS_Cloud { 'edition' => OC_Util::getEditionString(), ); - $result['capabilities'] = array( - 'core' => array( - 'pollinterval' => OC_Config::getValue('pollinterval', 60), - ), - ); + $result['capabilities'] = array( + 'core' => array( + 'pollinterval' => OC_Config::getValue('pollinterval', 60), + ), + ); + return new OC_OCS_Result($result); } + + /** + * gets user info + */ + public static function getUser($parameters){ + // Check if they are viewing information on themselves + if($parameters['userid'] === OC_User::getUser()){ + // Self lookup + $quota = array(); + $storage = OC_Helper::getStorageInfo(); + $quota = array( + 'free' => $storage['free'], + 'used' => $storage['used'], + 'total' => $storage['total'], + 'relative' => $storage['relative'], + ); + return new OC_OCS_Result(array('quota' => $quota)); + } else { + // No permission to view this user data + return new OC_OCS_Result(null, 997); + } + } public static function getUserPublickey($parameters) { diff --git a/ocs/routes.php b/ocs/routes.php index 1ea698c7a83..283c9af6924 100644 --- a/ocs/routes.php +++ b/ocs/routes.php @@ -28,7 +28,7 @@ OC_API::register( array('OC_OCS_Activity', 'activityGet'), 'core', OC_API::USER_AUTH - ); + ); // Privatedata OC_API::register( 'get', @@ -75,3 +75,10 @@ OC_API::register( 'core', OC_API::USER_AUTH ); +OC_API::register( + 'get', + '/cloud/users/{userid}', + array('OC_OCS_Cloud', 'getUser'), + 'core', + OC_API::USER_AUTH + ); From 273f162b26b15b2238972001a4ada3fa52eeece9 Mon Sep 17 00:00:00 2001 From: Tom Needham Date: Wed, 1 May 2013 18:26:02 +0100 Subject: [PATCH 2/3] Code style --- lib/ocs/cloud.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ocs/cloud.php b/lib/ocs/cloud.php index 1535f70a8cc..b64200d0916 100644 --- a/lib/ocs/cloud.php +++ b/lib/ocs/cloud.php @@ -47,9 +47,9 @@ class OC_OCS_Cloud { /** * gets user info */ - public static function getUser($parameters){ + public static function getUser($parameters) { // Check if they are viewing information on themselves - if($parameters['userid'] === OC_User::getUser()){ + if($parameters['userid'] === OC_User::getUser()) { // Self lookup $quota = array(); $storage = OC_Helper::getStorageInfo(); From e91edabe0f58fe316e3fb62461bce16168e74f52 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Tue, 27 Aug 2013 16:07:25 +0200 Subject: [PATCH 3/3] add documentation --- lib/ocs/cloud.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/ocs/cloud.php b/lib/ocs/cloud.php index b64200d0916..2dd99319057 100644 --- a/lib/ocs/cloud.php +++ b/lib/ocs/cloud.php @@ -46,6 +46,19 @@ class OC_OCS_Cloud { /** * gets user info + * + * exposes the quota of an user: + * + * + * 1234 + * 4321 + * 5555 + * 0.78 + * + * + * + * @param $parameters object should contain parameter 'userid' which identifies + * the user from whom the information will be returned */ public static function getUser($parameters) { // Check if they are viewing information on themselves