validate([ 'icon' => 'nullable|string|max:64', 'color' => 'nullable|string|max:32|regex:/^[a-zA-Z0-9#\-\/]+$/', 'prefix' => 'nullable|string|max:32|regex:/^[a-zA-Z0-9\-]+$/', ]); try { $server = Server::where('id', $serverId) ->where('user_id', Auth::id()) ->firstOrFail(); $server->user_set_icon = $request->input('icon'); $server->user_set_icon_color = $request->input('color'); $server->user_set_icon_prefix = $request->input('prefix', 'ri'); $server->save(); return response()->json(['success' => true]); } catch (\Exception $e) { return response()->json([ 'success' => false, 'error' => 'Failed to update icon.', ], 500); } } public function show($serverId) { $server = Server::where('id', $serverId) ->where('user_id', Auth::id()) ->firstOrFail(); return response()->json([ 'icon' => $server->user_set_icon, 'color' => $server->user_set_icon_color, 'prefix' => $server->user_set_icon_prefix ?? 'ri', ]); } }