Skip to content

Commit 4d75eea

Browse files
Merge pull request #51331 from nextcloud/backport/51082/stable31
[stable31] feat(dav): add webhook compatibility for calendar object events
2 parents 48a2de0 + bcb2c50 commit 4d75eea

22 files changed

+331
-27
lines changed

apps/dav/lib/AppInfo/Application.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,6 @@
3131
use OCA\DAV\Events\CalendarCreatedEvent;
3232
use OCA\DAV\Events\CalendarDeletedEvent;
3333
use OCA\DAV\Events\CalendarMovedToTrashEvent;
34-
use OCA\DAV\Events\CalendarObjectCreatedEvent;
35-
use OCA\DAV\Events\CalendarObjectDeletedEvent;
36-
use OCA\DAV\Events\CalendarObjectMovedEvent;
37-
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
38-
use OCA\DAV\Events\CalendarObjectRestoredEvent;
39-
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
4034
use OCA\DAV\Events\CalendarPublishedEvent;
4135
use OCA\DAV\Events\CalendarRestoredEvent;
4236
use OCA\DAV\Events\CalendarShareUpdatedEvent;
@@ -76,6 +70,12 @@
7670
use OCP\AppFramework\Bootstrap\IBootstrap;
7771
use OCP\AppFramework\Bootstrap\IRegistrationContext;
7872
use OCP\AppFramework\IAppContainer;
73+
use OCP\Calendar\Events\CalendarObjectCreatedEvent;
74+
use OCP\Calendar\Events\CalendarObjectDeletedEvent;
75+
use OCP\Calendar\Events\CalendarObjectMovedEvent;
76+
use OCP\Calendar\Events\CalendarObjectMovedToTrashEvent;
77+
use OCP\Calendar\Events\CalendarObjectRestoredEvent;
78+
use OCP\Calendar\Events\CalendarObjectUpdatedEvent;
7979
use OCP\Calendar\IManager as ICalendarManager;
8080
use OCP\Config\BeforePreferenceDeletedEvent;
8181
use OCP\Config\BeforePreferenceSetEvent;

