diff options
Diffstat (limited to 'src/Controllers/KeyController.php')
| -rw-r--r-- | src/Controllers/KeyController.php | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/src/Controllers/KeyController.php b/src/Controllers/KeyController.php deleted file mode 100644 index ebf580a..0000000 --- a/src/Controllers/KeyController.php +++ /dev/null @@ -1,78 +0,0 @@ -<?php - -namespace App\Controllers; - -use App\Errors\AppException; -use App\Models\Tokens; -use App\Models\User; -use App\Support\RequestValidator; -use Matrix\Enums\ErrorCode; -use Matrix\Responses\ClientKeysUploadPostResponse; -use Matrix\Responses\ClientRefreshPostResponse; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpFoundation\JsonResponse; - -class KeyController -{ - public function server(Request $request): Response - { - return new JsonResponse([ - "server" => [ - "name" => "Matrix PHP", - "version" => "0.1.0", - ], - ]); - } - - /** - * POST /_matrix/client/v3/keys/upload - */ - 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 => $data) {} - - return new JsonResponse(new ClientKeysUploadPostResponse([ - #"curve25519" => 0, - "signed_curve25519" => count($body["one_time_keys"]), - ])); - } - - public function query(Request $request): Response - { - $serverName = $request->attributes->get("serverName"); - } - - /** - * POST /_matrix/client/v3/refresh - */ - public function refresh(Request $request): Response - { - $body = json_decode($request->getContent(), true); - RequestValidator::validateJson(); - - $tokens = Tokens::fetchWithRefreshToken($body["refresh_token"]); - - if (empty($tokens)) { - throw new AppException( - ErrorCode::UNKNOWN_TOKEN, - "Soft logged out", - Response::HTTP_UNAUTHORIZED, - ["soft_logout" => true], - ); - } - - $newTokens = Tokens::new($tokens->getUserId(), $tokens->getDeviceId()); - $newTokens->insert(); - - return new JsonResponse(new ClientRefreshPostResponse( - accessToken: $newTokens->getAccessToken(), - expiresInMilliseconds: $newTokens->getExpiresIn(), - refreshToken: $newTokens->getRefreshToken(), - )); - } -} |
