UpdateRequest::rules()   A
last analyzed

Complexity

Conditions 2
Paths 1

Size

Total Lines 21
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 14
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 21
ccs 4
cts 4
cp 1
crap 2
rs 9.7998
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