/
mitallic
/
HHProfileUser
Обзор
Документация
Войти
/
mitallic
/
HHProfileUser
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/Http/Controllers/AuthController.php
59 строк
2 KB
Steaves Whois
init
28 май 2025, 13:58
28 май 2025, 13:58
7a2bc65
Код
Авторство
О чём код?
<?php declare(strict_types=1); namespace App\Http\Controllers; use App\DTO\UserLoginDTO; use App\Http\Requests\LoginUserRequest; use App\Http\Requests\RegisterUserRequest; use App\Services\AuthService; use App\Services\UserService; use Illuminate\Http\JsonResponse; use Illuminate\Validation\UnauthorizedException; class AuthController extends Controller { /** * Login user by creds * @param LoginUserRequest $request * @return JsonResponse */ public function login(LoginUserRequest $request): JsonResponse { try { $dto = $request->dto(); $token = app(AuthService::class)->authenticate($dto); return response()->json([ 'token' => $token, ]); } catch (UnauthorizedException) { return response()->json(['message' => 'Unauthorized'], 401); } catch (\Throwable $exception) { return $this->uncaughtException($exception); } } /** * Register user by creds * @param RegisterUserRequest $request * @return JsonResponse */ public function registration(RegisterUserRequest $request): JsonResponse { try { $dto = $request->dto(); $user = app(UserService::class)->create($dto); $loginDTO = UserLoginDTO::fromArray( array_merge(['password' => $dto->password], $user->toArray()) ); $token = app(AuthService::class)->authenticate($loginDTO); return response()->json([ 'token' => $token ]); } catch (\Throwable $exception) { return $this->uncaughtException($exception); } } }