comparison stubs/default/app/Http/Controllers/ProfileController.php @ 0:90e38de8f2ba

Initial Commit
author luka
date Wed, 13 Aug 2025 22:17:20 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:90e38de8f2ba
1 <?php
2
3 namespace App\Http\Controllers;
4
5 use App\Http\Requests\ProfileUpdateRequest;
6 use Illuminate\Http\RedirectResponse;
7 use Illuminate\Http\Request;
8 use Illuminate\Support\Facades\Auth;
9 use Illuminate\Support\Facades\Redirect;
10 use Illuminate\View\View;
11
12 class ProfileController extends Controller
13 {
14 /**
15 * Display the user's profile form.
16 */
17 public function edit(Request $request): View
18 {
19 return view('profile.edit', [
20 'user' => $request->user(),
21 ]);
22 }
23
24 /**
25 * Update the user's profile information.
26 */
27 public function update(ProfileUpdateRequest $request): RedirectResponse
28 {
29 $request->user()->fill($request->validated());
30
31 if ($request->user()->isDirty('email')) {
32 $request->user()->email_verified_at = null;
33 }
34
35 $request->user()->save();
36
37 return Redirect::route('profile.edit')->with('status', 'profile-updated');
38 }
39
40 /**
41 * Delete the user's account.
42 */
43 public function destroy(Request $request): RedirectResponse
44 {
45 $request->validateWithBag('userDeletion', [
46 'password' => ['required', 'current_password'],
47 ]);
48
49 $user = $request->user();
50
51 Auth::logout();
52
53 $user->delete();
54
55 $request->session()->invalidate();
56 $request->session()->regenerateToken();
57
58 return Redirect::to('/');
59 }
60 }