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.
*
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository")
- * @ORM\Table
+ * @ORM\Table(name="`config`")
* @ORM\Entity
*/
class Config
{
+ const REDIRECT_TO_HOMEPAGE = 0;
+ const REDIRECT_TO_CURRENT_PAGE = 1;
+
/**
* @var int
*
* @Assert\Range(
* min = 1,
* max = 100000,
- * maxMessage = "This will certainly kill the app"
+ * maxMessage = "validator.item_per_page_too_high"
* )
* @ORM\Column(name="items_per_page", type="integer", nullable=false)
*/
* @Assert\Range(
* min = 1,
* max = 100000,
- * maxMessage = "This will certainly kill the app"
+ * maxMessage = "validator.rss_limit_too_high"
* )
*/
private $rssLimit;
/**
- * @ORM\OneToOne(targetEntity="User", inversedBy="config")
+ * @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;
+
+ /**
+ * @var int
+ *
+ * @ORM\Column(name="action_mark_as_read", type="integer", nullable=true, options={"default" = 0})
+ */
+ private $actionMarkAsRead;
+
+ /**
+ * @var int
+ *
+ * @ORM\Column(name="list_mode", type="integer", nullable=true)
+ */
+ private $listMode;
+
+ /**
+ * @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->taggingRules = new ArrayCollection();
}
/**
/**
* Set user.
*
- * @param \Wallabag\CoreBundle\Entity\User $user
+ * @param User $user
*
* @return Config
*/
- public function setUser(\Wallabag\CoreBundle\Entity\User $user = null)
+ public function setUser(User $user = null)
{
$this->user = $user;
/**
* Get user.
*
- * @return \Wallabag\CoreBundle\Entity\User
+ * @return User
*/
public function getUser()
{
/**
* Set rssLimit.
*
- * @param string $rssLimit
+ * @param int $rssLimit
*
* @return Config
*/
/**
* Get rssLimit.
*
- * @return string
+ * @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;
+ }
+
+ /**
+ * @return int
+ */
+ public function getActionMarkAsRead()
+ {
+ return $this->actionMarkAsRead;
+ }
+
+ /**
+ * @param int $actionMarkAsRead
+ *
+ * @return Config
+ */
+ public function setActionMarkAsRead($actionMarkAsRead)
+ {
+ $this->actionMarkAsRead = $actionMarkAsRead;
+
+ return $this;
+ }
+
+ /**
+ * @return int
+ */
+ public function getListMode()
+ {
+ return $this->listMode;
+ }
+
+ /**
+ * @param int $listMode
+ *
+ * @return Config
+ */
+ public function setListMode($listMode)
+ {
+ $this->listMode = $listMode;
+
+ return $this;
+ }
+
+ /**
+ * @param TaggingRule $rule
+ *
+ * @return Config
+ */
+ public function addTaggingRule(TaggingRule $rule)
+ {
+ $this->taggingRules[] = $rule;
+
+ return $this;
+ }
+
+ /**
+ * @return ArrayCollection<TaggingRule>
+ */
+ public function getTaggingRules()
+ {
+ return $this->taggingRules;
+ }
}