HostAccessValidator   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 23
dl 0
loc 35
rs 10
c 1
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A validateItem() 0 28 2
1
<?php
2
3
namespace Siak\Tontine\Validation\Guild;
4
5
use Illuminate\Support\Facades\Validator;
6
use Siak\Tontine\Validation\AbstractValidator;
7
use Siak\Tontine\Validation\ValidationException;
8
9
class HostAccessValidator extends AbstractValidator
10
{
11
    /**
12
     * @param array $values
13
     *
14
     * @return array
15
     */
16
    public function validateItem(array $values): array
17
    {
18
        $validator = Validator::make($this->values($values), [
19
            'admin' => 'sometimes|required|array',
20
            'admin.guilds' => 'sometimes|required|in:1',
21
            'finance' => 'sometimes|required|array',
22
            'finance.charges' => 'sometimes|required|in:1',
23
            'finance.accounts' => 'sometimes|required|in:1',
24
            'finance.pools' => 'sometimes|required|in:1',
25
            'tontine' => 'sometimes|required|array',
26
            'tontine.members' => 'sometimes|required|in:1',
27
            'tontine.calendar' => 'sometimes|required|in:1',
28
            'planning' => 'sometimes|required|array',
29
            'planning.finance' => 'sometimes|required|in:1',
30
            'meeting' => 'sometimes|required|array',
31
            'meeting.sessions' => 'sometimes|required|in:1',
32
            'meeting.payments' => 'sometimes|required|in:1',
33
            'meeting.presences' => 'sometimes|required|in:1',
34
            'report' => 'sometimes|required|array',
35
            'report.session' => 'sometimes|required|in:1',
36
            'report.round' => 'sometimes|required|in:1',
37
        ]);
38
39
        if($validator->fails())
40
        {
41
            throw new ValidationException($validator);
42
        }
43
        return $validator->validated();
44
    }
45
}
46