diff options
Diffstat (limited to 'src/Controllers/LoginController.php')
| -rw-r--r-- | src/Controllers/LoginController.php | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/Controllers/LoginController.php b/src/Controllers/LoginController.php index 15f1583..c520e25 100644 --- a/src/Controllers/LoginController.php +++ b/src/Controllers/LoginController.php @@ -10,9 +10,12 @@ use App\Models\Device; use App\Models\Tokens; use App\Models\User; use App\Support\RequestValidator; -use App\Types\LoginFlow; -use App\Types\LoginType; use App\Types\UserRegistrationKind; +use Matrix\Data\LoginFlow; +use Matrix\Enums\LoginType; +use Matrix\Responses\ClientLoginGetResponse; +use Matrix\Responses\ClientLoginPostResponse; +use Matrix\Responses\ClientRegisterPostResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\JsonResponse; @@ -24,11 +27,9 @@ class LoginController */ public function supportedLoginTypes(Request $request): Response { - return new JsonResponse([ - "flows" => [ - (new LoginFlow(LoginType::PASSWORD))->toArray(), - ], - ]); + return new JsonResponse(new ClientLoginGetResponse([ + (new LoginFlow(LoginType::PASSWORD)), + ])); } /** @@ -87,14 +88,13 @@ class LoginController } } - return new JsonResponse([ - "access_token" => $tokens->getAccessToken(), - "device_id" => $device->getId(), - "expires_in_ms" => $tokens->getExpiresIn(), - "refresh_token" => $tokens->getRefreshToken(), - "user_id" => $user->getId(), - #"well_known" => [], - ]); + return new JsonResponse(new ClientLoginPostResponse( + accessToken: $tokens->getAccessToken(), + deviceId:$device->getId(), + userId: $user->getId(), + expiresInMilliseconds: $tokens->getExpiresIn(), + refreshToken: $tokens->getRefreshToken(), + )); } /** @@ -130,12 +130,12 @@ class LoginController $tokens = Tokens::new($userId, $device->getId()); $tokens->insert(); - return new JsonResponse([ - "access_token" => $tokens->getAccessToken(), - "device_id" => $device->getId(), - "expires_in_ms" => $tokens->getExpiresIn(), - "refresh_token" => $tokens->getRefreshToken(), - "user_id" => $userId, - ]); + return new JsonResponse(new ClientRegisterPostResponse( + accessToken: $tokens->getAccessToken(), + deviceId: $device->getId(), + expiresInMilliseconds: $tokens->getExpiresIn(), + refreshToken: $tokens->getRefreshToken(), + userId: $userId, + )); } } |
