Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorris Jobke <morris.jobke@gmail.com>2013-08-27 19:07:47 +0400
committerMorris Jobke <morris.jobke@gmail.com>2013-08-27 19:07:47 +0400
commitabc23f71285112cda59c70a6f490e43fac2ee123 (patch)
tree9f2243a2e7242564a259eb6305a52de6715ce676
parent38084aba2a755fdb5af4fb5bf6b90956e5fdb536 (diff)
parente91edabe0f58fe316e3fb62461bce16168e74f52 (diff)
Merge pull request #3208 from owncloud/api_capabilities_quota
Add the quota to the external API for use with the mobile and desktop clients
-rw-r--r--lib/ocs/cloud.php46
-rw-r--r--ocs/routes.php9
2 files changed, 49 insertions, 6 deletions
diff --git a/lib/ocs/cloud.php b/lib/ocs/cloud.php
index 132d923d960..2dd99319057 100644
--- a/lib/ocs/cloud.php
+++ b/lib/ocs/cloud.php
@@ -35,13 +35,49 @@ 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
+ *
+ * exposes the quota of an user:
+ * <data>
+ * <quota>
+ * <free>1234</free>
+ * <used>4321</used>
+ * <total>5555</total>
+ * <ralative>0.78</ralative>
+ * </quota>
+ * </data>
+ *
+ * @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
+ 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
+ );