Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 19 additions & 4 deletions lib/private/Talk/ConversationOptions.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@
use OCP\Talk\IConversationOptions;

class ConversationOptions implements IConversationOptions {
private bool $isPublic;

private function __construct(bool $isPublic) {
$this->isPublic = $isPublic;
private function __construct(
private bool $isPublic,
private ?\DateTimeInterface $meetingStartDate = null,
private ?\DateTimeInterface $meetingEndDate = null,
) {
}

public static function default(): self {
Expand All @@ -30,4 +31,18 @@ public function setPublic(bool $isPublic = true): 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;
}
}
36 changes: 36 additions & 0 deletions lib/public/Talk/IConversationOptions.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,40 @@ public function isPublic(): bool;
* @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;
}
Loading