Merge pull request #59407 from nextcloud/bugfix/noid/make-appointments-talk-meetings

feat(talk): Allow to create conversations that are meetings
This commit is contained in:
Joas Schilling 2026-04-07 13:33:56 +02:00 committed by GitHub
commit bb0841b81e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 52 additions and 0 deletions

View file

@ -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;
}
}

View file

@ -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;
}