aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Group
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2023-07-26 21:56:07 +0200
committerJoas Schilling <coding@schilljs.com>2023-07-27 23:13:37 +0200
commit80f79e170dfb0086f0edae0695ddce04ea199af8 (patch)
tree79a2c78af094fead64738da3be82d31c48d8a6f2 /lib/private/Group
parentad12a740cb619d701de332eedda91dcbb1f53047 (diff)
downloadnextcloud-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.php46
-rw-r--r--lib/private/Group/Manager.php12
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
);
}