@@ -27,74 +27,74 @@ |
||
| 27 | 27 | |
| 28 | 28 | /** @template-implements IEventListener<NodeRenamedEvent|ShareCreatedEvent|ShareDeletedEvent|NodeRestoredEvent> */ |
| 29 | 29 | class EncryptionEventListener implements IEventListener { |
| 30 | - private ?Update $updater = null; |
|
| 30 | + private ?Update $updater = null; |
|
| 31 | 31 | |
| 32 | - public function __construct( |
|
| 33 | - private IUserSession $userSession, |
|
| 34 | - private SetupManager $setupManager, |
|
| 35 | - private Manager $encryptionManager, |
|
| 36 | - private IUserManager $userManager, |
|
| 37 | - ) { |
|
| 38 | - } |
|
| 32 | + public function __construct( |
|
| 33 | + private IUserSession $userSession, |
|
| 34 | + private SetupManager $setupManager, |
|
| 35 | + private Manager $encryptionManager, |
|
| 36 | + private IUserManager $userManager, |
|
| 37 | + ) { |
|
| 38 | + } |
|
| 39 | 39 | |
| 40 | - public static function register(IEventDispatcher $dispatcher): void { |
|
| 41 | - $dispatcher->addServiceListener(NodeRenamedEvent::class, static::class); |
|
| 42 | - $dispatcher->addServiceListener(ShareCreatedEvent::class, static::class); |
|
| 43 | - $dispatcher->addServiceListener(ShareDeletedEvent::class, static::class); |
|
| 44 | - $dispatcher->addServiceListener(NodeRestoredEvent::class, static::class); |
|
| 45 | - } |
|
| 40 | + public static function register(IEventDispatcher $dispatcher): void { |
|
| 41 | + $dispatcher->addServiceListener(NodeRenamedEvent::class, static::class); |
|
| 42 | + $dispatcher->addServiceListener(ShareCreatedEvent::class, static::class); |
|
| 43 | + $dispatcher->addServiceListener(ShareDeletedEvent::class, static::class); |
|
| 44 | + $dispatcher->addServiceListener(NodeRestoredEvent::class, static::class); |
|
| 45 | + } |
|
| 46 | 46 | |
| 47 | - public function handle(Event $event): void { |
|
| 48 | - if (!$this->encryptionManager->isEnabled()) { |
|
| 49 | - return; |
|
| 50 | - } |
|
| 51 | - if ($event instanceof NodeRenamedEvent) { |
|
| 52 | - $this->getUpdate()->postRename($event->getSource(), $event->getTarget()); |
|
| 53 | - } elseif ($event instanceof ShareCreatedEvent) { |
|
| 54 | - $this->getUpdate()->postShared($event->getShare()->getNode()); |
|
| 55 | - } elseif ($event instanceof ShareDeletedEvent) { |
|
| 56 | - try { |
|
| 57 | - // In case the unsharing happens in a background job, we don't have |
|
| 58 | - // a session and we load instead the user from the UserManager |
|
| 59 | - $owner = $this->userManager->get($event->getShare()->getShareOwner()); |
|
| 60 | - $this->getUpdate($owner)->postUnshared($event->getShare()->getNode()); |
|
| 61 | - } catch (NotFoundException $e) { |
|
| 62 | - /* The node was deleted already, nothing to update */ |
|
| 63 | - } |
|
| 64 | - } elseif ($event instanceof NodeRestoredEvent) { |
|
| 65 | - $this->getUpdate()->postRestore($event->getTarget()); |
|
| 66 | - } |
|
| 67 | - } |
|
| 47 | + public function handle(Event $event): void { |
|
| 48 | + if (!$this->encryptionManager->isEnabled()) { |
|
| 49 | + return; |
|
| 50 | + } |
|
| 51 | + if ($event instanceof NodeRenamedEvent) { |
|
| 52 | + $this->getUpdate()->postRename($event->getSource(), $event->getTarget()); |
|
| 53 | + } elseif ($event instanceof ShareCreatedEvent) { |
|
| 54 | + $this->getUpdate()->postShared($event->getShare()->getNode()); |
|
| 55 | + } elseif ($event instanceof ShareDeletedEvent) { |
|
| 56 | + try { |
|
| 57 | + // In case the unsharing happens in a background job, we don't have |
|
| 58 | + // a session and we load instead the user from the UserManager |
|
| 59 | + $owner = $this->userManager->get($event->getShare()->getShareOwner()); |
|
| 60 | + $this->getUpdate($owner)->postUnshared($event->getShare()->getNode()); |
|
| 61 | + } catch (NotFoundException $e) { |
|
| 62 | + /* The node was deleted already, nothing to update */ |
|
| 63 | + } |
|
| 64 | + } elseif ($event instanceof NodeRestoredEvent) { |
|
| 65 | + $this->getUpdate()->postRestore($event->getTarget()); |
|
| 66 | + } |
|
| 67 | + } |
|
| 68 | 68 | |
| 69 | - private function getUpdate(?IUser $owner = null): Update { |
|
| 70 | - if (is_null($this->updater)) { |
|
| 71 | - $user = $this->userSession->getUser(); |
|
| 72 | - if (!$user && ($owner !== null)) { |
|
| 73 | - $user = $owner; |
|
| 74 | - } |
|
| 75 | - if (!$user) { |
|
| 76 | - throw new \Exception('Inconsistent data, File unshared, but owner not found. Should not happen'); |
|
| 77 | - } |
|
| 69 | + private function getUpdate(?IUser $owner = null): Update { |
|
| 70 | + if (is_null($this->updater)) { |
|
| 71 | + $user = $this->userSession->getUser(); |
|
| 72 | + if (!$user && ($owner !== null)) { |
|
| 73 | + $user = $owner; |
|
| 74 | + } |
|
| 75 | + if (!$user) { |
|
| 76 | + throw new \Exception('Inconsistent data, File unshared, but owner not found. Should not happen'); |
|
| 77 | + } |
|
| 78 | 78 | |
| 79 | - $uid = $user->getUID(); |
|
| 79 | + $uid = $user->getUID(); |
|
| 80 | 80 | |
| 81 | - if (!$this->setupManager->isSetupComplete($user)) { |
|
| 82 | - $this->setupManager->setupForUser($user); |
|
| 83 | - } |
|
| 81 | + if (!$this->setupManager->isSetupComplete($user)) { |
|
| 82 | + $this->setupManager->setupForUser($user); |
|
| 83 | + } |
|
| 84 | 84 | |
| 85 | - $this->updater = new Update( |
|
| 86 | - new Util( |
|
| 87 | - new View(), |
|
| 88 | - $this->userManager, |
|
| 89 | - \OC::$server->getGroupManager(), |
|
| 90 | - \OC::$server->getConfig()), |
|
| 91 | - \OC::$server->getEncryptionManager(), |
|
| 92 | - \OC::$server->get(IFile::class), |
|
| 93 | - \OC::$server->get(LoggerInterface::class), |
|
| 94 | - $uid |
|
| 95 | - ); |
|
| 96 | - } |
|
| 85 | + $this->updater = new Update( |
|
| 86 | + new Util( |
|
| 87 | + new View(), |
|
| 88 | + $this->userManager, |
|
| 89 | + \OC::$server->getGroupManager(), |
|
| 90 | + \OC::$server->getConfig()), |
|
| 91 | + \OC::$server->getEncryptionManager(), |
|
| 92 | + \OC::$server->get(IFile::class), |
|
| 93 | + \OC::$server->get(LoggerInterface::class), |
|
| 94 | + $uid |
|
| 95 | + ); |
|
| 96 | + } |
|
| 97 | 97 | |
| 98 | - return $this->updater; |
|
| 99 | - } |
|
| 98 | + return $this->updater; |
|
| 99 | + } |
|
| 100 | 100 | } |