summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/Controller/OCSController.php23
-rw-r--r--core/routes.php1
-rw-r--r--ocs/routes.php8
3 files changed, 23 insertions, 9 deletions
diff --git a/core/Controller/OCSController.php b/core/Controller/OCSController.php
index 750ab37eb88..d5783ae32e9 100644
--- a/core/Controller/OCSController.php
+++ b/core/Controller/OCSController.php
@@ -24,25 +24,32 @@ namespace OC\Core\Controller;
use OC\CapabilitiesManager;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
+use OCP\IUserSession;
class OCSController extends \OCP\AppFramework\OCSController {
/** @var CapabilitiesManager */
private $capabilitiesManager;
+ /** @var IUserSession */
+ private $userSession;
+
/**
* OCSController constructor.
*
* @param string $appName
* @param IRequest $request
* @param CapabilitiesManager $capabilitiesManager
+ * @param IUserSession $userSession
*/
public function __construct($appName,
IRequest $request,
- CapabilitiesManager $capabilitiesManager) {
+ CapabilitiesManager $capabilitiesManager,
+ IUserSession $userSession) {
parent::__construct($appName, $request);
$this->capabilitiesManager = $capabilitiesManager;
+ $this->userSession = $userSession;
}
/**
@@ -64,4 +71,18 @@ class OCSController extends \OCP\AppFramework\OCSController {
return new DataResponse(['data' => $result]);
}
+
+ /**
+ * @NoAdminRequired
+ * @return DataResponse
+ */
+ public function getCurrentUser() {
+ $userObject = $this->userSession->getUser();
+ $data = [
+ 'id' => $userObject->getUID(),
+ 'display-name' => $userObject->getDisplayName(),
+ 'email' => $userObject->getEMailAddress(),
+ ];
+ return new DataResponse(['data' => $data]);
+ }
}
diff --git a/core/routes.php b/core/routes.php
index 92ce4440ecf..b4868c14cf3 100644
--- a/core/routes.php
+++ b/core/routes.php
@@ -55,6 +55,7 @@ $application->registerRoutes($this, [
],
'ocs' => [
['root' => '/cloud', 'name' => 'OCS#getCapabilities', 'url' => '/capabilities', 'verb' => 'GET'],
+ ['root' => '/cloud', 'name' => 'OCS#getCurrentUser', 'url' => '/user', 'verb' => 'GET'],
],
]);
diff --git a/ocs/routes.php b/ocs/routes.php
index bb24c79eba7..ae2ef05adcd 100644
--- a/ocs/routes.php
+++ b/ocs/routes.php
@@ -83,14 +83,6 @@ API::register(
'core',
API::USER_AUTH
);
-// cloud
-API::register(
- 'get',
- '/cloud/user',
- array('OC_OCS_Cloud', 'getCurrentUser'),
- 'core',
- API::USER_AUTH
-);
// Server-to-Server Sharing
if (\OC::$server->getAppManager()->isEnabledForUser('files_sharing')) {