Passed
Push — main ( 7d21ad...5ef848 )
by Seth
03:42
created

DynamicSettingUpdateRequest::rules()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 7
nc 1
nop 0
dl 0
loc 10
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace SaasReady\Http\Requests\DynamicSetting;
4
5
use Illuminate\Database\Eloquent\Model;
6
use SaasReady\Http\Requests\BaseFormRequest;
7
use SaasReady\Rules\ClassExistsRule;
8
9
class DynamicSettingUpdateRequest extends BaseFormRequest
10
{
11
    public function authorize(): bool
12
    {
13
        return true;
14
    }
15
16
    public function rules(): array
17
    {
18
        return [
19
            'source_type' => [
20
                'nullable',
21
                'string',
22
                new ClassExistsRule(),
23
            ],
24
            'source_id' => 'nullable|int',
25
            'settings' => 'required|array',
26
        ];
27
    }
28
29
    public function getRelatedModel(): ?Model
30
    {
31
        if (!$this->filled('source_type') || !$this->filled('source_id')) {
32
            return null;
33
        }
34
35
        return $this->source
36
            ??= $this->input('source_type')::find($this->input('source_id'));
37
    }
38
}
39