diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2018-01-17 20:00:09 +0100 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2018-01-18 11:15:03 +0100 |
commit | 05f75f803a104e5dbcf11a112122c1232e49f8fd (patch) | |
tree | 68e463b88f61d1896970a7dbf8b9e5dc2211e7c4 /apps/files_external/lib | |
parent | 6e29b8731e25526442d9b878a5a6ae75afc4075e (diff) | |
download | nextcloud-server-05f75f803a104e5dbcf11a112122c1232e49f8fd.tar.gz nextcloud-server-05f75f803a104e5dbcf11a112122c1232e49f8fd.zip |
[files_external] OCS endpoint to proper OCSController
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps/files_external/lib')
-rw-r--r-- | apps/files_external/lib/Controller/ApiController.php (renamed from apps/files_external/lib/Lib/Api.php) | 44 |
1 files changed, 31 insertions, 13 deletions
diff --git a/apps/files_external/lib/Lib/Api.php b/apps/files_external/lib/Controller/ApiController.php index 6957af0b7bb..8be623c5eee 100644 --- a/apps/files_external/lib/Lib/Api.php +++ b/apps/files_external/lib/Controller/ApiController.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright Copyright (c) 2016, ownCloud, Inc. * @@ -26,9 +27,25 @@ * */ -namespace OCA\Files_External\Lib; +namespace OCA\Files_External\Controller; -class Api { +use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\OCSController; +use OCP\IRequest; +use OCP\IUserSession; + +class ApiController extends OCSController { + + /** @var IUserSession */ + private $userSession; + + public function __construct(string $appName, + IRequest $request, + IUserSession $userSession) { + parent::__construct($appName, $request); + + $this->userSession = $userSession; + } /** * Formats the given mount config to a mount entry. @@ -38,13 +55,13 @@ class Api { * * @return array entry */ - private static function formatMount($mountPoint, $mountConfig) { + private function formatMount(string $mountPoint, array $mountConfig): array { // strip "/$user/files" from mount point $mountPoint = explode('/', trim($mountPoint, '/'), 3); - $mountPoint = isset($mountPoint[2]) ? $mountPoint[2] : ''; + $mountPoint = $mountPoint[2] ?? ''; // split path from mount point - $path = dirname($mountPoint); + $path = \dirname($mountPoint); if ($path === '.') { $path = ''; } @@ -62,7 +79,7 @@ class Api { 'path' => $path, 'type' => 'dir', 'backend' => $mountConfig['backend'], - 'scope' => ( $isSystemMount ? 'system' : 'personal' ), + 'scope' => $isSystemMount ? 'system' : 'personal', 'permissions' => $permissions, 'id' => $mountConfig['id'], 'class' => $mountConfig['class'] @@ -71,20 +88,21 @@ class Api { } /** + * @NoAdminRequired + * * Returns the mount points visible for this user. * - * @param array $params - * @return \OC\OCS\Result share information + * @return DataResponse share information */ - public static function getUserMounts($params) { - $entries = array(); - $user = \OC::$server->getUserSession()->getUser()->getUID(); + public function getUserMounts(): DataResponse { + $entries = []; + $user = $this->userSession->getUser()->getUID(); $mounts = \OC_Mount_Config::getAbsoluteMountPoints($user); foreach($mounts as $mountPoint => $mount) { - $entries[] = self::formatMount($mountPoint, $mount); + $entries[] = $this->formatMount($mountPoint, $mount); } - return new \OC\OCS\Result($entries); + return new DataResponse($entries); } } |