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

DynamicSettingStoreRequest::getRelatedModel()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
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 DynamicSettingStoreRequest 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
                'required',
21
                'string',
22
                new ClassExistsRule(),
23
            ],
24
            'source_id' => 'required|int',
25
            'settings' => 'required|array',
26
        ];
27
    }
28
29
    public function getRelatedModel(): ?Model
30
    {
31
        return $this->source
32
            ??= $this->input('source_type')::find($this->input('source_id'));
33
    }
34
}
35