Message   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
eloc 13
c 0
b 0
f 0
dl 0
loc 32
ccs 9
cts 9
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setRecipient() 0 11 3
A getRecipient() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Application\Model;
6
7
use Application\Repository\MessageRepository;
8
use Doctrine\ORM\Mapping as ORM;
9
10
/**
11
 * A message sent to a user.
12
 */
13
#[ORM\Entity(MessageRepository::class)]
14
class Message extends AbstractModel implements \Ecodev\Felix\Model\Message
15
{
16
    use \Ecodev\Felix\Model\Traits\Message;
17
18
    #[ORM\JoinColumn(onDelete: 'CASCADE')]
19
    #[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'messages')]
20
    private ?User $recipient = null;
21
22
    /**
23
     * Set recipient.
24
     */
25 18
    public function setRecipient(?User $recipient): void
26
    {
27 18
        if ($this->recipient) {
28 1
            $this->recipient->messageRemoved($this);
29
        }
30
31 18
        $this->recipient = $recipient;
32 18
        $this->setOwner($recipient);
33
34 18
        if ($this->recipient) {
35 17
            $this->recipient->messageAdded($this);
36
        }
37
    }
38
39
    /**
40
     * Get recipient.
41
     */
42 8
    public function getRecipient(): ?User
43
    {
44 8
        return $this->recipient;
45
    }
46
}
47