Add dav plugin to expose calendars

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2020-02-16 14:30:11 +01:00
parent 80aa2f5609
commit 3cb278f77f
5 changed files with 492 additions and 1 deletions

View File

@@ -24,6 +24,7 @@
namespace OCA\Deck\Db;
use DateTime;
use Sabre\VObject\Component\VCalendar;
class Card extends RelationalEntity {
protected $title;
@@ -117,4 +118,17 @@ class Card extends RelationalEntity {
unset($json['descriptionPrev']);
return $json;
}
public function getCalendarObject(): VCalendar {
$calendar = new VCalendar();
$event = $calendar->createComponent('VEVENT');
$event->UID = 'deck-cardevent' . $this->getId() . '@example.com';
$event->DTSTAMP = new \DateTime($this->getDuedate());
$event->DTSTART = new \DateTime($this->getDuedate());
$event->DTEND = new \DateTime($this->getDuedate());
$event->SUMMARY = $this->getTitle();
$calendar->add($event);
return $calendar;
}
}