summaryrefslogtreecommitdiffstats
path: root/core/Controller/OCSController.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/Controller/OCSController.php')
-rw-r--r--core/Controller/OCSController.php23
1 files changed, 22 insertions, 1 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]);
+ }
}