auth()->user()]); } public function update(Request $request) { $user = auth()->user(); $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|email|unique:users,email,' . $user->id, 'photo' => 'nullable|image|mimes:jpg,jpeg,png|max:2048', ]); $user->name = $request->name; $user->email = $request->email; if ($request->hasFile('photo')) { // Hapus foto lama if ($user->photo) { $oldPath = public_path('storage/' . $user->photo); if (file_exists($oldPath)) unlink($oldPath); } // Simpan foto baru langsung ke public/storage/photos/ $file = $request->file('photo'); $filename = uniqid() . '_' . time() . '.' . $file->getClientOriginalExtension(); $file->move(public_path('storage/photos'), $filename); $user->photo = 'photos/' . $filename; } $user->save(); return back()->with('status', 'Profil berhasil diperbarui!'); } public function updatePassword(Request $request) { $request->validate([ 'current_password' => 'required', 'password' => 'required|min:8|confirmed', ]); $user = auth()->user(); if (!Hash::check($request->current_password, $user->password)) { return back()->withErrors(['current_password' => 'Password saat ini salah.']); } $user->password = Hash::make($request->password); $user->save(); return back()->with('status_password', 'Password berhasil diubah!'); } public function destroy(Request $request) { $user = auth()->user(); // Hapus foto profil if ($user->photo) { $photoPath = public_path('storage/' . $user->photo); if (file_exists($photoPath)) unlink($photoPath); } auth()->logout(); $user->delete(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect(url('/')); } }