apps/dav/lib/CalDAV/CalDavBackend.php

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
use OCA\DAV\Events\CalendarCreatedEvent;
2020
use OCA\DAV\Events\CalendarDeletedEvent;
2121
use OCA\DAV\Events\CalendarMovedToTrashEvent;
22-
use OCA\DAV\Events\CalendarObjectCreatedEvent;
23-
use OCA\DAV\Events\CalendarObjectDeletedEvent;
24-
use OCA\DAV\Events\CalendarObjectMovedEvent;
25-
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
26-
use OCA\DAV\Events\CalendarObjectRestoredEvent;
27-
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
22+
use OCA\DAV\Events\CalendarObjectCreatedEvent as LegacyCalendarObjectCreatedEvent;
23+
use OCA\DAV\Events\CalendarObjectDeletedEvent as LegacyCalendarObjectDeletedEvent;
24+
use OCA\DAV\Events\CalendarObjectMovedEvent as LegacyCalendarObjectMovedEvent;
25+
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent as LegacyCalendarObjectMovedToTrashEvent;
26+
use OCA\DAV\Events\CalendarObjectRestoredEvent as LegacyCalendarObjectRestoredEvent;
27+
use OCA\DAV\Events\CalendarObjectUpdatedEvent as LegacyCalendarObjectUpdatedEvent;
2828
use OCA\DAV\Events\CalendarPublishedEvent;
2929
use OCA\DAV\Events\CalendarRestoredEvent;
3030
use OCA\DAV\Events\CalendarShareUpdatedEvent;
@@ -34,6 +34,12 @@
3434
use OCA\DAV\Events\SubscriptionDeletedEvent;
3535
use OCA\DAV\Events\SubscriptionUpdatedEvent;
3636
use OCP\AppFramework\Db\TTransactional;
37+
use OCP\Calendar\Events\CalendarObjectCreatedEvent;
38+
use OCP\Calendar\Events\CalendarObjectDeletedEvent;
39+
use OCP\Calendar\Events\CalendarObjectMovedEvent;
40+
use OCP\Calendar\Events\CalendarObjectMovedToTrashEvent;
41+
use OCP\Calendar\Events\CalendarObjectRestoredEvent;
42+
use OCP\Calendar\Events\CalendarObjectUpdatedEvent;
3743
use OCP\Calendar\Exceptions\CalendarException;
3844
use OCP\DB\Exception;
3945
use OCP\DB\QueryBuilder\IQueryBuilder;
@@ -1318,6 +1324,7 @@ public function createCalendarObject($calendarId, $objectUri, $calendarData, $ca
13181324
$shares = $this->getShares($calendarId);
13191325

13201326
$this->dispatcher->dispatchTyped(new CalendarObjectCreatedEvent($calendarId, $calendarRow, $shares, $objectRow));
1327+
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectCreatedEvent($calendarId, $calendarRow, $shares, $objectRow));
13211328
} else {
13221329
$subscriptionRow = $this->getSubscriptionById($calendarId);
13231330

@@ -1378,6 +1385,7 @@ public function updateCalendarObject($calendarId, $objectUri, $calendarData, $ca
13781385
$shares = $this->getShares($calendarId);
13791386

13801387
$this->dispatcher->dispatchTyped(new CalendarObjectUpdatedEvent($calendarId, $calendarRow, $shares, $objectRow));
1388+
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectUpdatedEvent($calendarId, $calendarRow, $shares, $objectRow));
13811389
} else {
13821390
$subscriptionRow = $this->getSubscriptionById($calendarId);
13831391

@@ -1439,6 +1447,7 @@ public function moveCalendarObject(int $sourceCalendarId, int $targetCalendarId,
14391447
$targetShares = $this->getShares($targetCalendarId);
14401448
$sourceCalendarRow = $this->getCalendarById($sourceCalendarId);
14411449
$this->dispatcher->dispatchTyped(new CalendarObjectMovedEvent($sourceCalendarId, $sourceCalendarRow, $targetCalendarId, $targetCalendarRow, $sourceShares, $targetShares, $object));
1450+
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectMovedEvent($sourceCalendarId, $sourceCalendarRow, $targetCalendarId, $targetCalendarRow, $sourceShares, $targetShares, $object));
14421451
}
14431452
return true;
14441453
}, $this->db);
@@ -1497,6 +1506,7 @@ public function deleteCalendarObject($calendarId, $objectUri, $calendarType = se
14971506
$shares = $this->getShares($calendarId);
14981507

14991508
$this->dispatcher->dispatchTyped(new CalendarObjectDeletedEvent($calendarId, $calendarRow, $shares, $data));
1509+
$this->dispatcher->dispatchTyped(new LegacyCalendarObjectDeletedEvent($calendarId, $calendarRow, $shares, $data));
15001510
} else {
15011511
$subscriptionRow = $this->getSubscriptionById($calendarId);
15021512

@@ -1546,6 +1556,14 @@ public function deleteCalendarObject($calendarId, $objectUri, $calendarType = se
15461556
$data
15471557
)
15481558
);
1559+
$this->dispatcher->dispatchTyped(
1560+
new LegacyCalendarObjectMovedToTrashEvent(
1561+
$calendarId,
1562+
$calendarData,
1563+
$this->getShares($calendarId),
1564+
$data
1565+
)
1566+
);
15491567
}
15501568
}
15511569

@@ -1605,6 +1623,14 @@ public function restoreCalendarObject(array $objectData): void {
16051623
$row
16061624
)
16071625
);
1626+
$this->dispatcher->dispatchTyped(
1627+
new LegacyCalendarObjectRestoredEvent(
1628+
(int)$objectData['calendarid'],
1629+
$calendarRow,
1630+
$this->getShares((int)$row['calendarid']),
1631+
$row
1632+
)
1633+
);
16081634
}, $this->db);
16091635
}
16101636

