diff options
Diffstat (limited to 'matrix-specification/Data/KeyObject.php')
| -rw-r--r-- | matrix-specification/Data/KeyObject.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/matrix-specification/Data/KeyObject.php b/matrix-specification/Data/KeyObject.php new file mode 100644 index 0000000..120350c --- /dev/null +++ b/matrix-specification/Data/KeyObject.php @@ -0,0 +1,32 @@ +<?php + +namespace Matrix\Data; + +class KeyObject implements \JsonSerializable +{ + /** + * @param array<string, array> $signatures + */ + public function __construct( + private string $key, + private array $signatures, + private bool $isFallback = false, + ) + {} + + public function jsonSerialize(): array + { + $keyObject = [ + "key" => $this->key, + "signatures" => $this->signatures, + ]; + + if ($this->isFallback) { + $keyObject += [ + "fallback" => true, + ]; + } + + return $keyObject; + } +} |
