diff options
| author | Daniel Weipert <git@mail.dweipert.de> | 2026-04-10 13:37:26 +0200 |
|---|---|---|
| committer | Daniel Weipert <git@mail.dweipert.de> | 2026-04-10 13:41:14 +0200 |
| commit | 99006cd6370f0502693f3fa9e3c20c83c02b364f (patch) | |
| tree | 911c34cd93444f37f4781208020853bae9c42b7a /src/Controllers/Client/KeyController.php | |
| parent | 6929089fea7cf79ae5ca9e05486ba33b0e5b216d (diff) | |
switch routing to attributes
Diffstat (limited to 'src/Controllers/Client/KeyController.php')
| -rw-r--r-- | src/Controllers/Client/KeyController.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/Controllers/Client/KeyController.php b/src/Controllers/Client/KeyController.php new file mode 100644 index 0000000..b9ae61f --- /dev/null +++ b/src/Controllers/Client/KeyController.php @@ -0,0 +1,47 @@ +<?php + +namespace App\Controllers\Client; + +use App\Models\User; +use App\Support\RequestValidator; +use Matrix\Responses\ClientKeysUploadPostResponse; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\HttpFoundation\JsonResponse; +use Symfony\Component\Routing\Attribute\Route; + +class KeyController +{ + #[Route(path: "/_matrix/client/v3/keys/query", methods: ["POST"])] + public function query(Request $request): Response + { + $user = User::authenticateWithRequest($request); + $body = json_decode($request->getContent(), true); + RequestValidator::validateJson(); + + $deviceKeys = $body["device_keys"]; + $timeout = $body["timeout"] ?? 10000; + + foreach ($deviceKeys as $keysUserId => $deviceIds) {} + + return new JsonResponse([ + "device_keys" => [], + ]); + } + + #[Route(path: "/_matrix/client/r0/keys/upload", methods: ["POST"])] + #[Route(path: "/_matrix/client/v3/keys/upload", methods: ["POST"])] + public function upload(Request $request): Response + { + $user = User::authenticateWithRequest($request); + $body = json_decode($request->getContent(), true); + RequestValidator::validateJson(); + + foreach ($body["one_time_keys"] as $identifier => $object) {} + + return new JsonResponse(new ClientKeysUploadPostResponse([ + #"curve25519" => 0, + "signed_curve25519" => count($body["one_time_keys"]), + ])); + } +} |