apps/dav/lib/Events/CalendarObjectCreatedEvent.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*
1616
* @package OCA\DAV\Events
1717
* @since 20.0.0
18+
* @deprecated 31.0.2 Use {@see \OCP\Calendar\Events\CalendarObjectCreatedEvent} instead
1819
*/
1920
class CalendarObjectCreatedEvent extends Event {
2021

apps/dav/lib/Events/CalendarObjectDeletedEvent.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*
1616
* @package OCA\DAV\Events
1717
* @since 20.0.0
18+
* @deprecated 31.0.2 Use {@see \OCP\Calendar\Events\CalendarObjectDeletedEvent} instead
1819
*/
1920
class CalendarObjectDeletedEvent extends Event {
2021

apps/dav/lib/Events/CalendarObjectMovedEvent.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*
1616
* @package OCA\DAV\Events
1717
* @since 25.0.0
18+
* @deprecated 31.0.2 Use {@see \OCP\Calendar\Events\CalendarObjectMovedEvent} instead
1819
*/
1920
class CalendarObjectMovedEvent extends Event {
2021
/**

apps/dav/lib/Events/CalendarObjectMovedToTrashEvent.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
/**
1414
* @since 22.0.0
15+
* @deprecated 31.0.2 Use {@see \OCP\Calendar\Events\CalendarObjectMovedToTrashEvent} instead
1516
*/
1617
class CalendarObjectMovedToTrashEvent extends Event {
1718

apps/dav/lib/Events/CalendarObjectRestoredEvent.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
/**
1414
* @since 22.0.0
15+
* @deprecated 31.0.2 Use {@see \OCP\Calendar\Events\CalendarObjectRestoredEvent} instead
1516
*/
1617
class CalendarObjectRestoredEvent extends Event {
1718

apps/dav/lib/Events/CalendarObjectUpdatedEvent.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*
1616
* @package OCA\DAV\Events
1717
* @since 20.0.0
18+
* @deprecated 31.0.2 Use {@see \OCP\Calendar\Events\CalendarObjectUpdatedEvent} instead
1819
*/
1920
class CalendarObjectUpdatedEvent extends Event {
2021

apps/dav/lib/Listener/ActivityUpdaterListener.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
use OCA\DAV\Events\CalendarCreatedEvent;
1414
use OCA\DAV\Events\CalendarDeletedEvent;
1515
use OCA\DAV\Events\CalendarMovedToTrashEvent;
16-
use OCA\DAV\Events\CalendarObjectCreatedEvent;
17-
use OCA\DAV\Events\CalendarObjectDeletedEvent;
18-
use OCA\DAV\Events\CalendarObjectMovedEvent;
19-
use OCA\DAV\Events\CalendarObjectMovedToTrashEvent;
20-
use OCA\DAV\Events\CalendarObjectRestoredEvent;
21-
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
2216
use OCA\DAV\Events\CalendarRestoredEvent;
2317
use OCA\DAV\Events\CalendarUpdatedEvent;
18+
use OCP\Calendar\Events\CalendarObjectCreatedEvent;
19+
use OCP\Calendar\Events\CalendarObjectDeletedEvent;
20+
use OCP\Calendar\Events\CalendarObjectMovedEvent;
21+
use OCP\Calendar\Events\CalendarObjectMovedToTrashEvent;
22+
use OCP\Calendar\Events\CalendarObjectRestoredEvent;
23+
use OCP\Calendar\Events\CalendarObjectUpdatedEvent;
2424
use OCP\EventDispatcher\Event;
2525
use OCP\EventDispatcher\IEventListener;
2626
use Psr\Log\LoggerInterface;

apps/dav/lib/Listener/CalendarContactInteractionListener.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
namespace OCA\DAV\Listener;
1010

1111
use OCA\DAV\Connector\Sabre\Principal;
12-
use OCA\DAV\Events\CalendarObjectCreatedEvent;
13-
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
1412
use OCA\DAV\Events\CalendarShareUpdatedEvent;
13+
use OCP\Calendar\Events\CalendarObjectCreatedEvent;
14+
use OCP\Calendar\Events\CalendarObjectUpdatedEvent;
1515
use OCP\Contacts\Events\ContactInteractedWithEvent;
1616
use OCP\EventDispatcher\Event;
1717
use OCP\EventDispatcher\IEventDispatcher;

0 commit comments

Comments
 (0)