forked from laravel/jetstream
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCurrentUserController.php
36 lines (30 loc) · 989 Bytes
/
CurrentUserController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
namespace Laravel\Jetstream\Http\Controllers\Inertia;
use Illuminate\Contracts\Auth\StatefulGuard;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\ValidationException;
use Inertia\Inertia;
use Laravel\Jetstream\Contracts\DeletesUsers;
class CurrentUserController extends Controller
{
/**
* Delete the current user.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Contracts\Auth\StatefulGuard $auth
* @return \Illuminate\Http\Response
*/
public function destroy(Request $request, StatefulGuard $auth)
{
$request->validate([
'password' => 'required|string|password',
]);
app(DeletesUsers::class)->delete($request->user()->fresh());
$auth->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return Inertia::location(url('/'));
}
}