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

StoreRequest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A rules() 0 8 1
A store() 0 6 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 StoreRequest extends AbstractRequest
11
{
12
    /**
13
     * {@inheritDoc}
14
     */
15
    public function rules()
16
    {
17
        return [
18
            'username' => ['required', 'string', 'max:255', Rule::unique(User::class)],
19
            'name' => ['required', 'string', 'max:255'],
20
            'email' => ['required', 'string', 'email', 'max:255', Rule::unique(User::class)],
21
            'password' => ['required', 'confirmed', Rules\Password::defaults()],
22
            'role' => ['required', Rule::exists(Role::class, 'name')],
23
        ];
24
    }
25
26
    /**
27
     * Store a newly created resource in storage.
28
     *
29
     * @return \App\Models\User
30
     */
31
    public function store(): User
32
    {
33
        /** @var \App\Models\User $user */
34
        $user = User::make($this->validated());
35
36
        return $user;
37
    }
38
}
39