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