diff options
Diffstat (limited to 'lib/private/UserStatus/ISettableProvider.php')
-rw-r--r-- | lib/private/UserStatus/ISettableProvider.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/lib/private/UserStatus/ISettableProvider.php b/lib/private/UserStatus/ISettableProvider.php new file mode 100644 index 00000000000..1a2e7cfe7cf --- /dev/null +++ b/lib/private/UserStatus/ISettableProvider.php @@ -0,0 +1,50 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OC\UserStatus; + +use OCP\UserStatus\IProvider; + +/** + * Interface ISettableProvider + * @package OC\UserStatus + */ +interface ISettableProvider extends IProvider { + /** + * Set a new status for the selected user. + * + * @param string $userId The user for which we want to update the status. + * @param string $messageId The new message id. + * @param string $status The new status. + * @param bool $createBackup If true, this will store the old status so that it is possible to revert it later (e.g. after a call). + * @param string|null $customMessage + */ + public function setUserStatus(string $userId, string $messageId, string $status, bool $createBackup, ?string $customMessage = null): void; + + /** + * Revert an automatically set user status. For example after leaving a call, + * change back to the previously set status. If the user has already updated + * their status, this method does nothing. + * + * @param string $userId The user for which we want to update the status. + * @param string $messageId The expected current messageId. + * @param string $status The expected current status. + */ + public function revertUserStatus(string $userId, string $messageId, string $status): void; + + /** + * Revert an automatically set user status. For example after leaving a call, + * change back to the previously set status. If the user has already updated + * their status, this method does nothing. + * + * @param string[] $userIds The users for which we want to update the status. + * @param string $messageId The expected current messageId. + * @param string $status The expected current status. + */ + public function revertMultipleUserStatus(array $userIds, string $messageId, string $status): void; +} |