diff options
Diffstat (limited to 'matrix-specification/Requests/ClientKeysUploadPostRequest.php')
| -rw-r--r-- | matrix-specification/Requests/ClientKeysUploadPostRequest.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/matrix-specification/Requests/ClientKeysUploadPostRequest.php b/matrix-specification/Requests/ClientKeysUploadPostRequest.php new file mode 100644 index 0000000..40d9eae --- /dev/null +++ b/matrix-specification/Requests/ClientKeysUploadPostRequest.php @@ -0,0 +1,29 @@ +<?php + +namespace Matrix\Requests; + +use Matrix\Data\DeviceKeys; +use Matrix\Data\KeyObject; + +class ClientKeysUploadPostRequest implements RateLimited, RequiresAuthentication, \JsonSerializable +{ + /** + * @param array<string, string|KeyObject> $fallbackKeys + * @param array<string, string|KeyObject> $oneTimeKeys + */ + public function __construct( + private ?DeviceKeys $deviceKeys = null, + private ?array $fallbackKeys = null, + private ?array $oneTimeKeys = null, + ) + {} + + public function jsonSerialize(): array + { + return array_filter([ + "device_keys" => $this->deviceKeys, + "fallback_keys" => $this->fallbackKeys, + "one_time_keys" => $this->oneTimeKeys, + ], "is_null"); + } +} |
