guilherme guia
1 year ago
18 changed files with 78 additions and 179 deletions
@ -0,0 +1,56 @@
|
||||
<?php |
||||
|
||||
namespace App\Http\Controllers; |
||||
|
||||
use App\Http\Requests\ProfileUpdateRequest; |
||||
use Illuminate\Http\RedirectResponse; |
||||
use Illuminate\Http\Request; |
||||
use Illuminate\Support\Facades\Auth; |
||||
use Illuminate\Support\Facades\Redirect; |
||||
use Illuminate\View\View; |
||||
|
||||
class ProfileController extends Controller |
||||
{ |
||||
/** |
||||
* Display the user's profile form. |
||||
*/ |
||||
public function edit(Request $request): View |
||||
{ |
||||
return view('profile.edit', [ |
||||
'user' => $request->user(), |
||||
]); |
||||
} |
||||
|
||||
/** |
||||
* Update the user's profile information. |
||||
*/ |
||||
public function update(ProfileUpdateRequest $request): RedirectResponse |
||||
{ |
||||
$request->user()->fill($request->validated()); |
||||
|
||||
$request->user()->save(); |
||||
|
||||
return Redirect::route('profile.edit')->with('status', 'profile-updated'); |
||||
} |
||||
|
||||
/** |
||||
* Delete the user's account. |
||||
*/ |
||||
public function destroy(Request $request): RedirectResponse |
||||
{ |
||||
$request->validateWithBag('userDeletion', [ |
||||
'password' => ['required', 'current_password'], |
||||
]); |
||||
|
||||
$user = $request->user(); |
||||
|
||||
Auth::logout(); |
||||
|
||||
$user->delete(); |
||||
|
||||
$request->session()->invalidate(); |
||||
$request->session()->regenerateToken(); |
||||
|
||||
return Redirect::to('/'); |
||||
} |
||||
} |
Loading…
Reference in new issue