Completed
Push — master ( 936cb2...f0f25e )
by Iakov
12:25 queued 06:29
created

BuildUpdateFormStep   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 4
dl 0
loc 22
ccs 0
cts 10
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A execute() 0 14 3
A getRequiredArtifacts() 0 3 1
1
<?php
2
3
4
namespace Kami\ApiCoreBundle\RequestProcessor\Step\Update;
5
6
7
8
use Kami\ApiCoreBundle\RequestProcessor\Step\AbstractBuildFormStep;
9
use Kami\Component\RequestProcessor\Artifact;
10
use Kami\Component\RequestProcessor\ArtifactCollection;
11
use Symfony\Component\HttpFoundation\Request;
12
13
class BuildUpdateFormStep extends AbstractBuildFormStep
14
{
15
    public function execute(Request $request) : ArtifactCollection
16
    {
17
        $builder = $this->getBaseFormBuilder($request->getMethod());
18
        /** @var \ReflectionClass $reflection */
19
        $reflection = $this->getArtifact('reflection');
20
21
        foreach ($reflection->getProperties() as $property) {
22
            if ($this->accessManager->canUpdateProperty($property)) {
23
                $this->addField($property, $builder);
24
            }
25
        }
26
27
        return new ArtifactCollection([
28
            new Artifact('form', $builder->getForm())
29
        ]);
30
    }
31
32
    public function getRequiredArtifacts() : array
33
    {
34
        return ['reflection', 'access_granted', 'entity'];
35
    }
36
37
}