refactor: chrono objects

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-06-28 17:51:23 -04:00
parent 319fcb6485
commit 8f61c4d2d5
38 changed files with 224 additions and 48 deletions
@@ -0,0 +1,50 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace KTXF\Chrono\Entity\Property;
use DateInterval;
use DateTime;
use DateTimeImmutable;
use DateTimeZone;
use KTXF\Json\JsonSerializableObject;
class EventCommonObject extends JsonSerializableObject {
public int|null $sequence = null;
public DateTimeZone|null $timeZone = null;
public DateTime|DateTimeImmutable|null $startsOn = null;
public DateTimeZone|null $startsTZ = null;
public DateTime|DateTimeImmutable|null $endsOn = null;
public DateTimeZone|null $endsTZ = null;
public DateInterval|null $duration = null;
public bool|null $timeless = false;
public string|null $label = null;
public string|null $description = null;
public EventLocationPhysicalCollection $locationsPhysical;
public EventLocationVirtualCollection $locationsVirtual;
public EventAvailabilityTypes|null $availability = null;
public EventSensitivityTypes|null $sensitivity = null;
public int|null $priority = null;
public string|null $color = null;
public TagCollection $tags;
public EventOrganizerObject $organizer;
public EventParticipantCollection $participants;
public EventNotificationCollection $notifications;
public function __construct() {
$this->participants = new EventParticipantCollection();
$this->locationsPhysical = new EventLocationPhysicalCollection();
$this->locationsVirtual = new EventLocationVirtualCollection();
$this->notifications = new EventNotificationCollection();
$this->organizer = new EventOrganizerObject();
$this->tags = new TagCollection();
}
}