Passed
Push — master ( 60125b...8a61d1 )
by Koen
02:54
created

UpdateRequest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 16
dl 0
loc 24
ccs 4
cts 4
cp 1
rs 10
c 1
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A rules() 0 22 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\Http\Requests\Api\Profile\Password;
6
7
use Illuminate\Contracts\Hashing\Hasher;
8
use Illuminate\Foundation\Http\FormRequest;
9
10
final class UpdateRequest extends FormRequest
11
{
12
    public function rules(): array
13
    {
14
        return [
15
            'password'         => [
16
                'required',
17 3
                'string',
18
                'min:10',
19 3
                'max:191',
20
                'confirmed',
21
            ],
22
            'current_password' => [
23
                'required',
24
                'string',
25
                function ($attribute, $value, $fail) {
26
                    /** @var \App\Models\User $user */
27 3
                    $user = $this->user();
28
29
                    /** @var Hasher $hasher */
30
                    $hasher = $this->container->make(Hasher::class);
31 3
32
                    if (! $hasher->check($value, $user->getAuthPassword())) {
33
                        $fail('Current password is invalid.');
34
                    }
35
                },
36
            ],
37
        ];
38 3
    }
39
}
40