]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Entity/TaggingRule.php
Add IgnoreOriginRule-related entities, db migration, update config
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Entity / TaggingRule.php
index 4eab590fd98846632c8e0bdd893d8c0d5d62d07e..7bed7a69139d5e82a5d6986349814cfeddcc1d09 100644 (file)
@@ -3,17 +3,21 @@
 namespace Wallabag\CoreBundle\Entity;
 
 use Doctrine\ORM\Mapping as ORM;
+use JMS\Serializer\Annotation\Exclude;
+use JMS\Serializer\Annotation\Groups;
+use JMS\Serializer\Annotation\XmlRoot;
+use Symfony\Bridge\RulerZ\Validator\Constraints as RulerZAssert;
 use Symfony\Component\Validator\Constraints as Assert;
-use KPhoen\RulerZBundle\Validator\Constraints as RulerZAssert;
 
 /**
  * Tagging rule.
  *
+ * @XmlRoot("tagging_rule")
  * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\TaggingRuleRepository")
- * @ORM\Table
+ * @ORM\Table(name="`tagging_rule`")
  * @ORM\Entity
  */
-class TaggingRule
+class TaggingRule implements RuleInterface
 {
     /**
      * @var int
@@ -28,11 +32,14 @@ class TaggingRule
      * @var string
      *
      * @Assert\NotBlank()
+     * @Assert\Length(max=255)
      * @RulerZAssert\ValidRule(
      *  allowed_variables={"title", "url", "isArchived", "isStared", "content", "language", "mimetype", "readingTime", "domainName"},
-     *  allowed_operators={">", "<", ">=", "<=", "=", "is", "!=", "and", "not", "or", "matches"}
+     *  allowed_operators={">", "<", ">=", "<=", "=", "is", "!=", "and", "not", "or", "matches", "notmatches"}
      * )
      * @ORM\Column(name="rule", type="string", nullable=false)
+     *
+     * @Groups({"export_tagging_rule"})
      */
     private $rule;
 
@@ -41,10 +48,14 @@ class TaggingRule
      *
      * @Assert\NotBlank()
      * @ORM\Column(name="tags", type="simple_array", nullable=false)
+     *
+     * @Groups({"export_tagging_rule"})
      */
     private $tags = [];
 
     /**
+     * @Exclude
+     *
      * @ORM\ManyToOne(targetEntity="Wallabag\CoreBundle\Entity\Config", inversedBy="taggingRules")
      */
     private $config;
@@ -86,7 +97,7 @@ class TaggingRule
     /**
      * Set tags.
      *
-     * @param array<string> $tags
+     * @param array <string> $tags
      *
      * @return TaggingRule
      */
@@ -110,8 +121,6 @@ class TaggingRule
     /**
      * Set config.
      *
-     * @param Config $config
-     *
      * @return TaggingRule
      */
     public function setConfig(Config $config)