summaryrefslogtreecommitdiff
path: root/src/Controllers/KeyController.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Controllers/KeyController.php')
-rw-r--r--src/Controllers/KeyController.php78
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(),
- ));
- }
-}