]> source.dussan.org Git - nextcloud-server.git/commitdiff
fixes terminology and allows to request an IUser instance
authorArthur Schiwon <blizzz@arthur-schiwon.de>
Thu, 25 Jul 2019 15:57:22 +0000 (17:57 +0200)
committerJulius Härtl <jus@bitgrid.net>
Fri, 2 Aug 2019 06:39:39 +0000 (08:39 +0200)
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
apps/files_external/lib/Config/UserContext.php
apps/files_external/lib/config.php

index bec762358f2d42b84971361696dbc27cf529413f..12621d22f5e1478e3729b4b957ba746c6c065a0b 100644 (file)
@@ -24,6 +24,8 @@
 namespace OCA\Files_External\Config;
 
 use OCP\IRequest;
+use OCP\IUser;
+use OCP\IUserManager;
 use OCP\IUserSession;
 use OCP\Share\Exceptions\ShareNotFound;
 use OCP\Share\IManager as ShareManager;
@@ -39,25 +41,30 @@ class UserContext {
        /** @var IRequest */
        private $request;
 
-       private $user;
+       /** @var string */
+       private $userId;
 
-       public function __construct(IUserSession $session, ShareManager $manager, IRequest $request) {
+       /** @var IUserManager */
+       private $userManager;
+
+       public function __construct(IUserSession $session, ShareManager $manager, IRequest $request, IUserManager $userManager) {
                $this->session = $session;
                $this->shareManager = $manager;
                $this->request = $request;
+               $this->userManager = $userManager;
        }
 
        public function getSession(): IUserSession {
                return $this->session;
        }
 
-       public function setUser($user): void {
-               $this->user = $user;
+       public function setUserId(string $userId): void {
+               $this->userId = $userId;
        }
 
        protected function getUserId(): ?string {
-               if ($this->user !== null) {
-                       return $this->user;
+               if ($this->userId !== null) {
+                       return $this->userId;
                }
                if($this->session && $this->session->getUser() !== null) {
                        return $this->session->getUser()->getUID();
@@ -71,4 +78,12 @@ class UserContext {
                return null;
        }
 
+       protected function getUser(): ?IUser {
+               $userId = $this->getUserId();
+               if($userId !== null) {
+                       return $this->userManager->get($userId);
+               }
+               return null;
+       }
+
 }
index cc0096d6dbf3282bcb1461648bc829dd876b848b..85bbbeb57d9a6b5af5503db7c4063e1007e8cc52 100644 (file)
@@ -212,11 +212,12 @@ class OC_Mount_Config {
 
        /**
         * @param mixed $input
+        * @param string|null $userId
         * @return mixed
         * @throws \OCP\AppFramework\QueryException
         * @since 16.0.0
         */
-       public static function substitutePlaceholdersInConfig($input, $user = null) {
+       public static function substitutePlaceholdersInConfig($input, string $userId = null) {
                /** @var BackendService $backendService */
                $backendService = self::$app->getContainer()->query(BackendService::class);
                /** @var IConfigHandler[] $handlers */