From f14ce1efdc2a8b9656bd485055dea706936c585d Mon Sep 17 00:00:00 2001 From: Tom Needham Date: Wed, 1 May 2013 18:20:46 +0100 Subject: [PATCH] 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 132d923d96..1535f70a8c 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 1ea698c7a8..283c9af692 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 + );