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

BuildCreateFormStep::getRequiredArtifacts()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 3
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
eloc 1
nc 1
nop 0
crap 2
1
<?php
2
3
namespace Kami\ApiCoreBundle\RequestProcessor\Step\Create;
4
5
6
use Kami\ApiCoreBundle\RequestProcessor\Step\AbstractBuildFormStep;
7
use Kami\Component\RequestProcessor\Artifact;
8
use Kami\Component\RequestProcessor\ArtifactCollection;
9
use Symfony\Component\HttpFoundation\Request;
10
11
12
class BuildCreateFormStep extends AbstractBuildFormStep
13
{
14
    public function execute(Request $request) : ArtifactCollection
15
    {
16
        $builder = $this->getBaseFormBuilder($request->getMethod());
17
        /** @var \ReflectionClass $reflection */
18
        $reflection = $this->getArtifact('reflection');
19
20
        foreach ($reflection->getProperties() as $property) {
21
            if ($this->accessManager->canCreateProperty($property)) {
22
                $this->addField($property, $builder);
23
            }
24
        }
25
26
        return new ArtifactCollection([
27
            new Artifact('form', $builder->getForm())
28
        ]);
29
    }
30
31
32
    public function getRequiredArtifacts() : array
33
    {
34
        return ['reflection', 'access_granted', 'entity'];
35
    }
36
}