diff --git a/apps/dav/lib/Events/CalendarObjectCreatedEvent.php b/apps/dav/lib/Events/CalendarObjectCreatedEvent.php index 187ded2dcd4f9..15c139f8bd009 100644 --- a/apps/dav/lib/Events/CalendarObjectCreatedEvent.php +++ b/apps/dav/lib/Events/CalendarObjectCreatedEvent.php @@ -9,6 +9,7 @@ namespace OCA\DAV\Events; use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IWebhookCompatibleEvent; /** * Class CalendarObjectCreatedEvent @@ -16,7 +17,7 @@ * @package OCA\DAV\Events * @since 20.0.0 */ -class CalendarObjectCreatedEvent extends Event { +class CalendarObjectCreatedEvent extends Event implements IWebhookCompatibleEvent { /** * CalendarObjectCreatedEvent constructor. @@ -67,4 +68,17 @@ public function getShares(): array { public function getObjectData(): array { return $this->objectData; } + + /** + * @return array + * @since 32.0.0 + */ + public function getWebhookSerializable(): array { + return [ + 'calendarId' => $this->getCalendarId(), + 'calendarData' => $this->getCalendarData(), + 'shares' => $this->getShares(), + 'objectData' => $this->getObjectData(), + ]; + } } diff --git a/apps/dav/lib/Events/CalendarObjectDeletedEvent.php b/apps/dav/lib/Events/CalendarObjectDeletedEvent.php index 9928080f99b2a..449be002a1b3a 100644 --- a/apps/dav/lib/Events/CalendarObjectDeletedEvent.php +++ b/apps/dav/lib/Events/CalendarObjectDeletedEvent.php @@ -9,6 +9,7 @@ namespace OCA\DAV\Events; use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IWebhookCompatibleEvent; /** * Class CalendarObjectDeletedEvent @@ -16,7 +17,7 @@ * @package OCA\DAV\Events * @since 20.0.0 */ -class CalendarObjectDeletedEvent extends Event { +class CalendarObjectDeletedEvent extends Event implements IWebhookCompatibleEvent { /** * CalendarObjectDeletedEvent constructor. @@ -67,4 +68,17 @@ public function getShares(): array { public function getObjectData(): array { return $this->objectData; } + + /** + * @return array + * @since 32.0.0 + */ + public function getWebhookSerializable(): array { + return [ + 'calendarId' => $this->getCalendarId(), + 'calendarData' => $this->getCalendarData(), + 'shares' => $this->getShares(), + 'objectData' => $this->getObjectData(), + ]; + } } diff --git a/apps/dav/lib/Events/CalendarObjectMovedEvent.php b/apps/dav/lib/Events/CalendarObjectMovedEvent.php index 0b57919ddc9f3..0efd49d648f94 100644 --- a/apps/dav/lib/Events/CalendarObjectMovedEvent.php +++ b/apps/dav/lib/Events/CalendarObjectMovedEvent.php @@ -9,6 +9,7 @@ namespace OCA\DAV\Events; use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IWebhookCompatibleEvent; /** * Class CalendarObjectMovedEvent @@ -16,7 +17,7 @@ * @package OCA\DAV\Events * @since 25.0.0 */ -class CalendarObjectMovedEvent extends Event { +class CalendarObjectMovedEvent extends Event implements IWebhookCompatibleEvent { /** * @since 25.0.0 */ @@ -87,4 +88,20 @@ public function getTargetShares(): array { public function getObjectData(): array { return $this->objectData; } + + /** + * @return array + * @since 32.0.0 + */ + public function getWebhookSerializable(): array { + return [ + 'sourceCalendarId' => $this->getSourceCalendarId(), + 'sourceCalendarData' => $this->getSourceCalendarData(), + 'targetCalendarId' => $this->getTargetCalendarId(), + 'targetCalendarData' => $this->getTargetCalendarData(), + 'sourceShares' => $this->getSourceShares(), + 'targetShares' => $this->getTargetShares(), + 'objectData' => $this->getObjectData(), + ]; + } } diff --git a/apps/dav/lib/Events/CalendarObjectMovedToTrashEvent.php b/apps/dav/lib/Events/CalendarObjectMovedToTrashEvent.php index a26aca4ff2bfa..5030f3d5e2e98 100644 --- a/apps/dav/lib/Events/CalendarObjectMovedToTrashEvent.php +++ b/apps/dav/lib/Events/CalendarObjectMovedToTrashEvent.php @@ -9,11 +9,12 @@ namespace OCA\DAV\Events; use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IWebhookCompatibleEvent; /** * @since 22.0.0 */ -class CalendarObjectMovedToTrashEvent extends Event { +class CalendarObjectMovedToTrashEvent extends Event implements IWebhookCompatibleEvent { /** * @param int $calendarId @@ -62,4 +63,17 @@ public function getShares(): array { public function getObjectData(): array { return $this->objectData; } + + /** + * @return array + * @since 32.0.0 + */ + public function getWebhookSerializable(): array { + return [ + 'calendarId' => $this->getCalendarId(), + 'calendarData' => $this->getCalendarData(), + 'shares' => $this->getShares(), + 'objectData' => $this->getObjectData(), + ]; + } } diff --git a/apps/dav/lib/Events/CalendarObjectRestoredEvent.php b/apps/dav/lib/Events/CalendarObjectRestoredEvent.php index 99d752de466ae..8940e0b5b0d3d 100644 --- a/apps/dav/lib/Events/CalendarObjectRestoredEvent.php +++ b/apps/dav/lib/Events/CalendarObjectRestoredEvent.php @@ -9,11 +9,12 @@ namespace OCA\DAV\Events; use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IWebhookCompatibleEvent; /** * @since 22.0.0 */ -class CalendarObjectRestoredEvent extends Event { +class CalendarObjectRestoredEvent extends Event implements IWebhookCompatibleEvent { /** * @param int $calendarId @@ -62,4 +63,17 @@ public function getShares(): array { public function getObjectData(): array { return $this->objectData; } + + /** + * @return array + * @since 32.0.0 + */ + public function getWebhookSerializable(): array { + return [ + 'calendarId' => $this->getCalendarId(), + 'calendarData' => $this->getCalendarData(), + 'shares' => $this->getShares(), + 'objectData' => $this->getObjectData(), + ]; + } } diff --git a/apps/dav/lib/Events/CalendarObjectUpdatedEvent.php b/apps/dav/lib/Events/CalendarObjectUpdatedEvent.php index 8c4b843609d94..0447c5374254c 100644 --- a/apps/dav/lib/Events/CalendarObjectUpdatedEvent.php +++ b/apps/dav/lib/Events/CalendarObjectUpdatedEvent.php @@ -9,6 +9,7 @@ namespace OCA\DAV\Events; use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IWebhookCompatibleEvent; /** * Class CalendarObjectUpdatedEvent @@ -16,7 +17,7 @@ * @package OCA\DAV\Events * @since 20.0.0 */ -class CalendarObjectUpdatedEvent extends Event { +class CalendarObjectUpdatedEvent extends Event implements IWebhookCompatibleEvent { /** * CalendarObjectUpdatedEvent constructor. @@ -67,4 +68,17 @@ public function getShares(): array { public function getObjectData(): array { return $this->objectData; } + + /** + * @return array + * @since 32.0.0 + */ + public function getWebhookSerializable(): array { + return [ + 'calendarId' => $this->getCalendarId(), + 'calendarData' => $this->getCalendarData(), + 'shares' => $this->getShares(), + 'objectData' => $this->getObjectData(), + ]; + } }