]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Entity/Config.php
Clean the tagging rule creation form
[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"})
82 */
83 private $taggingRules;
84
4d85d7e9
J
85 /*
86 * @param User $user
87 */
0a878469 88 public function __construct(\Wallabag\UserBundle\Entity\User $user)
4d85d7e9
J
89 {
90 $this->user = $user;
ac9fec61 91 $this->taggingRules = new ArrayCollection();
4d85d7e9 92 }
9d50517c 93
9d50517c 94 /**
4346a860 95 * Get id.
9d50517c 96 *
4346a860 97 * @return int
9d50517c
NL
98 */
99 public function getId()
100 {
101 return $this->id;
102 }
103
104 /**
4346a860
JB
105 * Set theme.
106 *
107 * @param string $theme
9d50517c 108 *
9d50517c
NL
109 * @return Config
110 */
4d85d7e9 111 public function setTheme($theme)
9d50517c 112 {
4d85d7e9 113 $this->theme = $theme;
9d50517c
NL
114
115 return $this;
116 }
117
118 /**
4346a860 119 * Get theme.
9d50517c 120 *
7df80cb3 121 * @return string
9d50517c 122 */
4d85d7e9 123 public function getTheme()
9d50517c 124 {
4d85d7e9 125 return $this->theme;
9d50517c
NL
126 }
127
128 /**
4346a860
JB
129 * Set itemsPerPage.
130 *
131 * @param int $itemsPerPage
9d50517c 132 *
9d50517c
NL
133 * @return Config
134 */
4d85d7e9 135 public function setItemsPerPage($itemsPerPage)
9d50517c 136 {
0c83fd59 137 $this->itemsPerPage = $itemsPerPage;
9d50517c
NL
138
139 return $this;
140 }
141
142 /**
4346a860 143 * Get itemsPerPage.
4d85d7e9 144 *
4346a860 145 * @return int
4d85d7e9
J
146 */
147 public function getItemsPerPage()
148 {
0c83fd59 149 return $this->itemsPerPage;
4d85d7e9
J
150 }
151
152 /**
4346a860
JB
153 * Set language.
154 *
155 * @param string $language
4d85d7e9 156 *
4d85d7e9
J
157 * @return Config
158 */
159 public function setLanguage($language)
160 {
161 $this->language = $language;
162
163 return $this;
164 }
165
166 /**
4346a860 167 * Get language.
9d50517c 168 *
7df80cb3 169 * @return string
9d50517c 170 */
4d85d7e9
J
171 public function getLanguage()
172 {
173 return $this->language;
174 }
175
176 /**
4346a860
JB
177 * Set user.
178 *
1210dae1 179 * @param User $user
4d85d7e9 180 *
4d85d7e9
J
181 * @return Config
182 */
1ce8f303 183 public function setUser(\Wallabag\UserBundle\Entity\User $user = null)
4d85d7e9
J
184 {
185 $this->user = $user;
186
187 return $this;
188 }
189
190 /**
4346a860 191 * Get user.
4d85d7e9 192 *
1210dae1 193 * @return User
4d85d7e9
J
194 */
195 public function getUser()
9d50517c 196 {
4d85d7e9 197 return $this->user;
9d50517c 198 }
0c83fd59
J
199
200 /**
4346a860
JB
201 * Set rssToken.
202 *
203 * @param string $rssToken
0c83fd59 204 *
0c83fd59
J
205 * @return Config
206 */
207 public function setRssToken($rssToken)
208 {
209 $this->rssToken = $rssToken;
210
211 return $this;
212 }
213
214 /**
4346a860 215 * Get rssToken.
0c83fd59
J
216 *
217 * @return string
218 */
219 public function getRssToken()
220 {
221 return $this->rssToken;
222 }
223
224 /**
4346a860
JB
225 * Set rssLimit.
226 *
227 * @param string $rssLimit
0c83fd59 228 *
0c83fd59
J
229 * @return Config
230 */
231 public function setRssLimit($rssLimit)
232 {
233 $this->rssLimit = $rssLimit;
234
235 return $this;
236 }
237
238 /**
4346a860 239 * Get rssLimit.
0c83fd59
J
240 *
241 * @return string
242 */
243 public function getRssLimit()
244 {
245 return $this->rssLimit;
246 }
ac9fec61
KG
247
248 /**
249 * @param TaggingRule $rule
250 *
251 * @return Config
252 */
253 public function addTaggingRule(TaggingRule $rule)
254 {
255 $this->taggingRules[] = $rule;
256
257 return $this;
258 }
259
260 /**
261 * @return ArrayCollection<TaggingRule>
262 */
263 public function getTaggingRules()
264 {
265 return $this->taggingRules;
266 }
9d50517c 267}