12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- /**
- * SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
- * SPDX-License-Identifier: AGPL-3.0-only
- */
- namespace OCA\Files_External\Service;
- use OCP\IUser;
- use OCP\IUserSession;
- /**
- * Trait for getting user information in a service
- */
- trait UserTrait {
- /** @var IUserSession */
- protected $userSession;
- /**
- * User override
- *
- * @var IUser|null
- */
- private $user = null;
- /**
- * @return IUser|null
- */
- protected function getUser() {
- if ($this->user) {
- return $this->user;
- }
- return $this->userSession->getUser();
- }
- /**
- * Override the user from the session
- * Unset with ->resetUser() when finished!
- *
- * @param IUser $user
- * @return self
- */
- public function setUser(IUser $user) {
- $this->user = $user;
- return $this;
- }
- /**
- * Reset the user override
- *
- * @return self
- */
- public function resetUser() {
- $this->user = null;
- return $this;
- }
- }
|