mirror of
https://github.com/wallabag/wallabag.git
synced 2024-10-31 22:28:54 +00:00
Add EntityTimestampsTrait to handle dates
Refactorize timestamps() method to avoid re-writing it on each entity
This commit is contained in:
parent
b5d7eb148c
commit
927c9e796f
5 changed files with 36 additions and 48 deletions
|
@ -10,6 +10,7 @@ use JMS\Serializer\Annotation\SerializedName;
|
|||
use JMS\Serializer\Annotation\VirtualProperty;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
use Wallabag\CoreBundle\Entity\Entry;
|
||||
use Wallabag\CoreBundle\Helper\EntityTimestampsTrait;
|
||||
use Wallabag\UserBundle\Entity\User;
|
||||
|
||||
/**
|
||||
|
@ -22,6 +23,8 @@ use Wallabag\UserBundle\Entity\User;
|
|||
*/
|
||||
class Annotation
|
||||
{
|
||||
use EntityTimestampsTrait;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*
|
||||
|
@ -133,18 +136,6 @@ class Annotation
|
|||
return $this->text;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PrePersist
|
||||
* @ORM\PreUpdate
|
||||
*/
|
||||
public function timestamps()
|
||||
{
|
||||
if (null === $this->createdAt) {
|
||||
$this->createdAt = new \DateTime();
|
||||
}
|
||||
$this->updatedAt = new \DateTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get created.
|
||||
*
|
||||
|
|
|
@ -12,6 +12,7 @@ use JMS\Serializer\Annotation\VirtualProperty;
|
|||
use JMS\Serializer\Annotation\XmlRoot;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
use Wallabag\AnnotationBundle\Entity\Annotation;
|
||||
use Wallabag\CoreBundle\Helper\EntityTimestampsTrait;
|
||||
use Wallabag\UserBundle\Entity\User;
|
||||
|
||||
/**
|
||||
|
@ -32,6 +33,8 @@ use Wallabag\UserBundle\Entity\User;
|
|||
*/
|
||||
class Entry
|
||||
{
|
||||
use EntityTimestampsTrait;
|
||||
|
||||
/** @Serializer\XmlAttribute */
|
||||
/**
|
||||
* @var int
|
||||
|
@ -472,19 +475,6 @@ class Entry
|
|||
return $this->updatedAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PrePersist
|
||||
* @ORM\PreUpdate
|
||||
*/
|
||||
public function timestamps()
|
||||
{
|
||||
if (null === $this->createdAt) {
|
||||
$this->createdAt = new \DateTime();
|
||||
}
|
||||
|
||||
$this->updatedAt = new \DateTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ArrayCollection<Annotation>
|
||||
*/
|
||||
|
|
|
@ -4,6 +4,7 @@ namespace Wallabag\CoreBundle\Entity;
|
|||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
use Wallabag\CoreBundle\Helper\EntityTimestampsTrait;
|
||||
use Wallabag\UserBundle\Entity\User;
|
||||
|
||||
/**
|
||||
|
@ -15,6 +16,8 @@ use Wallabag\UserBundle\Entity\User;
|
|||
*/
|
||||
class SiteCredential
|
||||
{
|
||||
use EntityTimestampsTrait;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*
|
||||
|
@ -182,14 +185,4 @@ class SiteCredential
|
|||
{
|
||||
return $this->user;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PrePersist
|
||||
*/
|
||||
public function timestamps()
|
||||
{
|
||||
if (null === $this->createdAt) {
|
||||
$this->createdAt = new \DateTime();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
24
src/Wallabag/CoreBundle/Helper/EntityTimestampsTrait.php
Normal file
24
src/Wallabag/CoreBundle/Helper/EntityTimestampsTrait.php
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
namespace Wallabag\CoreBundle\Helper;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
|
||||
/**
|
||||
* Trait to handle created & updated date of an Entity.
|
||||
*/
|
||||
trait EntityTimestampsTrait
|
||||
{
|
||||
/**
|
||||
* @ORM\PrePersist
|
||||
* @ORM\PreUpdate
|
||||
*/
|
||||
public function timestamps()
|
||||
{
|
||||
if (null === $this->createdAt) {
|
||||
$this->createdAt = new \DateTime();
|
||||
}
|
||||
|
||||
$this->updatedAt = new \DateTime();
|
||||
}
|
||||
}
|
|
@ -15,6 +15,7 @@ use Symfony\Component\Security\Core\User\UserInterface;
|
|||
use Wallabag\ApiBundle\Entity\Client;
|
||||
use Wallabag\CoreBundle\Entity\Config;
|
||||
use Wallabag\CoreBundle\Entity\Entry;
|
||||
use Wallabag\CoreBundle\Helper\EntityTimestampsTrait;
|
||||
|
||||
/**
|
||||
* User.
|
||||
|
@ -29,6 +30,8 @@ use Wallabag\CoreBundle\Entity\Entry;
|
|||
*/
|
||||
class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterface
|
||||
{
|
||||
use EntityTimestampsTrait;
|
||||
|
||||
/** @Serializer\XmlAttribute */
|
||||
/**
|
||||
* @var int
|
||||
|
@ -138,19 +141,6 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
|
|||
$this->roles = ['ROLE_USER'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @ORM\PrePersist
|
||||
* @ORM\PreUpdate
|
||||
*/
|
||||
public function timestamps()
|
||||
{
|
||||
if (null === $this->createdAt) {
|
||||
$this->createdAt = new \DateTime();
|
||||
}
|
||||
|
||||
$this->updatedAt = new \DateTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set name.
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue