Auth::user(), ]); } public function update(Request $request) { $user = Auth::user(); $validated = $request->validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email,'.$user->id], ]); $user->fill($validated); if ($user->isDirty('email')) { $user->email_verified_at = null; } $user->save(); return redirect()->route('profile.index')->with('status', 'profile-updated'); } public function updatePassword(Request $request) { $validated = $request->validateWithBag('updatePassword', [ 'current_password' => ['required', 'current_password'], 'password' => ['required', Password::defaults(), 'confirmed'], ]); $request->user()->update([ 'password' => Hash::make($validated['password']), ]); return redirect()->route('profile.index')->with('status', 'password-updated'); } public function destroy(Request $request) { $request->validateWithBag('userDeletion', [ 'password' => ['required', 'current_password'], ]); $user = $request->user(); Auth::logout(); $user->delete(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect('/'); } }