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;
}
/**
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]);
+ }
}
],
'ocs' => [
['root' => '/cloud', 'name' => 'OCS#getCapabilities', 'url' => '/capabilities', 'verb' => 'GET'],
+ ['root' => '/cloud', 'name' => 'OCS#getCurrentUser', 'url' => '/user', 'verb' => 'GET'],
],
]);
'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')) {