diff options
Diffstat (limited to 'matrix-specification/Data/Room/LeftRoom.php')
| -rw-r--r-- | matrix-specification/Data/Room/LeftRoom.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/matrix-specification/Data/Room/LeftRoom.php b/matrix-specification/Data/Room/LeftRoom.php new file mode 100644 index 0000000..64b9462 --- /dev/null +++ b/matrix-specification/Data/Room/LeftRoom.php @@ -0,0 +1,30 @@ +<?php + +namespace Matrix\Data\Room; + +use Matrix\Data\AccountData; + +/** + * @see https://spec.matrix.org/v1.16/client-server-api/#get_matrixclientv3sync_response-200_left-room + * TODO: validate against request. add ValidatesAgainstRequest interface? and MatrixRequest base class? + */ +class LeftRoom implements \JsonSerializable +{ + public function __construct( + private ?AccountData $accountData = null, + private ?State $state = null, + private ?State $stateAfter = null, + private ?Timeline $timeline = null, + ) + {} + + public function jsonSerialize(): array + { + return array_filter([ + "account_data" => $this->inviteState, + "state" => $this->state, + "state_after" => $this->stateAfter, + "timeline" => $this->timeline, + ], fn ($value) => ! is_null($value)); + } +} |
