Skip to content

Commit

Permalink
feat(dav): add webhook compatibility for calendar object events
Browse files Browse the repository at this point in the history
Signed-off-by: Edward Ly <[email protected]>
  • Loading branch information
edward-ly committed Feb 27, 2025
1 parent 7ef9ffa commit aa749d0
Show file tree
Hide file tree
Showing 6 changed files with 93 additions and 6 deletions.
16 changes: 15 additions & 1 deletion apps/dav/lib/Events/CalendarObjectCreatedEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@
namespace OCA\DAV\Events;

use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IWebhookCompatibleEvent;

/**
* Class CalendarObjectCreatedEvent
*
* @package OCA\DAV\Events
* @since 20.0.0
*/
class CalendarObjectCreatedEvent extends Event {
class CalendarObjectCreatedEvent extends Event implements IWebhookCompatibleEvent {

/**
* CalendarObjectCreatedEvent constructor.
Expand Down Expand Up @@ -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(),
];
}
}
16 changes: 15 additions & 1 deletion apps/dav/lib/Events/CalendarObjectDeletedEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@
namespace OCA\DAV\Events;

use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IWebhookCompatibleEvent;

/**
* Class CalendarObjectDeletedEvent
*
* @package OCA\DAV\Events
* @since 20.0.0
*/
class CalendarObjectDeletedEvent extends Event {
class CalendarObjectDeletedEvent extends Event implements IWebhookCompatibleEvent {

/**
* CalendarObjectDeletedEvent constructor.
Expand Down Expand Up @@ -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(),
];
}
}
19 changes: 18 additions & 1 deletion apps/dav/lib/Events/CalendarObjectMovedEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@
namespace OCA\DAV\Events;

use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IWebhookCompatibleEvent;

/**
* Class CalendarObjectMovedEvent
*
* @package OCA\DAV\Events
* @since 25.0.0
*/
class CalendarObjectMovedEvent extends Event {
class CalendarObjectMovedEvent extends Event implements IWebhookCompatibleEvent {
/**
* @since 25.0.0
*/
Expand Down Expand Up @@ -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(),
];
}
}
16 changes: 15 additions & 1 deletion apps/dav/lib/Events/CalendarObjectMovedToTrashEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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(),
];
}
}
16 changes: 15 additions & 1 deletion apps/dav/lib/Events/CalendarObjectRestoredEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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(),
];
}
}
16 changes: 15 additions & 1 deletion apps/dav/lib/Events/CalendarObjectUpdatedEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@
namespace OCA\DAV\Events;

use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IWebhookCompatibleEvent;

/**
* Class CalendarObjectUpdatedEvent
*
* @package OCA\DAV\Events
* @since 20.0.0
*/
class CalendarObjectUpdatedEvent extends Event {
class CalendarObjectUpdatedEvent extends Event implements IWebhookCompatibleEvent {

/**
* CalendarObjectUpdatedEvent constructor.
Expand Down Expand Up @@ -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(),
];
}
}

0 comments on commit aa749d0

Please sign in to comment.