|  | 
| 36 | 36 | use OCA\DAV\BackgroundJob\UpdateCalendarResourcesRoomsBackgroundJob; | 
| 37 | 37 | use OCA\DAV\CalDAV\Activity\Backend; | 
| 38 | 38 | use OCA\DAV\CalDAV\BirthdayService; | 
| 39 |  | -use OCA\DAV\CalDAV\CalDavBackend; | 
| 40 | 39 | use OCA\DAV\CalDAV\CalendarManager; | 
| 41 | 40 | use OCA\DAV\CalDAV\CalendarProvider; | 
| 42 |  | -use OCA\DAV\CalDAV\Reminder\Backend as ReminderBackend; | 
| 43 | 41 | use OCA\DAV\CalDAV\Reminder\NotificationProvider\AudioProvider; | 
| 44 | 42 | use OCA\DAV\CalDAV\Reminder\NotificationProvider\EmailProvider; | 
| 45 | 43 | use OCA\DAV\CalDAV\Reminder\NotificationProvider\PushProvider; | 
| 46 | 44 | use OCA\DAV\CalDAV\Reminder\NotificationProviderManager; | 
| 47 | 45 | use OCA\DAV\CalDAV\Reminder\Notifier; | 
| 48 | 46 | 
 | 
| 49 |  | -use OCA\DAV\CalDAV\WebcalCaching\RefreshWebcalService; | 
| 50 | 47 | use OCA\DAV\Capabilities; | 
| 51 | 48 | use OCA\DAV\CardDAV\CardDavBackend; | 
| 52 | 49 | use OCA\DAV\CardDAV\ContactsManager; | 
|  | 
| 70 | 67 | use OCA\DAV\Events\CardCreatedEvent; | 
| 71 | 68 | use OCA\DAV\Events\CardDeletedEvent; | 
| 72 | 69 | use OCA\DAV\Events\CardUpdatedEvent; | 
|  | 70 | +use OCA\DAV\Events\SubscriptionCreatedEvent; | 
|  | 71 | +use OCA\DAV\Events\SubscriptionDeletedEvent; | 
| 73 | 72 | use OCA\DAV\HookManager; | 
| 74 | 73 | use OCA\DAV\Listener\ActivityUpdaterListener; | 
| 75 | 74 | use OCA\DAV\Listener\AddressbookListener; | 
| 76 | 75 | use OCA\DAV\Listener\CalendarContactInteractionListener; | 
| 77 | 76 | use OCA\DAV\Listener\CalendarDeletionDefaultUpdaterListener; | 
| 78 | 77 | use OCA\DAV\Listener\CalendarObjectReminderUpdaterListener; | 
| 79 | 78 | use OCA\DAV\Listener\CardListener; | 
|  | 79 | +use OCA\DAV\Listener\SubscriptionCreationListener; | 
|  | 80 | +use OCA\DAV\Listener\SubscriptionDeletionListener; | 
| 80 | 81 | use OCA\DAV\Search\ContactsSearchProvider; | 
| 81 | 82 | use OCA\DAV\Search\EventsSearchProvider; | 
| 82 | 83 | use OCA\DAV\Search\TasksSearchProvider; | 
| @@ -153,6 +154,9 @@ public function register(IRegistrationContext $context): void { | 
| 153 | 154 | 		$context->registerEventListener(CalendarObjectRestoredEvent::class, CalendarObjectReminderUpdaterListener::class); | 
| 154 | 155 | 		$context->registerEventListener(CalendarShareUpdatedEvent::class, CalendarContactInteractionListener::class); | 
| 155 | 156 | 
 | 
|  | 157 | +		$context->registerEventListener(SubscriptionCreatedEvent::class, SubscriptionCreationListener::class); | 
|  | 158 | +		$context->registerEventListener(SubscriptionDeletedEvent::class, SubscriptionDeletionListener::class); | 
|  | 159 | + | 
| 156 | 160 | 
 | 
| 157 | 161 | 		$context->registerEventListener(AddressBookCreatedEvent::class, AddressbookListener::class); | 
| 158 | 162 | 		$context->registerEventListener(AddressBookDeletedEvent::class, AddressbookListener::class); | 
| @@ -271,48 +275,6 @@ function (GenericEvent $event) { | 
| 271 | 275 | 			} | 
| 272 | 276 | 		); | 
| 273 | 277 | 
 | 
| 274 |  | -		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::createSubscription', | 
| 275 |  | -			function (GenericEvent $event) use ($container, $serverContainer) { | 
| 276 |  | -				$jobList = $serverContainer->getJobList(); | 
| 277 |  | -				$subscriptionData = $event->getArgument('subscriptionData'); | 
| 278 |  | - | 
| 279 |  | -				/** | 
| 280 |  | -				 * Initial subscription refetch | 
| 281 |  | -				 * | 
| 282 |  | -				 * @var RefreshWebcalService $refreshWebcalService | 
| 283 |  | -				 */ | 
| 284 |  | -				$refreshWebcalService = $container->query(RefreshWebcalService::class); | 
| 285 |  | -				$refreshWebcalService->refreshSubscription( | 
| 286 |  | -					(string) $subscriptionData['principaluri'], | 
| 287 |  | -					(string) $subscriptionData['uri'] | 
| 288 |  | -				); | 
| 289 |  | - | 
| 290 |  | -				$jobList->add(\OCA\DAV\BackgroundJob\RefreshWebcalJob::class, [ | 
| 291 |  | -					'principaluri' => $subscriptionData['principaluri'], | 
| 292 |  | -					'uri' => $subscriptionData['uri'] | 
| 293 |  | -				]); | 
| 294 |  | -			} | 
| 295 |  | -		); | 
| 296 |  | - | 
| 297 |  | -		$dispatcher->addListener('\OCA\DAV\CalDAV\CalDavBackend::deleteSubscription', | 
| 298 |  | -			function (GenericEvent $event) use ($container, $serverContainer) { | 
| 299 |  | -				$jobList = $serverContainer->getJobList(); | 
| 300 |  | -				$subscriptionData = $event->getArgument('subscriptionData'); | 
| 301 |  | - | 
| 302 |  | -				$jobList->remove(\OCA\DAV\BackgroundJob\RefreshWebcalJob::class, [ | 
| 303 |  | -					'principaluri' => $subscriptionData['principaluri'], | 
| 304 |  | -					'uri' => $subscriptionData['uri'] | 
| 305 |  | -				]); | 
| 306 |  | - | 
| 307 |  | -				/** @var CalDavBackend $calDavBackend */ | 
| 308 |  | -				$calDavBackend = $container->query(CalDavBackend::class); | 
| 309 |  | -				$calDavBackend->purgeAllCachedEventsForSubscription($subscriptionData['id']); | 
| 310 |  | -				/** @var ReminderBackend $calDavBackend */ | 
| 311 |  | -				$reminderBackend = $container->query(ReminderBackend::class); | 
| 312 |  | -				$reminderBackend->cleanRemindersForCalendar($subscriptionData['id']); | 
| 313 |  | -			} | 
| 314 |  | -		); | 
| 315 |  | - | 
| 316 | 278 | 		$eventHandler = function () use ($container, $serverContainer): void { | 
| 317 | 279 | 			try { | 
| 318 | 280 | 				/** @var UpdateCalendarResourcesRoomsBackgroundJob $job */ | 
|  | 
0 commit comments