summaryrefslogtreecommitdiff
path: root/matrix-specification/Data/Room/LeftRoom.php
diff options
context:
space:
mode:
Diffstat (limited to 'matrix-specification/Data/Room/LeftRoom.php')
-rw-r--r--matrix-specification/Data/Room/LeftRoom.php30
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));
+ }
+}