diff options
Diffstat (limited to 'core/Controller/OCSController.php')
-rw-r--r-- | core/Controller/OCSController.php | 23 |
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]); + } } |