Test Failed
Push — fix/media-validation ( 3351fe )
by Ben
09:34
created

UpdateManager::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 1
1
<?php declare(strict_types=1);
2
3
namespace Thinktomorrow\Chief\Management\Application;
4
5
use Illuminate\Http\Request;
6
use Thinktomorrow\Chief\Management\Manager;
7
use Thinktomorrow\Chief\Fields\Validation\FieldValidator;
8
9
class UpdateManager
10
{
11
    /** @var FieldValidator */
12
    private $fieldValidator;
13
14
    public function __construct(FieldValidator $fieldValidator)
15
    {
16
        $this->fieldValidator = $fieldValidator;
17
    }
18
19
    public function handle(Manager $manager, Request $request)
20
    {
21
        $manager->guard('update');
22
23
        $request = $manager->updateRequest($request);
24
25
        $this->fieldValidator->handle($manager->fieldsWithAssistantFields(), $request->all());
26
27
        if (method_exists($manager, 'beforeUpdate')) {
28
            $manager->beforeUpdate($request);
29
        }
30
31
        $manager->saveFields($request);
32
33
        if (method_exists($manager, 'afterUpdate')) {
34
            $manager->afterUpdate($request);
35
        }
36
    }
37
}
38