diff options
author | Joas Schilling <coding@schilljs.com> | 2023-07-26 21:56:07 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2023-07-27 23:13:37 +0200 |
commit | 80f79e170dfb0086f0edae0695ddce04ea199af8 (patch) | |
tree | 79a2c78af094fead64738da3be82d31c48d8a6f2 /lib/private/Group | |
parent | ad12a740cb619d701de332eedda91dcbb1f53047 (diff) | |
download | nextcloud-server-80f79e170dfb0086f0edae0695ddce04ea199af8.tar.gz nextcloud-server-80f79e170dfb0086f0edae0695ddce04ea199af8.zip |
fix!: Remove symfony EventDispatcherInterface from Group
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/private/Group')
-rw-r--r-- | lib/private/Group/Group.php | 46 | ||||
-rw-r--r-- | lib/private/Group/Manager.php | 12 |
2 files changed, 24 insertions, 34 deletions
diff --git a/lib/private/Group/Group.php b/lib/private/Group/Group.php index efc21ad7c0d..441ee64604d 100644 --- a/lib/private/Group/Group.php +++ b/lib/private/Group/Group.php @@ -34,6 +34,13 @@ namespace OC\Group; use OC\Hooks\PublicEmitter; use OC\User\LazyUser; +use OCP\EventDispatcher\IEventDispatcher; +use OCP\Group\Events\BeforeGroupDeletedEvent; +use OCP\Group\Events\BeforeUserAddedEvent; +use OCP\Group\Events\BeforeUserRemovedEvent; +use OCP\Group\Events\GroupDeletedEvent; +use OCP\Group\Events\UserAddedEvent; +use OCP\Group\Events\UserRemovedEvent; use OCP\GroupInterface; use OCP\Group\Backend\ICountDisabledInGroup; use OCP\Group\Backend\IGetDisplayNameBackend; @@ -46,8 +53,6 @@ use OCP\Group\Events\GroupChangedEvent; use OCP\IGroup; use OCP\IUser; use OCP\IUserManager; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\EventDispatcher\GenericEvent; class Group implements IGroup { /** @var null|string */ @@ -64,23 +69,14 @@ class Group implements IGroup { /** @var Backend[] */ private $backends; - /** @var EventDispatcherInterface */ + /** @var IEventDispatcher */ private $dispatcher; /** @var \OC\User\Manager|IUserManager */ private $userManager; /** @var PublicEmitter */ private $emitter; - - /** - * @param string $gid - * @param Backend[] $backends - * @param EventDispatcherInterface $dispatcher - * @param IUserManager $userManager - * @param PublicEmitter $emitter - * @param string $displayName - */ - public function __construct(string $gid, array $backends, EventDispatcherInterface $dispatcher, IUserManager $userManager, PublicEmitter $emitter = null, ?string $displayName = null) { + public function __construct(string $gid, array $backends, IEventDispatcher $dispatcher, IUserManager $userManager, PublicEmitter $emitter = null, ?string $displayName = null) { $this->gid = $gid; $this->backends = $backends; $this->dispatcher = $dispatcher; @@ -112,12 +108,12 @@ class Group implements IGroup { public function setDisplayName(string $displayName): bool { $displayName = trim($displayName); if ($displayName !== '') { - $this->dispatcher->dispatch(new BeforeGroupChangedEvent($this, 'displayName', $displayName, $this->displayName)); + $this->dispatcher->dispatchTyped(new BeforeGroupChangedEvent($this, 'displayName', $displayName, $this->displayName)); foreach ($this->backends as $backend) { if (($backend instanceof ISetDisplayNameBackend) && $backend->setDisplayName($this->gid, $displayName)) { $this->displayName = $displayName; - $this->dispatcher->dispatch(new GroupChangedEvent($this, 'displayName', $displayName, '')); + $this->dispatcher->dispatchTyped(new GroupChangedEvent($this, 'displayName', $displayName, '')); return true; } } @@ -180,9 +176,7 @@ class Group implements IGroup { return; } - $this->dispatcher->dispatch(IGroup::class . '::preAddUser', new GenericEvent($this, [ - 'user' => $user, - ])); + $this->dispatcher->dispatchTyped(new BeforeUserAddedEvent($this, $user)); if ($this->emitter) { $this->emitter->emit('\OC\Group', 'preAddUser', [$this, $user]); @@ -194,9 +188,7 @@ class Group implements IGroup { $this->users[$user->getUID()] = $user; } - $this->dispatcher->dispatch(IGroup::class . '::postAddUser', new GenericEvent($this, [ - 'user' => $user, - ])); + $this->dispatcher->dispatchTyped(new UserAddedEvent($this, $user)); if ($this->emitter) { $this->emitter->emit('\OC\Group', 'postAddUser', [$this, $user]); @@ -213,9 +205,7 @@ class Group implements IGroup { */ public function removeUser($user) { $result = false; - $this->dispatcher->dispatch(IGroup::class . '::preRemoveUser', new GenericEvent($this, [ - 'user' => $user, - ])); + $this->dispatcher->dispatchTyped(new BeforeUserRemovedEvent($this, $user)); if ($this->emitter) { $this->emitter->emit('\OC\Group', 'preRemoveUser', [$this, $user]); } @@ -226,9 +216,7 @@ class Group implements IGroup { } } if ($result) { - $this->dispatcher->dispatch(IGroup::class . '::postRemoveUser', new GenericEvent($this, [ - 'user' => $user, - ])); + $this->dispatcher->dispatchTyped(new UserRemovedEvent($this, $user)); if ($this->emitter) { $this->emitter->emit('\OC\Group', 'postRemoveUser', [$this, $user]); } @@ -352,7 +340,7 @@ class Group implements IGroup { } $result = false; - $this->dispatcher->dispatch(IGroup::class . '::preDelete', new GenericEvent($this)); + $this->dispatcher->dispatchTyped(new BeforeGroupDeletedEvent($this)); if ($this->emitter) { $this->emitter->emit('\OC\Group', 'preDelete', [$this]); } @@ -362,7 +350,7 @@ class Group implements IGroup { } } if ($result) { - $this->dispatcher->dispatch(IGroup::class . '::postDelete', new GenericEvent($this)); + $this->dispatcher->dispatchTyped(new GroupDeletedEvent($this)); if ($this->emitter) { $this->emitter->emit('\OC\Group', 'postDelete', [$this]); } diff --git a/lib/private/Group/Manager.php b/lib/private/Group/Manager.php index 0672e519e36..c43b5165a79 100644 --- a/lib/private/Group/Manager.php +++ b/lib/private/Group/Manager.php @@ -41,13 +41,14 @@ namespace OC\Group; use OC\Hooks\PublicEmitter; use OCP\EventDispatcher\IEventDispatcher; +use OCP\Group\Events\BeforeGroupCreatedEvent; +use OCP\Group\Events\GroupCreatedEvent; use OCP\GroupInterface; use OCP\ICacheFactory; use OCP\IGroup; use OCP\IGroupManager; use OCP\IUser; use Psr\Log\LoggerInterface; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; /** * Class Manager @@ -70,8 +71,7 @@ class Manager extends PublicEmitter implements IGroupManager { /** @var \OC\User\Manager */ private $userManager; - /** @var EventDispatcherInterface */ - private $dispatcher; + private IEventDispatcher $dispatcher; private LoggerInterface $logger; /** @var \OC\Group\Group[] */ @@ -86,7 +86,7 @@ class Manager extends PublicEmitter implements IGroupManager { private DisplayNameCache $displayNameCache; public function __construct(\OC\User\Manager $userManager, - EventDispatcherInterface $dispatcher, + IEventDispatcher $dispatcher, LoggerInterface $logger, ICacheFactory $cacheFactory) { $this->userManager = $userManager; @@ -220,11 +220,13 @@ class Manager extends PublicEmitter implements IGroupManager { } elseif ($group = $this->get($gid)) { return $group; } else { + $this->dispatcher->dispatchTyped(new BeforeGroupCreatedEvent($gid)); $this->emit('\OC\Group', 'preCreate', [$gid]); foreach ($this->backends as $backend) { if ($backend->implementsActions(Backend::CREATE_GROUP)) { if ($backend->createGroup($gid)) { $group = $this->getGroupObject($gid); + $this->dispatcher->dispatchTyped(new GroupCreatedEvent($group)); $this->emit('\OC\Group', 'postCreate', [$group]); return $group; } @@ -424,7 +426,7 @@ class Manager extends PublicEmitter implements IGroupManager { $this->userManager, $this, \OC::$server->getDatabaseConnection(), - \OC::$server->get(IEventDispatcher::class) + $this->dispatcher ); } |