diff options
Diffstat (limited to 'lib/public/UserStatus')
-rw-r--r-- | lib/public/UserStatus/IManager.php | 28 | ||||
-rw-r--r-- | lib/public/UserStatus/IProvider.php | 24 | ||||
-rw-r--r-- | lib/public/UserStatus/IUserStatus.php | 64 |
3 files changed, 53 insertions, 63 deletions
diff --git a/lib/public/UserStatus/IManager.php b/lib/public/UserStatus/IManager.php index 354a1e19ee9..d291ee0a540 100644 --- a/lib/public/UserStatus/IManager.php +++ b/lib/public/UserStatus/IManager.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright Copyright (c) 2020, Georg Ehrke - * - * @author Georg Ehrke <oc.list@georgehrke.com> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCP\UserStatus; @@ -35,12 +18,11 @@ namespace OCP\UserStatus; * @since 20.0.0 */ interface IManager { - /** * Gets the statuses for all users in $users * * @param string[] $userIds - * @return IUserStatus[] + * @return array<string, IUserStatus> array key being the userid, users without a status will not be in the returned array * @since 20.0.0 */ public function getUserStatuses(array $userIds): array; @@ -53,9 +35,11 @@ interface IManager { * @param string $messageId The id of the predefined message. * @param string $status The status to assign * @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 * @since 23.0.0 + * @since 28.0.0 Optional parameter $customMessage was added */ - public function setUserStatus(string $userId, string $messageId, string $status, bool $createBackup = false): void; + public function setUserStatus(string $userId, string $messageId, string $status, bool $createBackup = false, ?string $customMessage = null): void; /** * Revert an automatically set user status. For example after leaving a call, diff --git a/lib/public/UserStatus/IProvider.php b/lib/public/UserStatus/IProvider.php index 976ebbefeab..ef0dc831085 100644 --- a/lib/public/UserStatus/IProvider.php +++ b/lib/public/UserStatus/IProvider.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright Copyright (c) 2020, Georg Ehrke - * - * @author Georg Ehrke <oc.list@georgehrke.com> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCP\UserStatus; @@ -31,12 +14,11 @@ namespace OCP\UserStatus; * @since 20.0.0 */ interface IProvider { - /** * Gets the statuses for all users in $users * * @param string[] $userIds - * @return IUserStatus[] + * @return array<string, IUserStatus> array key being the userid, users without a status will not be in the returned array * @since 20.0.0 */ public function getUserStatuses(array $userIds):array; diff --git a/lib/public/UserStatus/IUserStatus.php b/lib/public/UserStatus/IUserStatus.php index bf743dea08d..48eecfec24a 100644 --- a/lib/public/UserStatus/IUserStatus.php +++ b/lib/public/UserStatus/IUserStatus.php @@ -3,25 +3,8 @@ declare(strict_types=1); /** - * @copyright Copyright (c) 2020, Georg Ehrke - * - * @author Georg Ehrke <oc.list@georgehrke.com> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace OCP\UserStatus; @@ -33,7 +16,6 @@ use DateTimeImmutable; * @since 20.0.0 */ interface IUserStatus { - /** * @var string * @since 20.0.0 @@ -54,6 +36,12 @@ interface IUserStatus { /** * @var string + * @since 28.0.0 + */ + public const BUSY = 'busy'; + + /** + * @var string * @since 20.0.0 */ public const OFFLINE = 'offline'; @@ -65,6 +53,42 @@ interface IUserStatus { public const INVISIBLE = 'invisible'; /** + * @var string + * @since 25.0.0 + */ + public const MESSAGE_CALL = 'call'; + + /** + * @var string + * @since 25.0.0 + */ + public const MESSAGE_AVAILABILITY = 'availability'; + + /** + * @var string + * @since 28.0.1 + */ + public const MESSAGE_OUT_OF_OFFICE = 'out-of-office'; + + /** + * @var string + * @since 28.0.0 + */ + public const MESSAGE_VACATION = 'vacationing'; + + /** + * @var string + * @since 28.0.0 + */ + public const MESSAGE_CALENDAR_BUSY = 'meeting'; + + /** + * @var string + * @since 28.0.0 + */ + public const MESSAGE_CALENDAR_BUSY_TENTATIVE = 'busy-tentative'; + + /** * Get the user this status is connected to * * @return string |