User::all(), ]); } public function create() { return Inertia::render('Admin/Users/Create'); } public function store(Request $request) { $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8|confirmed', 'role' => ['required', Rule::in(['user', 'mod', 'admin'])], ]); User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), 'role' => $request->role, ]); return redirect('/admin/users'); } public function edit(User $user) { return Inertia::render('Admin/Users/Edit', [ 'user' => $user, ]); } public function update(Request $request, User $user) { $request->validate([ 'name' => 'required|string|max:255', 'email' => ['required', 'string', 'email', 'max:255', Rule::unique('users')->ignore($user->id)], 'password' => 'nullable|string|min:8|confirmed', 'role' => ['required', Rule::in(['user', 'mod', 'admin'])], ]); $user->name = $request->name; $user->email = $request->email; $user->role = $request->role; if ($request->filled('password')) { $user->password = Hash::make($request->password); } $user->save(); return redirect('/admin/users'); } public function destroy(User $user) { $user->delete(); return redirect('/admin/users'); } }