namespace Wallabag\CoreBundle\Entity;
+use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
+use Wallabag\UserBundle\Entity\User;
/**
- * Config
+ * Config.
*
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository")
- * @ORM\Table(name="config")
+ * @ORM\Table(name="`config`")
* @ORM\Entity
*/
class Config
{
/**
- * @var integer
+ * @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
private $theme;
/**
- * @var string
+ * @var int
*
* @Assert\NotBlank()
+ * @Assert\Range(
+ * min = 1,
+ * max = 100000,
+ * maxMessage = "validator.item_per_page_too_high"
+ * )
* @ORM\Column(name="items_per_page", type="integer", nullable=false)
*/
- private $items_per_page;
+ private $itemsPerPage;
/**
* @var string
private $language;
/**
- * @ORM\OneToOne(targetEntity="User", inversedBy="config")
+ * @var string
+ *
+ * @ORM\Column(name="rss_token", type="string", nullable=true)
+ */
+ private $rssToken;
+
+ /**
+ * @var int
+ *
+ * @ORM\Column(name="rss_limit", type="integer", nullable=true)
+ * @Assert\Range(
+ * min = 1,
+ * max = 100000,
+ * maxMessage = "validator.rss_limit_too_high"
+ * )
+ */
+ private $rssLimit;
+
+ /**
+ * @var float
+ *
+ * @ORM\Column(name="reading_speed", type="float", nullable=true)
+ */
+ private $readingSpeed;
+
+ /**
+ * @var string
+ *
+ * @ORM\Column(name="pocket_consumer_key", type="string", nullable=true)
+ */
+ private $pocketConsumerKey;
+
+ /**
+ * @ORM\OneToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="config")
*/
private $user;
+ /**
+ * @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\TaggingRule", mappedBy="config", cascade={"remove"})
+ * @ORM\OrderBy({"id" = "ASC"})
+ */
+ private $taggingRules;
+
/*
* @param User $user
*/
public function __construct(User $user)
{
$this->user = $user;
- $this->items_per_page = 12;
- $this->language = 'en_US';
+ $this->taggingRules = new ArrayCollection();
}
/**
- * Get id
+ * Get id.
*
- * @return integer
+ * @return int
*/
public function getId()
{
}
/**
- * Set theme
+ * Set theme.
+ *
+ * @param string $theme
*
- * @param string $theme
* @return Config
*/
public function setTheme($theme)
}
/**
- * Get theme
+ * Get theme.
*
* @return string
*/
}
/**
- * Set items_per_page
+ * Set itemsPerPage.
+ *
+ * @param int $itemsPerPage
*
- * @param integer $itemsPerPage
* @return Config
*/
public function setItemsPerPage($itemsPerPage)
{
- $this->items_per_page = $itemsPerPage;
+ $this->itemsPerPage = $itemsPerPage;
return $this;
}
/**
- * Get items_per_page
+ * Get itemsPerPage.
*
- * @return integer
+ * @return int
*/
public function getItemsPerPage()
{
- return $this->items_per_page;
+ return $this->itemsPerPage;
}
/**
- * Set language
+ * Set language.
+ *
+ * @param string $language
*
- * @param string $language
* @return Config
*/
public function setLanguage($language)
}
/**
- * Get language
+ * Get language.
*
* @return string
*/
}
/**
- * Set user
+ * Set user.
+ *
+ * @param User $user
*
- * @param \Wallabag\CoreBundle\Entity\User $user
* @return Config
*/
- public function setUser(\Wallabag\CoreBundle\Entity\User $user = null)
+ public function setUser(User $user = null)
{
$this->user = $user;
}
/**
- * Get user
+ * Get user.
*
- * @return \Wallabag\CoreBundle\Entity\User
+ * @return User
*/
public function getUser()
{
return $this->user;
}
+
+ /**
+ * Set rssToken.
+ *
+ * @param string $rssToken
+ *
+ * @return Config
+ */
+ public function setRssToken($rssToken)
+ {
+ $this->rssToken = $rssToken;
+
+ return $this;
+ }
+
+ /**
+ * Get rssToken.
+ *
+ * @return string
+ */
+ public function getRssToken()
+ {
+ return $this->rssToken;
+ }
+
+ /**
+ * Set rssLimit.
+ *
+ * @param int $rssLimit
+ *
+ * @return Config
+ */
+ public function setRssLimit($rssLimit)
+ {
+ $this->rssLimit = $rssLimit;
+
+ return $this;
+ }
+
+ /**
+ * Get rssLimit.
+ *
+ * @return int
+ */
+ public function getRssLimit()
+ {
+ return $this->rssLimit;
+ }
+
+ /**
+ * Set readingSpeed.
+ *
+ * @param float $readingSpeed
+ *
+ * @return Config
+ */
+ public function setReadingSpeed($readingSpeed)
+ {
+ $this->readingSpeed = $readingSpeed;
+
+ return $this;
+ }
+
+ /**
+ * Get readingSpeed.
+ *
+ * @return float
+ */
+ public function getReadingSpeed()
+ {
+ return $this->readingSpeed;
+ }
+
+ /**
+ * Set pocketConsumerKey.
+ *
+ * @param string $pocketConsumerKey
+ *
+ * @return Config
+ */
+ public function setPocketConsumerKey($pocketConsumerKey)
+ {
+ $this->pocketConsumerKey = $pocketConsumerKey;
+
+ return $this;
+ }
+
+ /**
+ * Get pocketConsumerKey.
+ *
+ * @return string
+ */
+ public function getPocketConsumerKey()
+ {
+ return $this->pocketConsumerKey;
+ }
+
+ /**
+ * @param TaggingRule $rule
+ *
+ * @return Config
+ */
+ public function addTaggingRule(TaggingRule $rule)
+ {
+ $this->taggingRules[] = $rule;
+
+ return $this;
+ }
+
+ /**
+ * @return ArrayCollection<TaggingRule>
+ */
+ public function getTaggingRules()
+ {
+ return $this->taggingRules;
+ }
}