]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Entity/Change.php
Save changes
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Entity / Change.php
diff --git a/src/Wallabag/CoreBundle/Entity/Change.php b/src/Wallabag/CoreBundle/Entity/Change.php
new file mode 100644 (file)
index 0000000..203a2d3
--- /dev/null
@@ -0,0 +1,86 @@
+<?php
+
+namespace Wallabag\CoreBundle\Entity;
+
+use Doctrine\ORM\Mapping as ORM;
+
+/**
+ * Change.
+ *
+ * This entity stores a datetime for each event (updated or tagged) done on an entry.
+ *
+ * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ChangeRepository")
+ * @ORM\Table(name="`change`")
+ */
+class Change
+{
+    const MODIFIED_TYPE = 1;
+    const CHANGED_TAG_TYPE = 2;
+
+    /**
+     * @var int
+     *
+     * @ORM\Column(type="integer")
+     * @ORM\Id
+     * @ORM\GeneratedValue(strategy="AUTO")
+     */
+    private $id;
+
+    /**
+     * @var int
+     *
+     * @ORM\Column(type="integer")
+     */
+    private $type;
+
+    /**
+     * @ORM\ManyToOne(targetEntity="Wallabag\CoreBundle\Entity\Entry", inversedBy="changes")
+     */
+    private $entry;
+
+    /**
+     * @var \DateTime
+     *
+     * @ORM\Column(name="created_at", type="datetime")
+     */
+    private $createdAt;
+
+    public function __construct($type, Entry $entry)
+    {
+        $this->type = $type;
+        $this->entry = $entry;
+        $this->createdAt = new \DateTime();
+    }
+
+    /**
+     * @return int
+     */
+    public function getId()
+    {
+        return $this->id;
+    }
+
+    /**
+     * @return int
+     */
+    public function getType()
+    {
+        return $this->type;
+    }
+
+    /**
+     * @return DateTime
+     */
+    public function getCreatedAt()
+    {
+        return $this->createdAt;
+    }
+
+    /**
+     * @return Entry
+     */
+    public function getEntry()
+    {
+        return $this->entry;
+    }
+}