Passed
Push — feature/uploadable ( 7c6d25...a7ed20 )
by Daniel
11:07
created

ComponentLocation   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 25
ccs 0
cts 5
cp 0
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A getSortCollection() 0 3 1
1
<?php
2
3
/*
4
 * This file is part of the Silverback API Components Bundle Project
5
 *
6
 * (c) Daniel West <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace Silverback\ApiComponentsBundle\Entity\Core;
15
16
use ApiPlatform\Core\Annotation\ApiProperty;
17
use ApiPlatform\Core\Annotation\ApiResource;
18
use Doctrine\Common\Collections\Collection;
19
use Silverback\ApiComponentsBundle\Annotation as Silverback;
20
use Silverback\ApiComponentsBundle\Entity\Utility\IdTrait;
21
use Silverback\ApiComponentsBundle\Entity\Utility\TimestampedTrait;
22
23
/**
24
 * @author Daniel West <[email protected]>
25
 *
26
 * @Silverback\Timestamped
27
 * @ApiResource(attributes={"order"={"sort"="ASC"}})
28
 */
29
class ComponentLocation
30
{
31
    use IdTrait;
32
    use TimestampedTrait;
33
34
    public ComponentGroup $componentGroup;
35
36
    /**
37
     * @ApiProperty(writable=false)
38
     */
39
    public AbstractComponent $component;
40
41
    public ?int $sort = 0;
42
43
    public function __construct()
44
    {
45
        $this->setId();
46
    }
47
48
    /**
49
     * @return Collection|AbstractComponent[]|null
50
     */
51
    public function getSortCollection(): ?Collection
52
    {
53
        return $this->componentGroup->componentLocations;
54
    }
55
}
56