LabelNameUniqueConstraintService   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 2
dl 0
loc 32
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A hasUniqueConstraint() 0 7 2
A needsUpdateUniqueConstraint() 0 4 1
A getUniqueConstraintValue() 0 7 1
1
<?php
2
3
namespace CultuurNet\UDB3\Label\Events;
4
5
use Broadway\Domain\DomainMessage;
6
use CultuurNet\UDB3\EventSourcing\DBAL\UniqueConstraintServiceInterface;
7
8
class LabelNameUniqueConstraintService implements UniqueConstraintServiceInterface
9
{
10
    /**
11
     * @inheritdoc
12
     */
13
    public function hasUniqueConstraint(DomainMessage $domainMessage)
14
    {
15
        $event = $domainMessage->getPayload();
16
17
        return ($event instanceof Created ||
18
            $event instanceof CopyCreated);
19
    }
20
21
    /**
22
     * @inheritdoc
23
     */
24
    public function needsUpdateUniqueConstraint(DomainMessage $domainMessage)
25
    {
26
        return false;
27
    }
28
29
    /**
30
     * @inheritdoc
31
     */
32
    public function getUniqueConstraintValue(DomainMessage $domainMessage)
33
    {
34
        /** @var Created|CopyCreated $event */
35
        $event = $domainMessage->getPayload();
36
37
        return $event->getName();
38
    }
39
}
40