]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Entity/Config.php
Merge pull request #1478 from K-Phoen/rule-based-tags
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Entity / Config.php
index 62ea637eaaa4e64debd5b99262afb92b7bee477b..2ca4182e6700da790f8f6f02e1fa44701bbee1ed 100644 (file)
@@ -2,20 +2,21 @@
 
 namespace Wallabag\CoreBundle\Entity;
 
+use Doctrine\Common\Collections\ArrayCollection;
 use Doctrine\ORM\Mapping as ORM;
 use Symfony\Component\Validator\Constraints as Assert;
 
 /**
- * Config
+ * Config.
  *
  * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository")
- * @ORM\Table
+ * @ORM\Table(name="`config`")
  * @ORM\Entity
  */
 class Config
 {
     /**
-     * @var integer
+     * @var int
      *
      * @ORM\Column(name="id", type="integer")
      * @ORM\Id
@@ -32,7 +33,7 @@ class Config
     private $theme;
 
     /**
-     * @var integer
+     * @var int
      *
      * @Assert\NotBlank()
      * @Assert\Range(
@@ -60,7 +61,7 @@ class Config
     private $rssToken;
 
     /**
-     * @var integer
+     * @var int
      *
      * @ORM\Column(name="rss_limit", type="integer", nullable=true)
      * @Assert\Range(
@@ -72,22 +73,29 @@ class Config
     private $rssLimit;
 
     /**
-     * @ORM\OneToOne(targetEntity="User", inversedBy="config")
+     * @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)
+    public function __construct(\Wallabag\UserBundle\Entity\User $user)
     {
         $this->user = $user;
+        $this->taggingRules = new ArrayCollection();
     }
 
     /**
-     * Get id
+     * Get id.
      *
-     * @return integer
+     * @return int
      */
     public function getId()
     {
@@ -95,9 +103,10 @@ class Config
     }
 
     /**
-     * Set theme
+     * Set theme.
+     *
+     * @param string $theme
      *
-     * @param  string $theme
      * @return Config
      */
     public function setTheme($theme)
@@ -108,7 +117,7 @@ class Config
     }
 
     /**
-     * Get theme
+     * Get theme.
      *
      * @return string
      */
@@ -118,9 +127,10 @@ class Config
     }
 
     /**
-     * Set itemsPerPage
+     * Set itemsPerPage.
+     *
+     * @param int $itemsPerPage
      *
-     * @param  integer $itemsPerPage
      * @return Config
      */
     public function setItemsPerPage($itemsPerPage)
@@ -131,9 +141,9 @@ class Config
     }
 
     /**
-     * Get itemsPerPage
+     * Get itemsPerPage.
      *
-     * @return integer
+     * @return int
      */
     public function getItemsPerPage()
     {
@@ -141,9 +151,10 @@ class Config
     }
 
     /**
-     * Set language
+     * Set language.
+     *
+     * @param string $language
      *
-     * @param  string $language
      * @return Config
      */
     public function setLanguage($language)
@@ -154,7 +165,7 @@ class Config
     }
 
     /**
-     * Get language
+     * Get language.
      *
      * @return string
      */
@@ -164,12 +175,13 @@ class Config
     }
 
     /**
-     * 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(\Wallabag\UserBundle\Entity\User $user = null)
     {
         $this->user = $user;
 
@@ -177,9 +189,9 @@ class Config
     }
 
     /**
-     * Get user
+     * Get user.
      *
-     * @return \Wallabag\CoreBundle\Entity\User
+     * @return User
      */
     public function getUser()
     {
@@ -187,9 +199,10 @@ class Config
     }
 
     /**
-     * Set rssToken
+     * Set rssToken.
+     *
+     * @param string $rssToken
      *
-     * @param  string $rssToken
      * @return Config
      */
     public function setRssToken($rssToken)
@@ -200,7 +213,7 @@ class Config
     }
 
     /**
-     * Get rssToken
+     * Get rssToken.
      *
      * @return string
      */
@@ -210,9 +223,10 @@ class Config
     }
 
     /**
-     * Set rssLimit
+     * Set rssLimit.
+     *
+     * @param string $rssLimit
      *
-     * @param  string $rssLimit
      * @return Config
      */
     public function setRssLimit($rssLimit)
@@ -223,7 +237,7 @@ class Config
     }
 
     /**
-     * Get rssLimit
+     * Get rssLimit.
      *
      * @return string
      */
@@ -231,4 +245,24 @@ class Config
     {
         return $this->rssLimit;
     }
+
+    /**
+     * @param TaggingRule $rule
+     *
+     * @return Config
+     */
+    public function addTaggingRule(TaggingRule $rule)
+    {
+        $this->taggingRules[] = $rule;
+
+        return $this;
+    }
+
+    /**
+     * @return ArrayCollection<TaggingRule>
+     */
+    public function getTaggingRules()
+    {
+        return $this->taggingRules;
+    }
 }