diff options
Diffstat (limited to 'src/Controllers/KeyController.php')
| -rw-r--r-- | src/Controllers/KeyController.php | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/src/Controllers/KeyController.php b/src/Controllers/KeyController.php index a8b4fb1..7777229 100644 --- a/src/Controllers/KeyController.php +++ b/src/Controllers/KeyController.php @@ -4,10 +4,11 @@ namespace App\Controllers; use App\Errors\AppException; use App\Errors\ErrorCode; -use App\Errors\UnauthorizedError; use App\Models\Tokens; use App\Models\User; use App\Support\RequestValidator; +use Matrix\Responses\ClientKeysUploadPostResponse; +use Matrix\Responses\ClientRefreshPostResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\JsonResponse; @@ -29,22 +30,14 @@ class KeyController */ public function upload(Request $request): Response { - $accessToken = str_replace("Bearer ", "", $request->headers->get("authorization") ?: ""); - $user = User::fetchWithAccessToken($accessToken); - - if (empty($user)) { - throw new UnauthorizedError(); - } - + $user = User::authenticateWithRequest($request); $body = json_decode($request->getContent(), true); RequestValidator::validateJson(); - return new JsonResponse([ - "one_time_key_counts" => [ - "curve25519" => 0, - "signed_curve25519" => count($body["one_time_keys"]) - ], - ]); + return new JsonResponse(new ClientKeysUploadPostResponse([ + "curve25519" => 0, + "signed_curve25519" => count($body["one_time_keys"]), + ])); } public function query(Request $request): Response @@ -74,10 +67,10 @@ class KeyController $newTokens = Tokens::new($tokens->getUserId(), $tokens->getDeviceId()); $newTokens->insert(); - return new JsonResponse([ - "access_token" => $newTokens->getAccessToken(), - "expires_in" => $newTokens->getExpiresIn(), - "refresh_token" => $newTokens->getRefreshToken(), - ]); + return new JsonResponse(new ClientRefreshPostResponse( + accessToken: $newTokens->getAccessToken(), + expiresInMilliseconds: $newTokens->getExpiresIn(), + refreshToken: $newTokens->getRefreshToken(), + )); } } |
