summaryrefslogtreecommitdiffstats
path: root/controller
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2015-09-20 18:18:36 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2015-09-20 18:18:36 +0200
commita8ddf748a7a9060d52202e2af5d77a6c5c6a2cd5 (patch)
treee4ab2bf6d80af0cd8ae5a2a1d673d01936c78870 /controller
parenta2232bbd25929b6ac8020b5a2aa8ca8b0235b9a8 (diff)
fix import for integration tests
Diffstat (limited to 'controller')
-rw-r--r--controller/userapicontroller.php72
1 files changed, 72 insertions, 0 deletions
diff --git a/controller/userapicontroller.php b/controller/userapicontroller.php
new file mode 100644
index 000000000..8db2b6937
--- /dev/null
+++ b/controller/userapicontroller.php
@@ -0,0 +1,72 @@
+<?php
+/**
+ * ownCloud - News
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Alessandro Cosentino <cosenal@gmail.com>
+ * @author Bernhard Posselt <dev@bernhard-posselt.com>
+ * @copyright Alessandro Cosentino 2012
+ * @copyright Bernhard Posselt 2012, 2014
+ */
+
+namespace OCA\News\Controller;
+
+use \OCP\IRequest;
+use \OCP\IUserSession;
+use \OCP\IURLGenerator;
+use \OCP\Files\IRootFolder;
+use \OCP\AppFramework\ApiController;
+use \OCP\AppFramework\Http;
+
+class UserApiController extends ApiController {
+
+ private $userSession;
+ private $rootFolder;
+
+ public function __construct($AppName,
+ IRequest $request,
+ IUserSession $userSession,
+ IRootFolder $rootFolder){
+ parent::__construct($AppName, $request);
+ $this->userSession = $userSession;
+ $this->rootFolder = $rootFolder;
+ }
+
+ /**
+ * @NoAdminRequired
+ * @NoCSRFRequired
+ * @CORS
+ */
+ public function index() {
+ $user = $this->userSession->getUser();
+
+ // find the avatar
+ $jpgAvatar = '/' . $user->getUID() . '/avatar.jpg';
+ $pngAvatar = '/' . $user->getUID() . '/avatar.png';
+ $avatar = null;
+
+ if ($this->rootFolder->nodeExists($jpgAvatar)) {
+ $file = $this->rootFolder->get($jpgAvatar);
+ $avatar = [
+ 'data' => base64_encode($file->getContent()),
+ 'mime' => 'image/jpeg'
+ ];
+ } elseif ($this->rootFolder->nodeExists($pngAvatar)) {
+ $file = $this->rootFolder->get($pngAvatar);
+ $avatar = [
+ 'data' => base64_encode($file->getContent()),
+ 'mime' => 'image/png'
+ ];
+ }
+
+ return [
+ 'userId' => $user->getUID(),
+ 'displayName' => $user->getDisplayName(),
+ 'lastLoginTimestamp' => $user->getLastLogin(),
+ 'avatar' => $avatar
+ ];
+ }
+
+}