]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Entity/Config.php
Add IgnoreOriginRule-related entities, db migration, update config
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Entity / Config.php
index e04f0a7b52714541d1b97e16d61086410480d75b..1bed451380eafb16a9a645efe59a9161bb1f1edb 100644 (file)
@@ -11,8 +11,12 @@ use Wallabag\UserBundle\Entity\User;
  * Config.
  *
  * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository")
- * @ORM\Table(name="`config`")
- * @ORM\Entity
+ * @ORM\Table(
+ *     name="`config`",
+ *     indexes={
+ *         @ORM\Index(name="config_feed_token", columns={"feed_token"}, options={"lengths"={255}}),
+ *     }
+ * )
  */
 class Config
 {
@@ -60,21 +64,21 @@ class Config
     /**
      * @var string
      *
-     * @ORM\Column(name="rss_token", type="string", nullable=true)
+     * @ORM\Column(name="feed_token", type="string", nullable=true)
      */
-    private $rssToken;
+    private $feedToken;
 
     /**
      * @var int
      *
-     * @ORM\Column(name="rss_limit", type="integer", nullable=true)
+     * @ORM\Column(name="feed_limit", type="integer", nullable=true)
      * @Assert\Range(
      *      min = 1,
      *      max = 100000,
-     *      maxMessage = "validator.rss_limit_too_high"
+     *      maxMessage = "validator.feed_limit_too_high"
      * )
      */
-    private $rssLimit;
+    private $feedLimit;
 
     /**
      * @var float
@@ -93,10 +97,17 @@ class Config
     /**
      * @var int
      *
-     * @ORM\Column(name="action_mark_as_read", type="integer", nullable=true)
+     * @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")
      */
@@ -108,6 +119,12 @@ class Config
      */
     private $taggingRules;
 
+    /**
+     * @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\IgnoreOriginUserRule", mappedBy="config", cascade={"remove"})
+     * @ORM\OrderBy({"id" = "ASC"})
+     */
+    private $ignoreOriginRules;
+
     /*
      * @param User     $user
      */
@@ -115,6 +132,7 @@ class Config
     {
         $this->user = $user;
         $this->taggingRules = new ArrayCollection();
+        $this->ignoreOriginRules = new ArrayCollection();
     }
 
     /**
@@ -224,51 +242,51 @@ class Config
     }
 
     /**
-     * Set rssToken.
+     * Set feed Token.
      *
-     * @param string $rssToken
+     * @param string $feedToken
      *
      * @return Config
      */
-    public function setRssToken($rssToken)
+    public function setFeedToken($feedToken)
     {
-        $this->rssToken = $rssToken;
+        $this->feedToken = $feedToken;
 
         return $this;
     }
 
     /**
-     * Get rssToken.
+     * Get feedToken.
      *
      * @return string
      */
-    public function getRssToken()
+    public function getFeedToken()
     {
-        return $this->rssToken;
+        return $this->feedToken;
     }
 
     /**
-     * Set rssLimit.
+     * Set Feed Limit.
      *
-     * @param int $rssLimit
+     * @param int $feedLimit
      *
      * @return Config
      */
-    public function setRssLimit($rssLimit)
+    public function setFeedLimit($feedLimit)
     {
-        $this->rssLimit = $rssLimit;
+        $this->feedLimit = $feedLimit;
 
         return $this;
     }
 
     /**
-     * Get rssLimit.
+     * Get Feed Limit.
      *
      * @return int
      */
-    public function getRssLimit()
+    public function getFeedLimit()
     {
-        return $this->rssLimit;
+        return $this->feedLimit;
     }
 
     /**
@@ -340,10 +358,28 @@ class Config
     }
 
     /**
-     * @param TaggingRule $rule
+     * @return int
+     */
+    public function getListMode()
+    {
+        return $this->listMode;
+    }
+
+    /**
+     * @param int $listMode
      *
      * @return Config
      */
+    public function setListMode($listMode)
+    {
+        $this->listMode = $listMode;
+
+        return $this;
+    }
+
+    /**
+     * @return Config
+     */
     public function addTaggingRule(TaggingRule $rule)
     {
         $this->taggingRules[] = $rule;
@@ -358,4 +394,22 @@ class Config
     {
         return $this->taggingRules;
     }
+
+    /**
+     * @return Config
+     */
+    public function addIgnoreOriginRule(IgnoreOriginUserRule $rule)
+    {
+        $this->ignoreOriginRules[] = $rule;
+
+        return $this;
+    }
+
+    /**
+     * @return ArrayCollection<IgnoreOriginUserRule>
+     */
+    public function getIgnoreOriginRules()
+    {
+        return $this->ignoreOriginRules;
+    }
 }