diff options
author | Brian Evans <grknight@gentoo.org> | 2021-07-19 15:20:22 -0400 |
---|---|---|
committer | Brian Evans <grknight@gentoo.org> | 2021-07-19 15:20:22 -0400 |
commit | 9f092345e6bbecfde8c19e6d1490a6031a35f61f (patch) | |
tree | 2abb2398cd0df686e8608e15097ddc58b8995615 /MLEB/Translate/src/Synchronization/GroupSynchronizationResponse.php | |
parent | OAuth: Update for fixes and security (diff) | |
download | extensions-9f092345e6bbecfde8c19e6d1490a6031a35f61f.tar.gz extensions-9f092345e6bbecfde8c19e6d1490a6031a35f61f.tar.bz2 extensions-9f092345e6bbecfde8c19e6d1490a6031a35f61f.zip |
Update to MLEB 2021.06
Signed-off-by: Brian Evans <grknight@gentoo.org>
Diffstat (limited to 'MLEB/Translate/src/Synchronization/GroupSynchronizationResponse.php')
-rw-r--r-- | MLEB/Translate/src/Synchronization/GroupSynchronizationResponse.php | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/MLEB/Translate/src/Synchronization/GroupSynchronizationResponse.php b/MLEB/Translate/src/Synchronization/GroupSynchronizationResponse.php index 83a58ef6..069be720 100644 --- a/MLEB/Translate/src/Synchronization/GroupSynchronizationResponse.php +++ b/MLEB/Translate/src/Synchronization/GroupSynchronizationResponse.php @@ -2,7 +2,11 @@ declare( strict_types = 1 ); -namespace MediaWiki\Extensions\Translate\Synchronization; +namespace MediaWiki\Extension\Translate\Synchronization; + +use JsonSerializable; +use MediaWiki\Extension\Translate\Utilities\Json\JsonUnserializable; +use MediaWiki\Extension\Translate\Utilities\Json\JsonUnserializableTrait; /** * Class encapsulating the response returned by the GroupSynchronizationCache @@ -11,30 +15,31 @@ namespace MediaWiki\Extensions\Translate\Synchronization; * @license GPL-2.0-or-later * @since 2020.06 */ -class GroupSynchronizationResponse { - /** @var array */ - private $remainingMessageKeys; +class GroupSynchronizationResponse implements JsonSerializable, JsonUnserializable { + use JsonUnserializableTrait; + /** @var MessageUpdateParameter[] */ + private $remainingMessages; /** @var string */ private $groupId; - /** @var bool */ private $timeout; public function __construct( - string $groupId, array $remainingMessageKeys, bool $hasTimedOut + string $groupId, array $remainingMessages, bool $hasTimedOut ) { $this->groupId = $groupId; - $this->remainingMessageKeys = $remainingMessageKeys; + $this->remainingMessages = $remainingMessages; $this->timeout = $hasTimedOut; } public function isDone(): bool { - return $this->remainingMessageKeys === []; + return $this->remainingMessages === []; } + /** @return MessageUpdateParameter[] */ public function getRemainingMessages(): array { - return $this->remainingMessageKeys; + return $this->remainingMessages; } public function getGroupId(): string { @@ -44,4 +49,19 @@ class GroupSynchronizationResponse { public function hasTimedOut(): bool { return $this->timeout; } + + /** @return mixed[] */ + protected function toJsonArray(): array { + return get_object_vars( $this ); + } + + public static function newFromJsonArray( array $params ) { + return new self( + $params['groupId'], + $params['remainingMessages'], + $params['timeout'] + ); + } } + +class_alias( GroupSynchronizationResponse::class, '\MediaWiki\Extensions\Translate\GroupSynchronizationResponse' ); |