aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorCôme Chilliet <come.chilliet@nextcloud.com>2023-08-01 12:22:40 +0200
committerCôme Chilliet <come.chilliet@nextcloud.com>2023-08-10 10:57:34 +0200
commit7a14aa748e94b49c954a55d2a5815f4eef2e3ea8 (patch)
tree22d2688fd325d63ef6d45ee45a309eab47121a98 /apps
parentce5a4e5b6696efffa911c15cc7e2789cf504ad2d (diff)
downloadnextcloud-server-7a14aa748e94b49c954a55d2a5815f4eef2e3ea8.tar.gz
nextcloud-server-7a14aa748e94b49c954a55d2a5815f4eef2e3ea8.zip
Add output to check-group --update command
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'apps')
-rw-r--r--apps/user_ldap/lib/Command/CheckGroup.php26
1 files changed, 25 insertions, 1 deletions
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('<info>The group '.$event->getGroup()->getGID().' was added to Nextcloud with '.$event->getGroup()->count().' users</info>');
+ }
+
+ public function onUserAddedEvent(UserAddedEvent $event, OutputInterface $output): void {
+ $user = $event->getUser();
+ $group = $event->getGroup();
+ $output->writeln('<info>The user '.$user->getUID().' was added to group '.$group->getGID().'</info>');
+ }
+
+ public function onUserRemovedEvent(UserRemovedEvent $event, OutputInterface $output): void {
+ $user = $event->getUser();
+ $group = $event->getGroup();
+ $output->writeln('<info>The user '.$user->getUID().' was removed from group '.$group->getGID().'</info>');
+ }
+
/**
* checks whether a group is actually mapped
* @param string $ocName the groupname as used in Nextcloud