diff --git a/lib/private/Talk/ConversationOptions.php b/lib/private/Talk/ConversationOptions.php index a71f9822d52..f237491f355 100644 --- a/lib/private/Talk/ConversationOptions.php +++ b/lib/private/Talk/ConversationOptions.php @@ -14,6 +14,8 @@ use OCP\Talk\IConversationOptions; class ConversationOptions implements IConversationOptions { private function __construct( private bool $isPublic, + private ?\DateTimeInterface $meetingStartDate = null, + private ?\DateTimeInterface $meetingEndDate = null, ) { } @@ -29,4 +31,18 @@ class ConversationOptions implements IConversationOptions { public function isPublic(): bool { return $this->isPublic; } + + public function setMeetingDate(\DateTimeInterface $meetingStartDate, \DateTimeInterface $meetingEndDate): IConversationOptions { + $this->meetingStartDate = $meetingStartDate; + $this->meetingEndDate = $meetingEndDate; + return $this; + } + + public function getMeetingStartDate(): ?\DateTimeInterface { + return $this->meetingStartDate; + } + + public function getMeetingEndDate(): ?\DateTimeInterface { + return $this->meetingEndDate; + } } diff --git a/lib/public/Talk/IConversationOptions.php b/lib/public/Talk/IConversationOptions.php index 9433bad9893..36a86c4c213 100644 --- a/lib/public/Talk/IConversationOptions.php +++ b/lib/public/Talk/IConversationOptions.php @@ -30,4 +30,40 @@ interface IConversationOptions { * @since 24.0.0 */ public function setPublic(bool $isPublic = true): self; + + /** + * Date of the meeting if the conversation is tied to a single meeting event + * + * This will be used by the Talk backend to expire the conversation after a + * reasonable amount of time after the meeting unless the conversation is + * being reused. + * + * @param \DateTimeInterface $meetingStartDate + * @param \DateTimeInterface $meetingEndDate + * @return $this + * @since 34.0.0 + * @since 33.0.3 + * @since 32.0.9 + */ + public function setMeetingDate(\DateTimeInterface $meetingStartDate, \DateTimeInterface $meetingEndDate): self; + + /** + * Start date of the meeting + * + * @return ?\DateTimeInterface + * @since 34.0.0 + * @since 33.0.3 + * @since 32.0.9 + */ + public function getMeetingStartDate(): ?\DateTimeInterface; + + /** + * End date of the meeting + * + * @return ?\DateTimeInterface + * @since 34.0.0 + * @since 33.0.3 + * @since 32.0.9 + */ + public function getMeetingEndDate(): ?\DateTimeInterface; }