Passed
Push — dev6 ( 77ef26...6e2ff7 )
by Ron
16:42
created

UserRequest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A rules() 0 22 1
A authorize() 0 9 2
1
<?php
2
3
namespace App\Http\Requests\User;
4
5
use App\Models\User;
6
use Illuminate\Validation\Rule;
7
use Illuminate\Foundation\Http\FormRequest;
8
9
class UserRequest extends FormRequest
10
{
11
    /**
12
     * Determine if the user is authorized to make this request.
13
     *
14
     * @return bool
15
     */
16 7
    public function authorize()
17
    {
18
        // return false;
19 7
        if($this->route('user'))
20
        {
21 2
            return $this->user()->can('update', User::find($this->route('user')));
22
        }
23
24 5
        return $this->user()->can('create', User::class);
25 5
    }
26
27
    /**
28
     * Get the validation rules that apply to the request.
29
     *
30
     * @return array
31 4
     */
32
    public function rules()
33
    {
34
        return [
35 4
            // 'username'   => 'required|unique:users',
36 4
            // 'first_name' => 'required|string',
37
            // 'last_name'  => 'required|string',
38 4
            // 'email'      => 'required|email|unique:users,except,'.$this->route('user'),
39 4
            // 'role_id'    => 'required|exists:user_roles',
40
41 4
            'username'   => [
42 4
                'required',
43 4
                Rule::unique('users')->ignore($this->route('user'), 'user_id'),
44
                // Rule::requiredIf(fn() => Route::current()->getName() === 'user.store'),
45
            ],
46
            'first_name' => 'required|string',
47
            'last_name'  => 'required|string',
48
            'email'      => [
49
                'required',
50
                'email',
51
                Rule::unique('users')->ignore($this->route('user'), 'user_id'),
52
            ],
53
            'role_id'    => 'required|exists:user_roles',
54
        ];
55
    }
56
}
57