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

UpdateRequest::rules()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 6
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 8
ccs 0
cts 5
cp 0
crap 2
rs 10
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