validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:admins,email,' . $user->id, 'alamat' => 'required|string', 'telepon' => 'required|string', ]); Admin::where('id', $user->id)->update([ 'name' => $request->name, 'email' => $request->email, 'alamat' => $request->alamat, 'telepon' => $request->telepon, ]); return back()->with('success', 'Profile berhasil diperbarui.'); } public function updatePassword(Request $request) { $request->validate([ 'current_password' => 'required|string', 'password' => 'required|string|min:8|confirmed', ]); $user = Auth::user(); if (!Hash::check($request->current_password, $user->password)) { return back()->withErrors(['current_password' => 'Password saat ini tidak sesuai.']); } Admin::where('id', $user->id)->update([ 'password' => Hash::make($request->password) ]); return back()->with('success', 'Password berhasil diperbarui.'); } // Admin management methods public function index() { $users = User::where('tipe_pengguna', 'user')->get(); return view('users.index', compact('users')); } public function create() { return view('users.create'); } public function store(Request $request) { $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:admins', 'password' => 'required|string|min:8|confirmed', 'alamat' => 'required|string', 'telepon' => 'required|string', ]); Admin::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), 'alamat' => $request->alamat, 'telepon' => $request->telepon, 'tipe_pengguna' => 'user', ]); return redirect()->route('users.index') ->with('success', 'User berhasil ditambahkan.'); } public function edit(Admin $user) { return view('users.edit', compact('user')); } public function update(Request $request, Admin $user) { $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:admins,email,' . $user->id, 'alamat' => 'required|string', 'telepon' => 'required|string', ]); Admin::where('id', $user->id)->update([ 'name' => $request->name, 'email' => $request->email, 'alamat' => $request->alamat, 'telepon' => $request->telepon, ]); return redirect()->route('users.index') ->with('success', 'User berhasil diperbarui.'); } public function destroy($id) { $user = User::find($id); if ($user) { $user->delete(); return response()->json(['success' => true]); } return response()->json(['success' => false]); } }