diff options
author | Roeland Jago Douma <rullzer@owncloud.com> | 2015-10-08 21:47:30 +0200 |
---|---|---|
committer | Roeland Jago Douma <rullzer@owncloud.com> | 2015-10-13 21:07:48 +0200 |
commit | 002e9c76cdfa805c798ff9f9543df17ae7fa4232 (patch) | |
tree | 3c13a17fcba5d6be468905b1ff1f4914e48b438c /apps/provisioning_api | |
parent | ef4278cfa9570b3910b35cc82313d6391aec3c22 (diff) | |
download | nextcloud-server-002e9c76cdfa805c798ff9f9543df17ae7fa4232.tar.gz nextcloud-server-002e9c76cdfa805c798ff9f9543df17ae7fa4232.zip |
Combine OCS API getUser method code into provisioning_api app
Fixes #13002
Move the cloud/users/{userid} code in total to the provisioning API.
Diffstat (limited to 'apps/provisioning_api')
-rw-r--r-- | apps/provisioning_api/lib/users.php | 37 |
1 files changed, 10 insertions, 27 deletions
diff --git a/apps/provisioning_api/lib/users.php b/apps/provisioning_api/lib/users.php index add6325bde0..fc5e79d4b2b 100644 --- a/apps/provisioning_api/lib/users.php +++ b/apps/provisioning_api/lib/users.php @@ -115,46 +115,28 @@ class Users { return new OC_OCS_Result(null, \OCP\API::RESPOND_UNAUTHORISED); } + $data = []; + // Admin? Or SubAdmin? if($this->groupManager->isAdmin($user->getUID()) || OC_SubAdmin::isUserAccessible($user->getUID(), $userId)) { // Check they exist if(!$this->userManager->userExists($userId)) { return new OC_OCS_Result(null, \OCP\API::RESPOND_NOT_FOUND, 'The requested user could not be found'); } - // Show all - $return = [ - 'email', - 'enabled', - ]; - if($user->getUID() !== $userId) { - $return[] = 'quota'; - } + $data['enabled'] = $this->config->getUserValue($userId, 'core', 'enabled', 'true'); } else { // Check they are looking up themselves if($user->getUID() !== $userId) { return new OC_OCS_Result(null, \OCP\API::RESPOND_UNAUTHORISED); } - // Return some additional information compared to the core route - $return = array( - 'email', - 'displayname', - ); } // Find the data - $data = []; - $data = self::fillStorageInfo($userId, $data); - $data['enabled'] = $this->config->getUserValue($userId, 'core', 'enabled', 'true'); + $data['quota'] = self::fillStorageInfo($userId); $data['email'] = $this->config->getUserValue($userId, 'settings', 'email'); - $data['displayname'] = $this->userManager->get($parameters['userid'])->getDisplayName(); + $data['displayname'] = $this->userManager->get($userId)->getDisplayName(); - // Return the appropriate data - $responseData = array(); - foreach($return as $key) { - $responseData[$key] = $data[$key]; - } - - return new OC_OCS_Result($responseData); + return new OC_OCS_Result($data); } /** @@ -473,19 +455,20 @@ class Users { * @return mixed * @throws \OCP\Files\NotFoundException */ - private static function fillStorageInfo($userId, $data) { + private static function fillStorageInfo($userId) { + $data = []; try { \OC_Util::tearDownFS(); \OC_Util::setupFS($userId); $storage = OC_Helper::getStorageInfo('/'); - $data['quota'] = [ + $data = [ 'free' => $storage['free'], 'used' => $storage['used'], 'total' => $storage['total'], 'relative' => $storage['relative'], ]; } catch (NotFoundException $ex) { - $data['quota'] = []; + $data = []; } return $data; } |