Passed
Push — develop ( 4cbaa0...09ba9e )
by Ngoding
05:32
created

UpdateRequest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A rules() 0 8 1
A update() 0 7 1
1
<?php
2
3
namespace App\Http\Requests\User;
4
5
use App\Models\Role;
6
use App\Models\User;
7
use Illuminate\Validation\Rule;
8
use Illuminate\Validation\Rules;
9
10
class UpdateRequest extends AbstractRequest
11
{
12
    /**
13
     * {@inheritDoc}
14
     */
15
    public function rules()
16
    {
17
        return [
18
            'username' => ['required', 'string', 'max:255', Rule::unique(User::class)->ignoreModel($this->route('user'))],
19
            'name' => ['required', 'string', 'max:255'],
20
            'email' => ['required', 'string', 'email', 'max:255', Rule::unique(User::class)->ignoreModel($this->route('user'))],
21
            'password' => ['sometimes', 'nullable', 'confirmed', Rules\Password::defaults()],
22
            'role' => ['required', Rule::exists(Role::class, 'name')],
23
        ];
24
    }
25
26
    /**
27
     * Update the specified resource in storage.
28
     *
29
     * @param  \App\Models\User  $user
30
     * @return \App\Models\User
31
     */
32
    public function update(User $user): User
33
    {
34
        $user = $user->fill($this->validated());
35
36
        $user->save();
37
38
        return $user;
39
    }
40
}
41