From 7a14aa748e94b49c954a55d2a5815f4eef2e3ea8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=B4me=20Chilliet?= Date: Tue, 1 Aug 2023 12:22:40 +0200 Subject: [PATCH] Add output to check-group --update command MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Côme Chilliet --- apps/user_ldap/lib/Command/CheckGroup.php | 26 ++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/apps/user_ldap/lib/Command/CheckGroup.php b/apps/user_ldap/lib/Command/CheckGroup.php index 91faa11888c..48fe631a09b 100644 --- a/apps/user_ldap/lib/Command/CheckGroup.php +++ b/apps/user_ldap/lib/Command/CheckGroup.php @@ -30,10 +30,14 @@ declare(strict_types=1); namespace OCA\User_LDAP\Command; +use OCA\User_LDAP\Group_Proxy; use OCA\User_LDAP\Helper; use OCA\User_LDAP\Mapping\GroupMapping; -use OCA\User_LDAP\Group_Proxy; use OCA\User_LDAP\Service\UpdateGroupsService; +use OCP\EventDispatcher\IEventDispatcher; +use OCP\Group\Events\GroupCreatedEvent; +use OCP\Group\Events\UserAddedEvent; +use OCP\Group\Events\UserRemovedEvent; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -46,6 +50,7 @@ class CheckGroup extends Command { protected Group_Proxy $backend, protected Helper $helper, protected GroupMapping $mapping, + protected IEventDispatcher $dispatcher, ) { parent::__construct(); } @@ -75,6 +80,9 @@ class CheckGroup extends Command { } protected function execute(InputInterface $input, OutputInterface $output): int { + $this->dispatcher->addListener(GroupCreatedEvent::class, fn ($event) => $this->onGroupCreatedEvent($event, $output)); + $this->dispatcher->addListener(UserAddedEvent::class, fn ($event) => $this->onUserAddedEvent($event, $output)); + $this->dispatcher->addListener(UserRemovedEvent::class, fn ($event) => $this->onUserRemovedEvent($event, $output)); try { $this->assertAllowed($input->getOption('force')); $gid = $input->getArgument('ocName'); @@ -105,6 +113,22 @@ class CheckGroup extends Command { } } + public function onGroupCreatedEvent(GroupChangedEvent $event, OutputInterface $output): void { + $output->writeln('The group '.$event->getGroup()->getGID().' was added to Nextcloud with '.$event->getGroup()->count().' users'); + } + + public function onUserAddedEvent(UserAddedEvent $event, OutputInterface $output): void { + $user = $event->getUser(); + $group = $event->getGroup(); + $output->writeln('The user '.$user->getUID().' was added to group '.$group->getGID().''); + } + + public function onUserRemovedEvent(UserRemovedEvent $event, OutputInterface $output): void { + $user = $event->getUser(); + $group = $event->getGroup(); + $output->writeln('The user '.$user->getUID().' was removed from group '.$group->getGID().''); + } + /** * checks whether a group is actually mapped * @param string $ocName the groupname as used in Nextcloud -- 2.39.5