mirror of
https://github.com/nextcloud/server.git
synced 2026-04-21 14:23:17 -04:00
feat(talk): Allow to create conversations that are meetings
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
9bd6902b4b
commit
8e31432ac6
2 changed files with 55 additions and 4 deletions
|
|
@ -12,10 +12,11 @@ namespace OC\Talk;
|
|||
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 {
|
||||
|
|
@ -30,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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue