From d7ccc616e42bef9270e3d315baf381c020f747c0 Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Thu, 3 Sep 2020 16:23:35 +0200 Subject: [PATCH] Always use IUserStatus consts Signed-off-by: Georg Ehrke --- apps/user_status/lib/Connector/UserStatus.php | 5 ++- .../lib/Controller/HeartbeatController.php | 4 +-- .../lib/Controller/StatusesController.php | 5 +-- .../lib/Dashboard/UserStatusWidget.php | 5 +-- apps/user_status/lib/Db/UserStatusMapper.php | 8 ++--- .../lib/Listener/UserLiveStatusListener.php | 3 +- .../user_status/lib/Service/JSDataService.php | 3 +- .../user_status/lib/Service/StatusService.php | 33 ++++++++----------- lib/public/UserStatus/IUserStatus.php | 6 ++++ 9 files changed, 38 insertions(+), 34 deletions(-) diff --git a/apps/user_status/lib/Connector/UserStatus.php b/apps/user_status/lib/Connector/UserStatus.php index e8ab31bb10..d6b075dcd8 100644 --- a/apps/user_status/lib/Connector/UserStatus.php +++ b/apps/user_status/lib/Connector/UserStatus.php @@ -25,7 +25,6 @@ declare(strict_types=1); namespace OCA\UserStatus\Connector; use DateTimeImmutable; -use OCA\UserStatus\Service\StatusService; use OCP\UserStatus\IUserStatus; use OCA\UserStatus\Db; @@ -57,8 +56,8 @@ class UserStatus implements IUserStatus { $this->message = $status->getCustomMessage(); $this->icon = $status->getCustomIcon(); - if ($status->getStatus() === StatusService::INVISIBLE) { - $this->status = StatusService::OFFLINE; + if ($status->getStatus() === IUserStatus::INVISIBLE) { + $this->status = IUserStatus::OFFLINE; } if ($status->getClearAt() !== null) { $this->clearAt = DateTimeImmutable::createFromFormat('U', (string)$status->getClearAt()); diff --git a/apps/user_status/lib/Controller/HeartbeatController.php b/apps/user_status/lib/Controller/HeartbeatController.php index cc45b0502c..02a0fd082c 100644 --- a/apps/user_status/lib/Controller/HeartbeatController.php +++ b/apps/user_status/lib/Controller/HeartbeatController.php @@ -25,7 +25,6 @@ declare(strict_types=1); namespace OCA\UserStatus\Controller; -use OCA\UserStatus\Service\StatusService; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\JSONResponse; @@ -34,6 +33,7 @@ use OCP\EventDispatcher\IEventDispatcher; use OCP\IRequest; use OCP\IUserSession; use OCP\User\Events\UserLiveStatusEvent; +use OCP\UserStatus\IUserStatus; class HeartbeatController extends Controller { @@ -73,7 +73,7 @@ class HeartbeatController extends Controller { * @return JSONResponse */ public function heartbeat(string $status): JSONResponse { - if (!\in_array($status, [StatusService::ONLINE, StatusService::AWAY], true)) { + if (!\in_array($status, [IUserStatus::ONLINE, IUserStatus::AWAY], true)) { return new JSONResponse([], Http::STATUS_BAD_REQUEST); } diff --git a/apps/user_status/lib/Controller/StatusesController.php b/apps/user_status/lib/Controller/StatusesController.php index 0391ea1492..4295fb7694 100644 --- a/apps/user_status/lib/Controller/StatusesController.php +++ b/apps/user_status/lib/Controller/StatusesController.php @@ -32,6 +32,7 @@ use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCS\OCSNotFoundException; use OCP\AppFramework\OCSController; use OCP\IRequest; +use OCP\UserStatus\IUserStatus; class StatusesController extends OCSController { @@ -92,8 +93,8 @@ class StatusesController extends OCSController { */ private function formatStatus(UserStatus $status): array { $visibleStatus = $status->getStatus(); - if ($visibleStatus === StatusService::INVISIBLE) { - $visibleStatus = StatusService::OFFLINE; + if ($visibleStatus === IUserStatus::INVISIBLE) { + $visibleStatus = IUserStatus::OFFLINE; } return [ diff --git a/apps/user_status/lib/Dashboard/UserStatusWidget.php b/apps/user_status/lib/Dashboard/UserStatusWidget.php index 9cd29e3ddb..6ccea95acd 100644 --- a/apps/user_status/lib/Dashboard/UserStatusWidget.php +++ b/apps/user_status/lib/Dashboard/UserStatusWidget.php @@ -32,6 +32,7 @@ use OCP\IInitialStateService; use OCP\IL10N; use OCP\IUserManager; use OCP\IUserSession; +use OCP\UserStatus\IUserStatus; /** * Class UserStatusWidget @@ -146,8 +147,8 @@ class UserStatusWidget implements IWidget { return [ 'userId' => $status->getUserId(), 'displayName' => $displayName, - 'status' => $status->getStatus() === StatusService::INVISIBLE - ? StatusService::OFFLINE + 'status' => $status->getStatus() === IUserStatus::INVISIBLE + ? IUserStatus::OFFLINE : $status->getStatus(), 'icon' => $status->getCustomIcon(), 'message' => $status->getCustomMessage(), diff --git a/apps/user_status/lib/Db/UserStatusMapper.php b/apps/user_status/lib/Db/UserStatusMapper.php index 31156345b4..dc54789d34 100644 --- a/apps/user_status/lib/Db/UserStatusMapper.php +++ b/apps/user_status/lib/Db/UserStatusMapper.php @@ -25,10 +25,10 @@ declare(strict_types=1); namespace OCA\UserStatus\Db; -use OCA\UserStatus\Service\StatusService; use OCP\AppFramework\Db\QBMapper; use OCP\DB\QueryBuilder\IQueryBuilder; use OCP\IDBConnection; +use OCP\UserStatus\IUserStatus; /** * Class UserStatusMapper @@ -82,7 +82,7 @@ class UserStatusMapper extends QBMapper { ->select('*') ->from($this->tableName) ->orderBy('status_timestamp', 'DESC') - ->where($qb->expr()->notIn('status', $qb->createNamedParameter([StatusService::ONLINE, StatusService::AWAY, StatusService::OFFLINE], IQueryBuilder::PARAM_STR_ARRAY))) + ->where($qb->expr()->notIn('status', $qb->createNamedParameter([IUserStatus::ONLINE, IUserStatus::AWAY, IUserStatus::OFFLINE], IQueryBuilder::PARAM_STR_ARRAY))) ->orWhere($qb->expr()->isNotNull('message_id')) ->orWhere($qb->expr()->isNotNull('custom_icon')) ->orWhere($qb->expr()->isNotNull('custom_message')); @@ -133,13 +133,13 @@ class UserStatusMapper extends QBMapper { public function clearStatusesOlderThan(int $olderThan, int $now): void { $qb = $this->db->getQueryBuilder(); $qb->update($this->tableName) - ->set('status', $qb->createNamedParameter(StatusService::OFFLINE)) + ->set('status', $qb->createNamedParameter(IUserStatus::OFFLINE)) ->set('is_user_defined', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)) ->set('status_timestamp', $qb->createNamedParameter($now, IQueryBuilder::PARAM_INT)) ->where($qb->expr()->lte('status_timestamp', $qb->createNamedParameter($olderThan, IQueryBuilder::PARAM_INT))) ->andWhere($qb->expr()->orX( $qb->expr()->eq('is_user_defined', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL), IQueryBuilder::PARAM_BOOL), - $qb->expr()->eq('status', $qb->createNamedParameter(StatusService::ONLINE)) + $qb->expr()->eq('status', $qb->createNamedParameter(IUserStatus::ONLINE)) )); $qb->execute(); diff --git a/apps/user_status/lib/Listener/UserLiveStatusListener.php b/apps/user_status/lib/Listener/UserLiveStatusListener.php index 52e73017d4..967810367e 100644 --- a/apps/user_status/lib/Listener/UserLiveStatusListener.php +++ b/apps/user_status/lib/Listener/UserLiveStatusListener.php @@ -33,6 +33,7 @@ use OCP\AppFramework\Utility\ITimeFactory; use OCP\EventDispatcher\IEventListener; use OCP\EventDispatcher\Event; use OCP\User\Events\UserLiveStatusEvent; +use OCP\UserStatus\IUserStatus; /** * Class UserDeletedListener @@ -74,7 +75,7 @@ class UserLiveStatusListener implements IEventListener { } catch (DoesNotExistException $ex) { $userStatus = new UserStatus(); $userStatus->setUserId($user->getUID()); - $userStatus->setStatus(StatusService::OFFLINE); + $userStatus->setStatus(IUserStatus::OFFLINE); $userStatus->setStatusTimestamp(0); $userStatus->setIsUserDefined(false); } diff --git a/apps/user_status/lib/Service/JSDataService.php b/apps/user_status/lib/Service/JSDataService.php index 334ae248d4..ca78943faf 100644 --- a/apps/user_status/lib/Service/JSDataService.php +++ b/apps/user_status/lib/Service/JSDataService.php @@ -27,6 +27,7 @@ namespace OCA\UserStatus\Service; use OCP\AppFramework\Db\DoesNotExistException; use OCP\IUserSession; +use OCP\UserStatus\IUserStatus; class JSDataService implements \JsonSerializable { @@ -65,7 +66,7 @@ class JSDataService implements \JsonSerializable { 'messageIsPredefined' => false, 'icon' => null, 'clearAt' => null, - 'status' => StatusService::OFFLINE, + 'status' => IUserStatus::OFFLINE, 'statusIsUserDefined' => false, ]; } diff --git a/apps/user_status/lib/Service/StatusService.php b/apps/user_status/lib/Service/StatusService.php index 1e1e5b1fcc..85368342b2 100644 --- a/apps/user_status/lib/Service/StatusService.php +++ b/apps/user_status/lib/Service/StatusService.php @@ -34,6 +34,7 @@ use OCA\UserStatus\Exception\InvalidStatusTypeException; use OCA\UserStatus\Exception\StatusMessageTooLongException; use OCP\AppFramework\Db\DoesNotExistException; use OCP\AppFramework\Utility\ITimeFactory; +use OCP\UserStatus\IUserStatus; /** * Class StatusService @@ -54,21 +55,15 @@ class StatusService { /** @var EmojiService */ private $emojiService; - public const ONLINE = 'online'; - public const AWAY = 'away'; - public const DND = 'dnd'; - public const INVISIBLE = 'invisible'; - public const OFFLINE = 'offline'; - /** * List of priorities ordered by their priority */ public const PRIORITY_ORDERED_STATUSES = [ - self::ONLINE, - self::AWAY, - self::DND, - self::INVISIBLE, - self::OFFLINE + IUserStatus::ONLINE, + IUserStatus::AWAY, + IUserStatus::DND, + IUserStatus::INVISIBLE, + IUserStatus::OFFLINE ]; /** @@ -76,9 +71,9 @@ class StatusService { * or UserLiveStatusEvents */ public const PERSISTENT_STATUSES = [ - self::AWAY, - self::DND, - self::INVISIBLE, + IUserStatus::AWAY, + IUserStatus::DND, + IUserStatus::INVISIBLE, ]; /** @var int */ @@ -200,7 +195,7 @@ class StatusService { } catch (DoesNotExistException $ex) { $userStatus = new UserStatus(); $userStatus->setUserId($userId); - $userStatus->setStatus(self::OFFLINE); + $userStatus->setStatus(IUserStatus::OFFLINE); $userStatus->setStatusTimestamp(0); $userStatus->setIsUserDefined(false); } @@ -245,7 +240,7 @@ class StatusService { } catch (DoesNotExistException $ex) { $userStatus = new UserStatus(); $userStatus->setUserId($userId); - $userStatus->setStatus(self::OFFLINE); + $userStatus->setStatus(IUserStatus::OFFLINE); $userStatus->setStatusTimestamp(0); $userStatus->setIsUserDefined(false); } @@ -287,7 +282,7 @@ class StatusService { return false; } - $userStatus->setStatus(self::OFFLINE); + $userStatus->setStatus(IUserStatus::OFFLINE); $userStatus->setStatusTimestamp(0); $userStatus->setIsUserDefined(false); @@ -343,7 +338,7 @@ class StatusService { $clearAt = $status->getClearAt(); if ($status->getStatusTimestamp() < $this->timeFactory->getTime() - self::INVALIDATE_STATUS_THRESHOLD - && (!$status->getIsUserDefined() || $status->getStatus() === self::ONLINE)) { + && (!$status->getIsUserDefined() || $status->getStatus() === IUserStatus::ONLINE)) { $this->cleanStatus($status); } if ($clearAt !== null && $clearAt < $this->timeFactory->getTime()) { @@ -360,7 +355,7 @@ class StatusService { * @param UserStatus $status */ private function cleanStatus(UserStatus $status): void { - $status->setStatus(self::OFFLINE); + $status->setStatus(IUserStatus::OFFLINE); $status->setStatusTimestamp($this->timeFactory->getTime()); $status->setIsUserDefined(false); diff --git a/lib/public/UserStatus/IUserStatus.php b/lib/public/UserStatus/IUserStatus.php index b721ee67a7..3e606e3871 100644 --- a/lib/public/UserStatus/IUserStatus.php +++ b/lib/public/UserStatus/IUserStatus.php @@ -59,6 +59,12 @@ interface IUserStatus { */ public const OFFLINE = 'offline'; + /** + * @var string + * @since 20.0.0 + */ + public const INVISIBLE = 'invisible'; + /** * Get the user this status is connected to *