validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|unique:users', 'password' => 'required|string|min:6', ]); $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); $token = JWTAuth::fromUser($user); return response()->json([ 'status' => true, 'message' => 'User registered successfully', 'user' => $user, 'token' => $token ]); } // ✅ Login public function login(Request $request) { $credentials = $request->only('email', 'password'); if (!$token = Auth::guard('api')->attempt($credentials)) { return response()->json(['error' => 'Invalid credentials'], 401); } return response()->json([ 'status' => true, 'message' => 'Login successful', 'token' => $token, 'user' => Auth::guard('api')->user() ]); } // ✅ Logout public function logout() { Auth::guard('api')->logout(); return response()->json(['message' => 'Successfully logged out']); } // ✅ Refresh token public function refresh() { return response()->json([ 'token' => Auth::guard('api')->refresh() ]); } }