FrontUserRequest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
dl 0
loc 24
rs 10
c 0
b 0
f 0
wmc 3
lcom 1
cbo 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A rules() 0 8 1
A getEmailValidationRule() 0 12 2
1
<?php
2
3
namespace App\Http\Requests\Back;
4
5
use App\Http\Requests\Request;
6
use Illuminate\Validation\Rule;
7
8
class FrontUserRequest extends Request
9
{
10
    public function rules(): array
11
    {
12
        return [
13
            'email' => $this->getEmailValidationRule(),
14
            'first_name' => 'required',
15
            'last_name' => 'required',
16
        ];
17
    }
18
19
    public function getEmailValidationRule(): string
20
    {
21
        $uniqueRule = Rule::unique('users_front', 'email');
22
23
        if ($this->method() === 'PATCH') {
24
            $userId = $this->getRouteParameter('member');
25
26
            $uniqueRule = $uniqueRule->ignore($userId);
27
        }
28
29
        return "required|email|{$uniqueRule}";
30
    }
31
}
32