*/
private $publishedBy;
+ /**
+ * @var \DateTime
+ *
+ * @ORM\Column(name="starred_at", type="datetime", nullable=true)
+ *
+ * @Groups({"entries_for_user", "export_all"})
+ */
+ private $starredAt = null;
+
/**
* @ORM\OneToMany(targetEntity="Wallabag\AnnotationBundle\Entity\Annotation", mappedBy="entry", cascade={"persist", "remove"})
* @ORM\JoinTable
/**
* @var int
*
- * @ORM\Column(name="reading_time", type="integer", nullable=true)
+ * @ORM\Column(name="reading_time", type="integer", nullable=false)
*
* @Groups({"entries_for_user", "export_all"})
*/
- private $readingTime;
+ private $readingTime = 0;
/**
* @var string
return $this->updatedAt;
}
+ /**
+ * @return \DateTime|null
+ */
+ public function getStarredAt()
+ {
+ return $this->starredAt;
+ }
+
+ /**
+ * @param \DateTime|null $starredAt
+ *
+ * @return Entry
+ */
+ public function setStarredAt($starredAt = null)
+ {
+ $this->starredAt = $starredAt;
+
+ return $this;
+ }
+
+ /**
+ * update isStarred and starred_at fields.
+ *
+ * @param bool $isStarred
+ *
+ * @return Entry
+ */
+ public function updateStar($isStarred = false)
+ {
+ $this->setStarred($isStarred);
+ $this->setStarredAt(null);
+ if ($this->isStarred()) {
+ $this->setStarredAt(new \DateTime());
+ }
+
+ return $this;
+ }
+
/**
* @return ArrayCollection<Annotation>
*/