Skip to content

Commit 090a540

Browse files
added support for addressbook push
1 parent 41a3139 commit 090a540

File tree

2 files changed

+35
-12
lines changed

2 files changed

+35
-12
lines changed

lib/AppInfo/Application.php

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,27 @@
66
namespace OCA\DavPush\AppInfo;
77

88
use OCA\DavPush\Listener\SabrePluginAddListener;
9-
use OCA\DavPush\Listener\CalendarListener;
9+
use OCA\DavPush\Listener\ResourceListener;
1010

1111
use OCP\AppFramework\App;
1212
use OCP\AppFramework\Bootstrap\IBootstrap;
1313
use OCP\AppFramework\Bootstrap\IRegistrationContext;
1414
use OCP\AppFramework\Bootstrap\IBootContext;
1515

1616
use OCA\DAV\Events\SabrePluginAddEvent;
17+
1718
use OCA\DAV\Events\CalendarObjectCreatedEvent;
1819
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
1920
use OCA\DAV\Events\CalendarObjectRestoredEvent;
2021
use OCA\DAV\Events\CalendarObjectDeletedEvent;
2122
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
2223
use OCA\DAV\Events\CalendarObjectMovedEvent;
2324

25+
use OCA\DAV\Events\CardCreatedEvent;
26+
use OCA\DAV\Events\CardUpdatedEvent;
27+
use OCA\DAV\Events\CardDeletedEvent;
28+
use OCA\DAV\Events\CardMovedEvent;
29+
2430
class Application extends App implements IBootstrap {
2531
public const APP_ID = 'dav_push';
2632

@@ -30,12 +36,18 @@ public function __construct() {
3036

3137
public function register(IRegistrationContext $context): void {
3238
$context->registerEventListener(SabrePluginAddEvent::class, SabrePluginAddListener::class);
33-
$context->registerEventListener(CalendarObjectCreatedEvent::class, CalendarListener::class);
34-
$context->registerEventListener(CalendarObjectMovedToTrashEvent::class, CalendarListener::class);
35-
$context->registerEventListener(CalendarObjectRestoredEvent::class, CalendarListener::class);
36-
$context->registerEventListener(CalendarObjectDeletedEvent::class, CalendarListener::class);
37-
$context->registerEventListener(CalendarObjectUpdatedEvent::class, CalendarListener::class);
38-
$context->registerEventListener(CalendarObjectMovedEvent::class, CalendarListener::class);
39+
40+
$context->registerEventListener(CalendarObjectCreatedEvent::class, ResourceListener::class);
41+
$context->registerEventListener(CalendarObjectMovedToTrashEvent::class, ResourceListener::class);
42+
$context->registerEventListener(CalendarObjectRestoredEvent::class, ResourceListener::class);
43+
$context->registerEventListener(CalendarObjectDeletedEvent::class, ResourceListener::class);
44+
$context->registerEventListener(CalendarObjectUpdatedEvent::class, ResourceListener::class);
45+
$context->registerEventListener(CalendarObjectMovedEvent::class, ResourceListener::class);
46+
47+
$context->registerEventListener(CardCreatedEvent::class, ResourceListener::class);
48+
$context->registerEventListener(CardUpdatedEvent::class, ResourceListener::class);
49+
$context->registerEventListener(CardDeletedEvent::class, ResourceListener::class);
50+
$context->registerEventListener(CardMovedEvent::class, ResourceListener::class);
3951
}
4052

4153
public function boot(IBootContext $context): void {

lib/Listener/CalendarListener.php renamed to lib/Listener/ResourceListener.php

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,19 @@
3535
use OCA\DAV\Events\CalendarObjectDeletedEvent;
3636
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
3737
use OCA\DAV\Events\CalendarObjectMovedEvent;
38+
3839
use OCA\DAV\Events\CardCreatedEvent;
39-
use OCA\DAV\Events\CardDeletedEvent;
4040
use OCA\DAV\Events\CardUpdatedEvent;
41+
use OCA\DAV\Events\CardDeletedEvent;
42+
use OCA\DAV\Events\CardMovedEvent;
4143

4244
use Psr\Log\LoggerInterface;
4345

4446
use OCA\DavPush\Service\SubscriptionService;
4547
use OCA\DavPush\Transport\TransportManager;
4648
use OCA\DavPush\Helper\ErrorHandlingHelper;
4749

48-
class CalendarListener implements IEventListener {
50+
class ResourceListener implements IEventListener {
4951

5052
public function __construct(
5153
private LoggerInterface $logger,
@@ -59,12 +61,21 @@ public function handle(Event $event): void {
5961
if (($event instanceOf CalendarObjectCreatedEvent) || ($event instanceOf CalendarObjectDeletedEvent) ||
6062
($event instanceOf CalendarObjectUpdatedEvent) || ($event instanceOf CalendarObjectMovedToTrashEvent) ||
6163
($event instanceOf CalendarObjectRestoredEvent)) {
62-
$this->notifyAllSubscriptionsToResource("calendar", $event->getCalendarData()['id'], $event->getCalendarData()['{http://sabredav.org/ns}sync-token']);
64+
$this->notifyAllSubscriptionsToResource("calendar", $event->getCalendarId(), $event->getCalendarData()['{http://sabredav.org/ns}sync-token']);
6365
}
6466

6567
if($event instanceOf CalendarObjectMovedEvent) {
66-
$this->notifyAllSubscriptionsToResource("calendar", $event->getSourceCalendarData()['id'], $event->getSourceCalendarData()['{http://sabredav.org/ns}sync-token']);
67-
$this->notifyAllSubscriptionsToResource("calendar", $event->getTargetCalendarData()['id'], $event->getTargetCalendarData()['{http://sabredav.org/ns}sync-token']);
68+
$this->notifyAllSubscriptionsToResource("calendar", $event->getSourceCalendarId(), $event->getSourceCalendarData()['{http://sabredav.org/ns}sync-token']);
69+
$this->notifyAllSubscriptionsToResource("calendar", $event->getTargetCalendarId(), $event->getTargetCalendarData()['{http://sabredav.org/ns}sync-token']);
70+
}
71+
72+
if (($event instanceOf CardCreatedEvent) || ($event instanceOf CardUpdatedEvent) || ($event instanceOf CardDeletedEvent)) {
73+
$this->notifyAllSubscriptionsToResource("addressbook", $event->getAddressBookId(), $event->getAddressBookData()['{http://sabredav.org/ns}sync-token']);
74+
}
75+
76+
if($event instanceOf CardMovedEvent) {
77+
$this->notifyAllSubscriptionsToResource("addressbook", $event->getSourceAddressBookId(), $event->getSourceAddressBookData()['{http://sabredav.org/ns}sync-token']);
78+
$this->notifyAllSubscriptionsToResource("addressbook", $event->getTargetAddressBookId(), $event->getTargetAddressBookData()['{http://sabredav.org/ns}sync-token']);
6879
}
6980
}
7081

0 commit comments

Comments
 (0)