BackUserRequest::getEmailValidationRule()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 6
nc 2
nop 0
dl 0
loc 12
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace App\Http\Requests\Back;
4
5
use App\Http\Requests\Request;
6
use Illuminate\Validation\Rule;
7
8
class BackUserRequest extends Request
9
{
10
    public function rules(): array
11
    {
12
        return [
13
            'email' => $this->getEmailValidationRule(),
14
            'first_name' => 'required',
15
            'last_name' => 'required',
16
            'password' => 'confirmed',
17
        ];
18
    }
19
20
    public function getEmailValidationRule(): string
21
    {
22
        $uniqueRule = Rule::unique('users_back', 'email');
23
24
        if ($this->method() === 'PATCH') {
25
            $userId = $this->getRouteParameter('administrator');
26
27
            $uniqueRule = $uniqueRule->ignore($userId);
28
        }
29
30
        return "required|email|{$uniqueRule}";
31
    }
32
}
33