aboutsummaryrefslogtreecommitdiffstats
path: root/apps/dav/lib
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav/lib')
-rw-r--r--apps/dav/lib/AppInfo/Application.php35
-rw-r--r--apps/dav/lib/Listener/CalendarShareUpdateListener.php2
-rw-r--r--apps/dav/lib/Listener/UserEventsListener.php9
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;