Completed
Push — master ( dfe268...3e25db )
by Brian
15s queued 12s
created

ProfileController   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 47
ccs 20
cts 20
cp 1
rs 10
c 0
b 0
f 0
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A destroy() 0 16 1
A edit() 0 4 1
A update() 0 11 2
1
<?php
2
3
namespace App\Modules\Sellers\Http\Controllers;
4
5
use App\Modules\Sellers\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 seller's profile form.
16
     */
17 1
    public function edit(Request $request): View
18
    {
19 1
        return view('seller.profile.edit', [
20 1
            'user' => $request->user('seller'),
21 1
        ]);
22
    }
23
24
    /**
25
     * Update the seller's profile information.
26
     */
27 2
    public function update(ProfileUpdateRequest $request): RedirectResponse
28
    {
29 2
        $request->user('seller')->fill($request->validated());
30
31 2
        if ($request->user('seller')->isDirty('email')) {
32 1
            $request->user('seller')->email_verified_at = null;
33
        }
34
35 2
        $request->user('seller')->save();
36
37 2
        return Redirect::route('seller.profile.edit')->with('status', 'profile-updated');
38
    }
39
40
    /**
41
     * Delete the seller's account.
42
     */
43 2
    public function destroy(Request $request): RedirectResponse
44
    {
45 2
        $request->validateWithBag('userDeletion', [
46 2
            'password' => ['required', 'current-password:seller'],
47 2
        ]);
48
49 1
        $seller = $request->user('seller');
50
51 1
        Auth::guard('seller')->logout();
52
53 1
        $seller->delete();
54
55 1
        $request->session()->invalidate();
56 1
        $request->session()->regenerateToken();
57
58 1
        return Redirect::to('/seller');
59
    }
60
}
61