]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add quota to core api
authorTom Needham <tom@owncloud.com>
Wed, 1 May 2013 17:20:46 +0000 (18:20 +0100)
committerMorris Jobke <morris.jobke@gmail.com>
Tue, 27 Aug 2013 13:39:43 +0000 (15:39 +0200)
lib/ocs/cloud.php
ocs/routes.php

index 132d923d960ef42b5e3d52e6f77a0e05e7e19b26..1535f70a8cc3fbb18429f1c1b099ababfe9d28fc 100644 (file)
@@ -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) {
 
index 1ea698c7a83e510c2e07e4cf1c5af976f2c8cadb..283c9af6924cc848377d9b492016d80a89180de7 100644 (file)
@@ -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
+       );