]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Entity/Config.php
Fix tag related test for Pocket
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Entity / Config.php
CommitLineData
9d50517c
NL
1<?php
2
ad4d1caa 3namespace Wallabag\CoreBundle\Entity;
9d50517c 4
1d7b350b 5use Doctrine\Common\Collections\ArrayCollection;
9d50517c 6use Doctrine\ORM\Mapping as ORM;
55f58c9c 7use Symfony\Component\Validator\Constraints as Assert;
9d50517c
NL
8
9/**
4346a860 10 * Config.
9d50517c 11 *
4d85d7e9 12 * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository")
bd0f3d32 13 * @ORM\Table(name="`config`")
9d50517c
NL
14 * @ORM\Entity
15 */
16class Config
17{
18 /**
4346a860 19 * @var int
9d50517c 20 *
55f58c9c 21 * @ORM\Column(name="id", type="integer")
9d50517c 22 * @ORM\Id
55f58c9c 23 * @ORM\GeneratedValue(strategy="AUTO")
9d50517c
NL
24 */
25 private $id;
26
27 /**
28 * @var string
29 *
55f58c9c 30 * @Assert\NotBlank()
4d85d7e9 31 * @ORM\Column(name="theme", type="string", nullable=false)
9d50517c 32 */
4d85d7e9 33 private $theme;
9d50517c
NL
34
35 /**
4346a860 36 * @var int
9d50517c 37 *
4d85d7e9 38 * @Assert\NotBlank()
371ac69a
J
39 * @Assert\Range(
40 * min = 1,
41 * max = 100000,
42 * maxMessage = "This will certainly kill the app"
43 * )
4d85d7e9
J
44 * @ORM\Column(name="items_per_page", type="integer", nullable=false)
45 */
0c83fd59 46 private $itemsPerPage;
4d85d7e9
J
47
48 /**
49 * @var string
50 *
51 * @Assert\NotBlank()
52 * @ORM\Column(name="language", type="string", nullable=false)
9d50517c 53 */
4d85d7e9
J
54 private $language;
55
0c83fd59
J
56 /**
57 * @var string
58 *
59 * @ORM\Column(name="rss_token", type="string", nullable=true)
60 */
61 private $rssToken;
62
63 /**
4346a860 64 * @var int
0c83fd59
J
65 *
66 * @ORM\Column(name="rss_limit", type="integer", nullable=true)
371ac69a
J
67 * @Assert\Range(
68 * min = 1,
69 * max = 100000,
70 * maxMessage = "This will certainly kill the app"
71 * )
0c83fd59
J
72 */
73 private $rssLimit;
74
4d85d7e9 75 /**
1210dae1 76 * @ORM\OneToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="config")
4d85d7e9
J
77 */
78 private $user;
79
ac9fec61
KG
80 /**
81 * @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\TaggingRule", mappedBy="config", cascade={"remove"})
752b90d1 82 * @ORM\OrderBy({"id" = "ASC"})
ac9fec61
KG
83 */
84 private $taggingRules;
85
4d85d7e9
J
86 /*
87 * @param User $user
88 */
0a878469 89 public function __construct(\Wallabag\UserBundle\Entity\User $user)
4d85d7e9
J
90 {
91 $this->user = $user;
ac9fec61 92 $this->taggingRules = new ArrayCollection();
4d85d7e9 93 }
9d50517c 94
9d50517c 95 /**
4346a860 96 * Get id.
9d50517c 97 *
4346a860 98 * @return int
9d50517c
NL
99 */
100 public function getId()
101 {
102 return $this->id;
103 }
104
105 /**
4346a860
JB
106 * Set theme.
107 *
108 * @param string $theme
9d50517c 109 *
9d50517c
NL
110 * @return Config
111 */
4d85d7e9 112 public function setTheme($theme)
9d50517c 113 {
4d85d7e9 114 $this->theme = $theme;
9d50517c
NL
115
116 return $this;
117 }
118
119 /**
4346a860 120 * Get theme.
9d50517c 121 *
7df80cb3 122 * @return string
9d50517c 123 */
4d85d7e9 124 public function getTheme()
9d50517c 125 {
4d85d7e9 126 return $this->theme;
9d50517c
NL
127 }
128
129 /**
4346a860
JB
130 * Set itemsPerPage.
131 *
132 * @param int $itemsPerPage
9d50517c 133 *
9d50517c
NL
134 * @return Config
135 */
4d85d7e9 136 public function setItemsPerPage($itemsPerPage)
9d50517c 137 {
0c83fd59 138 $this->itemsPerPage = $itemsPerPage;
9d50517c
NL
139
140 return $this;
141 }
142
143 /**
4346a860 144 * Get itemsPerPage.
4d85d7e9 145 *
4346a860 146 * @return int
4d85d7e9
J
147 */
148 public function getItemsPerPage()
149 {
0c83fd59 150 return $this->itemsPerPage;
4d85d7e9
J
151 }
152
153 /**
4346a860
JB
154 * Set language.
155 *
156 * @param string $language
4d85d7e9 157 *
4d85d7e9
J
158 * @return Config
159 */
160 public function setLanguage($language)
161 {
162 $this->language = $language;
163
164 return $this;
165 }
166
167 /**
4346a860 168 * Get language.
9d50517c 169 *
7df80cb3 170 * @return string
9d50517c 171 */
4d85d7e9
J
172 public function getLanguage()
173 {
174 return $this->language;
175 }
176
177 /**
4346a860
JB
178 * Set user.
179 *
1210dae1 180 * @param User $user
4d85d7e9 181 *
4d85d7e9
J
182 * @return Config
183 */
1ce8f303 184 public function setUser(\Wallabag\UserBundle\Entity\User $user = null)
4d85d7e9
J
185 {
186 $this->user = $user;
187
188 return $this;
189 }
190
191 /**
4346a860 192 * Get user.
4d85d7e9 193 *
1210dae1 194 * @return User
4d85d7e9
J
195 */
196 public function getUser()
9d50517c 197 {
4d85d7e9 198 return $this->user;
9d50517c 199 }
0c83fd59
J
200
201 /**
4346a860
JB
202 * Set rssToken.
203 *
204 * @param string $rssToken
0c83fd59 205 *
0c83fd59
J
206 * @return Config
207 */
208 public function setRssToken($rssToken)
209 {
210 $this->rssToken = $rssToken;
211
212 return $this;
213 }
214
215 /**
4346a860 216 * Get rssToken.
0c83fd59
J
217 *
218 * @return string
219 */
220 public function getRssToken()
221 {
222 return $this->rssToken;
223 }
224
225 /**
4346a860
JB
226 * Set rssLimit.
227 *
228 * @param string $rssLimit
0c83fd59 229 *
0c83fd59
J
230 * @return Config
231 */
232 public function setRssLimit($rssLimit)
233 {
234 $this->rssLimit = $rssLimit;
235
236 return $this;
237 }
238
239 /**
4346a860 240 * Get rssLimit.
0c83fd59
J
241 *
242 * @return string
243 */
244 public function getRssLimit()
245 {
246 return $this->rssLimit;
247 }
ac9fec61
KG
248
249 /**
250 * @param TaggingRule $rule
251 *
252 * @return Config
253 */
254 public function addTaggingRule(TaggingRule $rule)
255 {
256 $this->taggingRules[] = $rule;
257
258 return $this;
259 }
260
261 /**
262 * @return ArrayCollection<TaggingRule>
263 */
264 public function getTaggingRules()
265 {
266 return $this->taggingRules;
267 }
9d50517c 268}