diff options
author | Christoph Wurst <ChristophWurst@users.noreply.github.com> | 2022-10-31 15:59:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-31 15:59:25 +0100 |
commit | aa81b87f26552bc3d49de6cf0babfe6a79c21af5 (patch) | |
tree | 2ef81f8542c9f1a72c3cb8293bec8b0e93a11974 | |
parent | 1a33a4692dd49ef7710794bf58341f9af8b25b7c (diff) | |
parent | 06627c800c45672d57a255f494c5d47efd160aff (diff) | |
download | nextcloud-server-aa81b87f26552bc3d49de6cf0babfe6a79c21af5.tar.gz nextcloud-server-aa81b87f26552bc3d49de6cf0babfe6a79c21af5.zip |
Merge pull request #34894 from nextcloud/enhancement/talk-api-delete-conversation
Add Talk converstation delete API
-rw-r--r-- | lib/private/Talk/Broker.php | 8 | ||||
-rw-r--r-- | lib/public/Talk/IBroker.php | 11 | ||||
-rw-r--r-- | lib/public/Talk/IConversation.php | 8 | ||||
-rw-r--r-- | lib/public/Talk/ITalkBackend.php | 10 |
4 files changed, 37 insertions, 0 deletions
diff --git a/lib/private/Talk/Broker.php b/lib/private/Talk/Broker.php index a686adeed04..12e6c5fb34b 100644 --- a/lib/private/Talk/Broker.php +++ b/lib/private/Talk/Broker.php @@ -106,4 +106,12 @@ class Broker implements IBroker { $options ?? ConversationOptions::default() ); } + + public function deleteConversation(string $id): void { + if (!$this->hasBackend()) { + throw new NoBackendException("The Talk broker has no registered backend"); + } + + $this->backend->deleteConversation($id); + } } diff --git a/lib/public/Talk/IBroker.php b/lib/public/Talk/IBroker.php index d28771544c8..705c39d2c01 100644 --- a/lib/public/Talk/IBroker.php +++ b/lib/public/Talk/IBroker.php @@ -71,4 +71,15 @@ interface IBroker { public function createConversation(string $name, array $moderators, IConversationOptions $options = null): IConversation; + + /** + * Delete a conversation by id + * + * @param string $id conversation id + * + * @return void + * @throws NoBackendException when Talk is not available + * @since 26.0.0 + */ + public function deleteConversation(string $id): void; } diff --git a/lib/public/Talk/IConversation.php b/lib/public/Talk/IConversation.php index 43698b9069f..efa33c0b357 100644 --- a/lib/public/Talk/IConversation.php +++ b/lib/public/Talk/IConversation.php @@ -31,6 +31,14 @@ namespace OCP\Talk; interface IConversation { /** + * Get the unique token that identifies this conversation + * + * @return string + * @since 26.0.0 + */ + public function getId(): string; + + /** * Get the absolute URL to this conversation * * @return string diff --git a/lib/public/Talk/ITalkBackend.php b/lib/public/Talk/ITalkBackend.php index 700d5d8c4d3..605a15680d0 100644 --- a/lib/public/Talk/ITalkBackend.php +++ b/lib/public/Talk/ITalkBackend.php @@ -49,4 +49,14 @@ interface ITalkBackend { public function createConversation(string $name, array $moderators, IConversationOptions $options): IConversation; + + /** + * Delete a conversation by id + * + * @param string $id conversation id + * + * @return void + * @since 26.0.0 + */ + public function deleteConversation(string $id): void; } |