ekart/backend/app/Http/Controllers/AuthenticatedUserController.php
2026-02-23 18:45:56 +05:30

49 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Data\UserDTO;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class AuthenticatedUserController extends Controller
{
public function store(Request $request)
{
$data = $request->validate([
'email' => 'required|email',
'password' => 'required|string',
]);
if (Auth::attempt($data)) {
$request->session()->regenerate();
return response()->json(['message' => 'Successfully logged in']);
}
return response()->json(['message' => 'Invalid credentials'], 401);
}
public function destroy(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return response()->json(['message' => 'Successfully logged out']);
}
public function show()
{
$user = Auth::user();
$userDto = new UserDTO(
id: $user->id,
name: $user->name,
email: $user->email,
mobileNumber: $user->mobile_number,
city: $user->city
);
return response()->json($userDto->toArray());
}
}