UpdateRequest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A rules() 0 21 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
                'confirmed',
20
            ],
21
            'current_password' => [
22
                'required',
23
                'string',
24
                function ($attribute, $value, $fail) {
25
                    /** @var \App\Models\User $user */
26
                    $user = $this->user();
27 3
28
                    /** @var Hasher $hasher */
29
                    $hasher = $this->container->make(Hasher::class);
30
31 3
                    if (! $hasher->check($value, $user->getAuthPassword())) {
32
                        $fail('Current password is invalid.');
33
                    }
34
                },
35
            ],
36
        ];
37
    }
38
}
39