diff options
Diffstat (limited to 'apps/dav/lib')
-rw-r--r-- | apps/dav/lib/AppInfo/Application.php | 35 | ||||
-rw-r--r-- | apps/dav/lib/Listener/CalendarShareUpdateListener.php | 2 | ||||
-rw-r--r-- | apps/dav/lib/Listener/UserEventsListener.php | 9 |
3 files changed, 14 insertions, 32 deletions
diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php index 1c105cffca5..edf7dd1214f 100644 --- a/apps/dav/lib/AppInfo/Application.php +++ b/apps/dav/lib/AppInfo/Application.php @@ -9,7 +9,6 @@ declare(strict_types=1); */ namespace OCA\DAV\AppInfo; -use OCA\DAV\CalDAV\Activity\Backend; use OCA\DAV\CalDAV\AppCalendar\AppCalendarPlugin; use OCA\DAV\CalDAV\CachedSubscriptionProvider; use OCA\DAV\CalDAV\CalendarManager; @@ -82,7 +81,6 @@ use OCP\Config\BeforePreferenceDeletedEvent; use OCP\Config\BeforePreferenceSetEvent; use OCP\Contacts\IManager as IContactsManager; use OCP\DB\Events\AddMissingIndicesEvent; -use OCP\EventDispatcher\IEventDispatcher; use OCP\Federation\Events\TrustedServerRemovedEvent; use OCP\Files\AppData\IAppDataFactory; use OCP\IUserSession; @@ -205,6 +203,7 @@ class Application extends App implements IBootstrap { $context->registerEventListener(UserDeletedEvent::class, UserEventsListener::class); $context->registerEventListener(UserCreatedEvent::class, UserEventsListener::class); $context->registerEventListener(UserChangedEvent::class, UserEventsListener::class); + $context->registerEventListener(UserUpdatedEvent::class, UserEventsListener::class); $context->registerNotifierService(Notifier::class); @@ -228,35 +227,9 @@ class Application extends App implements IBootstrap { // Load all dav apps \OC_App::loadApps(['dav']); - $context->injectFn([$this, 'registerHooks']); - $context->injectFn([$this, 'registerContactsManager']); - $context->injectFn([$this, 'registerCalendarManager']); - $context->injectFn([$this, 'registerCalendarReminders']); - } - - public function registerHooks( - IEventDispatcher $dispatcher, - IAppContainer $container, - ): void { - $dispatcher->addListener(UserUpdatedEvent::class, function (UserUpdatedEvent $event) use ($container): void { - /** @var SyncService $syncService */ - $syncService = Server::get(SyncService::class); - $syncService->updateUser($event->getUser()); - }); - - - $dispatcher->addListener(CalendarShareUpdatedEvent::class, function (CalendarShareUpdatedEvent $event) use ($container): void { - /** @var Backend $backend */ - $backend = $container->query(Backend::class); - $backend->onCalendarUpdateShares( - $event->getCalendarData(), - $event->getOldShares(), - $event->getAdded(), - $event->getRemoved() - ); - - // Here we should recalculate if reminders should be sent to new or old sharees - }); + $context->injectFn($this->registerContactsManager(...)); + $context->injectFn($this->registerCalendarManager(...)); + $context->injectFn($this->registerCalendarReminders(...)); } public function registerContactsManager(IContactsManager $cm, IAppContainer $container): void { diff --git a/apps/dav/lib/Listener/CalendarShareUpdateListener.php b/apps/dav/lib/Listener/CalendarShareUpdateListener.php index 541b0d07736..b673d5d2e42 100644 --- a/apps/dav/lib/Listener/CalendarShareUpdateListener.php +++ b/apps/dav/lib/Listener/CalendarShareUpdateListener.php @@ -39,5 +39,7 @@ class CalendarShareUpdateListener implements IEventListener { $event->getAdded(), $event->getRemoved() ); + + // Here we should recalculate if reminders should be sent to new or old sharees } } diff --git a/apps/dav/lib/Listener/UserEventsListener.php b/apps/dav/lib/Listener/UserEventsListener.php index d7ca9f3fdaa..61d945e829b 100644 --- a/apps/dav/lib/Listener/UserEventsListener.php +++ b/apps/dav/lib/Listener/UserEventsListener.php @@ -13,6 +13,7 @@ use OCA\DAV\CalDAV\CalDavBackend; use OCA\DAV\CardDAV\CardDavBackend; use OCA\DAV\CardDAV\SyncService; use OCA\DAV\Service\DefaultContactService; +use OCP\Accounts\UserUpdatedEvent; use OCP\Defaults; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; @@ -29,7 +30,7 @@ use OCP\User\Events\UserIdAssignedEvent; use OCP\User\Events\UserIdUnassignedEvent; use Psr\Log\LoggerInterface; -/** @template-implements IEventListener<UserFirstTimeLoggedInEvent|UserIdAssignedEvent|BeforeUserIdUnassignedEvent|UserIdUnassignedEvent|BeforeUserDeletedEvent|UserDeletedEvent|UserCreatedEvent|UserChangedEvent> */ +/** @template-implements IEventListener<UserFirstTimeLoggedInEvent|UserIdAssignedEvent|BeforeUserIdUnassignedEvent|UserIdUnassignedEvent|BeforeUserDeletedEvent|UserDeletedEvent|UserCreatedEvent|UserChangedEvent|UserUpdatedEvent> */ class UserEventsListener implements IEventListener { /** @var IUser[] */ @@ -69,6 +70,8 @@ class UserEventsListener implements IEventListener { $this->changeUser($event->getUser(), $event->getFeature()); } elseif ($event instanceof UserFirstTimeLoggedInEvent) { $this->firstLogin($event->getUser()); + } elseif ($event instanceof UserUpdatedEvent) { + $this->updateUser($event->getUser()); } } @@ -76,6 +79,10 @@ class UserEventsListener implements IEventListener { $this->syncService->updateUser($user); } + public function updateUser(IUser $user): void { + $this->syncService->updateUser($user); + } + public function preDeleteUser(IUser $user): void { $uid = $user->getUID(); $userPrincipalUri = 'principals/users/' . $uid; |