Passed
Push — master ( 4f32ca...21bec9 )
by Christian
12:38 queued 11s
created

LandingPageSalesChannelDefinition::since()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 4
rs 10
1
<?php declare(strict_types=1);
2
3
namespace Shopware\Core\Content\LandingPage\Aggregate\LandingPageSalesChannel;
4
5
use Shopware\Core\Content\LandingPage\LandingPageDefinition;
6
use Shopware\Core\Framework\DataAbstractionLayer\Field\FkField;
7
use Shopware\Core\Framework\DataAbstractionLayer\Field\Flag\PrimaryKey;
8
use Shopware\Core\Framework\DataAbstractionLayer\Field\Flag\Required;
9
use Shopware\Core\Framework\DataAbstractionLayer\Field\ManyToOneAssociationField;
10
use Shopware\Core\Framework\DataAbstractionLayer\Field\ReferenceVersionField;
11
use Shopware\Core\Framework\DataAbstractionLayer\FieldCollection;
12
use Shopware\Core\Framework\DataAbstractionLayer\MappingEntityDefinition;
13
use Shopware\Core\System\SalesChannel\SalesChannelDefinition;
14
15
/**
16
 * @internal (flag:FEATURE_NEXT_12032)
17
 */
18
class LandingPageSalesChannelDefinition extends MappingEntityDefinition
19
{
20
    public const ENTITY_NAME = 'landing_page_sales_channel';
21
22
    public function getEntityName(): string
23
    {
24
        return self::ENTITY_NAME;
25
    }
26
27
    public function isVersionAware(): bool
28
    {
29
        return true;
30
    }
31
32
    public function since(): ?string
33
    {
34
        // May insert correct since-value
35
        return '6.3.5.0';
36
    }
37
38
    protected function defineFields(): FieldCollection
39
    {
40
        return new FieldCollection([
41
            (new FkField('landing_page_id', 'landingPageId', LandingPageDefinition::class))->addFlags(new PrimaryKey(), new Required()),
42
            (new ReferenceVersionField(LandingPageDefinition::class))->addFlags(new PrimaryKey(), new Required()),
43
44
            (new FkField('sales_channel_id', 'salesChannelId', SalesChannelDefinition::class))->addFlags(new PrimaryKey(), new Required()),
45
46
            new ManyToOneAssociationField('landingPage', 'landing_page_id', LandingPageDefinition::class, 'id', false),
47
            new ManyToOneAssociationField('salesChannel', 'sales_channel_id', SalesChannelDefinition::class, 'id', false),
48
        ]);
49
    }
50
}
51