2021-12-20 11:58:54 -05:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
2024-05-23 03:26:56 -04:00
|
|
|
/**
|
|
|
|
|
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
2021-12-20 11:58:54 -05:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
namespace OCP\Talk;
|
|
|
|
|
|
|
|
|
|
use OCP\IUser;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Interface for the Talk app to implement
|
|
|
|
|
*
|
|
|
|
|
* Other apps must not implement nor use this interface in any way. Use the
|
|
|
|
|
* broker instead
|
|
|
|
|
*
|
|
|
|
|
* @see IBroker
|
|
|
|
|
* @since 24.0.0
|
|
|
|
|
*/
|
|
|
|
|
interface ITalkBackend {
|
|
|
|
|
/**
|
|
|
|
|
* @param string $name
|
|
|
|
|
* @param IUser[] $moderators
|
|
|
|
|
* @param IConversationOptions $options configuration for the conversation
|
|
|
|
|
*
|
|
|
|
|
* @return IConversation
|
|
|
|
|
* @since 24.0.0
|
|
|
|
|
*/
|
|
|
|
|
public function createConversation(string $name,
|
2023-11-23 04:22:34 -05:00
|
|
|
array $moderators,
|
|
|
|
|
IConversationOptions $options): IConversation;
|
2022-10-31 06:44:39 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Delete a conversation by id
|
|
|
|
|
*
|
|
|
|
|
* @param string $id conversation id
|
|
|
|
|
*
|
|
|
|
|
* @return void
|
|
|
|
|
* @since 26.0.0
|
|
|
|
|
*/
|
|
|
|
|
public function deleteConversation(string $id): void;
|
2021-12-20 11:58:54 -05:00
|
|
|
}
|