paginate(15); return view('servers.index', compact('servers')); } public function store(Request $request) { $validated = $request->validate([ 'name' => 'required|string|max:255', 'ip_address' => 'required|ip', 'os_version' => 'nullable|string|max:255', 'username' => 'required|string|max:255', 'password' => 'required|string', 'services' => 'nullable|array', 'status' => 'required|in:Active,Inactive,Maintenance', ]); Server::create($validated); return response()->json(['success' => true, 'message' => 'Server added successfully.']); } // Return server data for the edit modal public function show($id) { $server = Server::findOrFail($id); return response()->json($server); } public function update(Request $request, $id) { $server = Server::findOrFail($id); $validated = $request->validate([ 'name' => 'required|string|max:255', 'ip_address' => 'required|ip', 'os_version' => 'nullable|string|max:255', 'username' => 'required|string|max:255', 'password' => 'nullable|string', 'services' => 'nullable|array', 'status' => 'required|in:Active,Inactive,Maintenance', ]); // If password field is empty, remove it from the array so we don't overwrite the existing one if (empty($validated['password'])) { unset($validated['password']); } $server->update($validated); return response()->json(['success' => true, 'message' => 'Server updated successfully.']); } }