$user, ]); } /** * Show the form for creating a new resource. */ public function create() { // return Inertia::render('user/UserCreate'); } /** * Store a newly created resource in storage. */ public function store(Request $request) { // $validatedData = $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:8|confirmed', ]); DB::beginTransaction(); try { $user = User::create([ 'name' => $validatedData['name'], 'email' => $validatedData['email'], 'password' => Hash::make($validatedData['password']), ]); DB::commit(); return redirect()->route('users.index')->with('success', 'User berhasil ditambahkan.'); } catch (\Exception $e) { DB::rollback(); return redirect()->back()->with('error', 'Gagal menambahkan user: ' . $e->getMessage()); } } /** * Display the specified resource. */ public function show(string $id) { // } /** * Show the form for editing the specified resource. */ public function edit(string $id) { // $user = User::findOrFail($id); return Inertia::render('user/UserEdit', [ 'user' => $user, ]); } /** * Update the specified resource in storage. */ public function update(Request $request, string $id) { // $validatedData = $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users,email,' . $id, 'password' => 'nullable|string|min:8|confirmed', ]); $password = $validatedData['password']; if ($password) { $password = Hash::make($password); } DB::beginTransaction(); try { $update = [ 'name' => $validatedData['name'], 'email' => $validatedData['email'], ]; if ($password) { $update['password'] = $password; } $user = User::findOrFail($id); $user->update($update); DB::commit(); return redirect()->route('users.index')->with('success', 'User berhasil diupdate.'); } catch (\Exception $e) { DB::rollback(); return redirect()->back()->with('error', 'Gagal mengupdate user: ' . $e->getMessage()); } } /** * Remove the specified resource from storage. */ public function destroy(string $id) { // try { $user = User::findOrFail($id); $user->delete(); return redirect()->route('users.index')->with('success', 'User berhasil dihapus.'); } catch (\Exception $e) { return redirect()->back()->with('error', 'Gagal menghapus user: ' . $e->getMessage()); } } }