Passed
Push — task/laravel-breadcrumbs ( 3beccb...a96280 )
by Yonathan
10:46 queued 10s
created

SkillDeclarationValidator::validator()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 27
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 18
dl 0
loc 27
rs 9.6666
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace App\Services\Validation;
4
5
use Illuminate\Support\Facades\Validator;
6
use App\Models\SkillDeclaration;
7
use App\Services\Validation\Rules\PolyExistsRule;
8
use App\Services\Validation\Rules\UniqueSkillDeclarationRule;
9
10
class SkillDeclarationValidator
11
{
12
13
    public function validator(SkillDeclaration $skillDeclaration)
2 ignored issues
show
introduced by
Method \App\Services\Validation\SkillDeclarationValidator::validator() does not have return type hint nor @return annotation for its return value.
Loading history...
Coding Style Documentation introduced by
Missing doc comment for function validator()
Loading history...
14
    {
15
        $uniqueSkillRule = new UniqueSkillDeclarationRule($skillDeclaration->skillable->skill_declarations, $skillDeclaration->id);
16
17
        // Validate basic data is filled in
18
        $validator = Validator::make($skillDeclaration->getAttributes(), [
19
            'skill_id' => [
20
                'required',
21
                'exists:skills,id',
22
                $uniqueSkillRule,
23
            ],
24
            'skillable_id' => [
25
                'required',
26
                new PolyExistsRule($skillDeclaration->skillable_type),
27
            ],
28
            'skillable_type' => 'required',
29
            'skill_status_id' => [
30
                'required',
31
                'exists:skill_statuses,id',
32
            ],
33
            'skill_level_id' => [
34
                'required',
35
                'exists:skill_levels,id',
36
            ],
37
            'description' => 'required|string',
38
        ]);
39
        return $validator;
40
    }
41
42
    public function validate(SkillDeclaration $skillDeclaration)
2 ignored issues
show
introduced by
Method \App\Services\Validation\SkillDeclarationValidator::validate() does not have return type hint nor @return annotation for its return value.
Loading history...
Coding Style Documentation introduced by
Missing doc comment for function validate()
Loading history...
43
    {
44
        return $this->validator($skillDeclaration)->validate();
45
    }
46
}
47