paginate(25); return view('admin::settings.users.index', compact('users')); } public function create(): View { $user = new User(); return view('admin::settings.users.form', compact('user')); } public function store(Request $request): RedirectResponse { $request->validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'email', 'unique:users,email'], 'password' => ['required', 'string', 'min:8', 'confirmed'], ]); User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); return redirect()->route('admin.settings.users.index') ->with('success', 'User created.'); } public function edit(User $user): View { return view('admin::settings.users.form', compact('user')); } public function update(Request $request, User $user): RedirectResponse { $rules = [ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'email', "unique:users,email,{$user->id}"], ]; if ($request->filled('password')) { $rules['password'] = ['string', 'min:8', 'confirmed']; } $request->validate($rules); $user->name = $request->name; $user->email = $request->email; if ($request->filled('password')) { $user->password = Hash::make($request->password); } $user->save(); return redirect()->route('admin.settings.users.index') ->with('success', 'User updated.'); } public function destroy(User $user): RedirectResponse { if ($user->id === auth()->id()) { return back()->with('error', 'You cannot delete your own account.'); } $user->delete(); return redirect()->route('admin.settings.users.index') ->with('success', 'User deleted.'); } }