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()); } }