Passed
Pull Request — master (#2161)
by Janko
25:16 queued 15:11
created

PrivateMessage::setDeleted()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 6
ccs 0
cts 3
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Stu\Orm\Entity;
6
7
use Doctrine\ORM\Mapping\Column;
8
use Doctrine\ORM\Mapping\Entity;
9
use Doctrine\ORM\Mapping\GeneratedValue;
10
use Doctrine\ORM\Mapping\Id;
11
use Doctrine\ORM\Mapping\Index;
12
use Doctrine\ORM\Mapping\JoinColumn;
13
use Doctrine\ORM\Mapping\ManyToOne;
14
use Doctrine\ORM\Mapping\OneToOne;
15
use Doctrine\ORM\Mapping\Table;
16
use Override;
0 ignored issues
show
Bug introduced by
The type Override was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
17
use Stu\Orm\Repository\PrivateMessageRepository;
18
19
#[Table(name: 'stu_pms')]
20
#[Index(name: 'recipient_folder_idx', columns: ['recip_user', 'cat_id'])]
21
#[Index(name: 'correspondence', columns: ['recip_user', 'send_user'])]
22
#[Index(name: 'pm_date_idx', columns: ['date'])]
23
#[Entity(repositoryClass: PrivateMessageRepository::class)]
24
class PrivateMessage implements PrivateMessageInterface
25
{
26
    #[Id]
27
    #[Column(type: 'integer')]
28
    #[GeneratedValue(strategy: 'IDENTITY')]
29
    private int $id;
30
31
    #[Column(type: 'integer')]
32
    private int $send_user = 0;
33
34
    #[Column(type: 'integer')]
35
    private int $recip_user = 0;
36
37
    #[Column(type: 'text')]
38
    private string $text = '';
39
40
    #[Column(type: 'integer')]
41
    private int $date = 0;
42
43
    #[Column(type: 'boolean')]
44
    private bool $new = false;
45
46
    #[Column(type: 'integer')]
47
    private int $cat_id = 0;
48
49
    #[Column(type: 'integer', nullable: true)]
50
    private ?int $inbox_pm_id = null;
0 ignored issues
show
introduced by
The private property $inbox_pm_id is not used, and could be removed.
Loading history...
51
52
    #[Column(type: 'string', nullable: true)]
53
    private ?string $href = null;
54
55
    #[Column(type: 'integer', nullable: true)]
56
    private ?int $deleted = null;
57
58
    #[ManyToOne(targetEntity: 'PrivateMessageFolder')]
59
    #[JoinColumn(name: 'cat_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
60
    private PrivateMessageFolderInterface $category;
61
62
    #[ManyToOne(targetEntity: 'User')]
63
    #[JoinColumn(name: 'send_user', referencedColumnName: 'id', onDelete: 'CASCADE')]
64
    private UserInterface $sendingUser;
65
66
    #[ManyToOne(targetEntity: 'User')]
67
    #[JoinColumn(name: 'recip_user', referencedColumnName: 'id', onDelete: 'CASCADE')]
68
    private UserInterface $receivingUser;
69
70
    #[OneToOne(targetEntity: 'PrivateMessage', inversedBy: 'outboxPm')]
71
    #[JoinColumn(name: 'inbox_pm_id', referencedColumnName: 'id')]
72
    private ?PrivateMessageInterface $inboxPm = null;
73
74
    #[OneToOne(targetEntity: 'PrivateMessage', mappedBy: 'inboxPm')]
75
    private ?PrivateMessageInterface $outboxPm = null;
76
77 1
    #[Override]
78
    public function getId(): int
79
    {
80 1
        return $this->id;
81
    }
82
83 1
    #[Override]
84
    public function getSenderId(): int
85
    {
86 1
        return $this->send_user;
87
    }
88
89
    #[Override]
90
    public function getRecipientId(): int
91
    {
92
        return $this->recip_user;
93
    }
94
95 1
    #[Override]
96
    public function getText(): string
97
    {
98 1
        return $this->text;
99
    }
100
101
    #[Override]
102
    public function setText(string $text): PrivateMessageInterface
103
    {
104
        $this->text = $text;
105
        return $this;
106
    }
107
108 1
    #[Override]
109
    public function getDate(): int
110
    {
111 1
        return $this->date;
112
    }
113
114
    #[Override]
115
    public function setDate(int $date): PrivateMessageInterface
116
    {
117
        $this->date = $date;
118
        return $this;
119
    }
120
121 1
    #[Override]
122
    public function getNew(): bool
123
    {
124 1
        return $this->new;
125
    }
126
127
    #[Override]
128
    public function setNew(bool $new): PrivateMessageInterface
129
    {
130
        $this->new = $new;
131
        return $this;
132
    }
133
134
    #[Override]
135
    public function getCategoryId(): int
136
    {
137
        return $this->cat_id;
138
    }
139
140 1
    #[Override]
141
    public function getInboxPm(): ?PrivateMessageInterface
142
    {
143 1
        return $this->inboxPm;
144
    }
145
146
    #[Override]
147
    public function setInboxPm(?PrivateMessageInterface $pm): PrivateMessageInterface
148
    {
149
        $this->inboxPm = $pm;
150
        return $this;
151
    }
152
153
    #[Override]
154
    public function getOutboxPm(): ?PrivateMessageInterface
155
    {
156
        return $this->outboxPm;
157
    }
158
159 1
    #[Override]
160
    public function getHref(): ?string
161
    {
162 1
        return $this->href;
163
    }
164
165
    #[Override]
166
    public function setHref(?string $href): PrivateMessageInterface
167
    {
168
        $this->href = $href;
169
        return $this;
170
    }
171
172 1
    #[Override]
173
    public function getCategory(): PrivateMessageFolderInterface
174
    {
175 1
        return $this->category;
176
    }
177
178
    #[Override]
179
    public function setCategory(PrivateMessageFolderInterface $folder): PrivateMessageInterface
180
    {
181
        $this->category = $folder;
182
        return $this;
183
    }
184
185 1
    #[Override]
186
    public function getSender(): UserInterface
187
    {
188 1
        return $this->sendingUser;
189
    }
190
191
    #[Override]
192
    public function setSender(UserInterface $user): PrivateMessageInterface
193
    {
194
        $this->sendingUser = $user;
195
        return $this;
196
    }
197
198 1
    #[Override]
199
    public function getRecipient(): UserInterface
200
    {
201 1
        return $this->receivingUser;
202
    }
203
204
    #[Override]
205
    public function setRecipient(UserInterface $recipient): PrivateMessageInterface
206
    {
207
        $this->receivingUser = $recipient;
208
        return $this;
209
    }
210
211 1
    #[Override]
212
    public function isDeleted(): bool
213
    {
214 1
        return $this->deleted !== null;
215
    }
216
217
    #[Override]
218
    public function setDeleted(int $timestamp): PrivateMessageInterface
219
    {
220
        $this->deleted = $timestamp;
221
222
        return $this;
223
    }
224
225
    #[Override]
226
    public function hasTranslation(): bool
227
    {
228
        $text = $this->getText();
229
        return strpos($text, '[translate]') !== false && strpos($text, '[/translate]') !== false;
230
    }
231
}
232