diff options
author | Jeremy Benoist <jeremy.benoist@gmail.com> | 2017-07-06 09:00:37 +0200 |
---|---|---|
committer | Jeremy Benoist <jeremy.benoist@gmail.com> | 2017-07-06 09:01:51 +0200 |
commit | 927c9e796ff6fad2bf82a965234f52932cdee657 (patch) | |
tree | d53d021f2f2c301646d40113330fdd6692cb08c5 /src | |
parent | b5d7eb148c4cd62ff187b08765f0c13c7d330fcf (diff) | |
download | wallabag-927c9e796ff6fad2bf82a965234f52932cdee657.tar.gz wallabag-927c9e796ff6fad2bf82a965234f52932cdee657.tar.zst wallabag-927c9e796ff6fad2bf82a965234f52932cdee657.zip |
Add EntityTimestampsTrait to handle dates
Refactorize timestamps() method to avoid re-writing it on each entity
Diffstat (limited to 'src')
-rw-r--r-- | src/Wallabag/AnnotationBundle/Entity/Annotation.php | 15 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Entity/Entry.php | 16 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Entity/SiteCredential.php | 13 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Helper/EntityTimestampsTrait.php | 24 | ||||
-rw-r--r-- | src/Wallabag/UserBundle/Entity/User.php | 16 |
5 files changed, 36 insertions, 48 deletions
diff --git a/src/Wallabag/AnnotationBundle/Entity/Annotation.php b/src/Wallabag/AnnotationBundle/Entity/Annotation.php index 04d83001..a180d504 100644 --- a/src/Wallabag/AnnotationBundle/Entity/Annotation.php +++ b/src/Wallabag/AnnotationBundle/Entity/Annotation.php | |||
@@ -10,6 +10,7 @@ use JMS\Serializer\Annotation\SerializedName; | |||
10 | use JMS\Serializer\Annotation\VirtualProperty; | 10 | use JMS\Serializer\Annotation\VirtualProperty; |
11 | use Symfony\Component\Validator\Constraints as Assert; | 11 | use Symfony\Component\Validator\Constraints as Assert; |
12 | use Wallabag\CoreBundle\Entity\Entry; | 12 | use Wallabag\CoreBundle\Entity\Entry; |
13 | use Wallabag\CoreBundle\Helper\EntityTimestampsTrait; | ||
13 | use Wallabag\UserBundle\Entity\User; | 14 | use Wallabag\UserBundle\Entity\User; |
14 | 15 | ||
15 | /** | 16 | /** |
@@ -22,6 +23,8 @@ use Wallabag\UserBundle\Entity\User; | |||
22 | */ | 23 | */ |
23 | class Annotation | 24 | class Annotation |
24 | { | 25 | { |
26 | use EntityTimestampsTrait; | ||
27 | |||
25 | /** | 28 | /** |
26 | * @var int | 29 | * @var int |
27 | * | 30 | * |
@@ -134,18 +137,6 @@ class Annotation | |||
134 | } | 137 | } |
135 | 138 | ||
136 | /** | 139 | /** |
137 | * @ORM\PrePersist | ||
138 | * @ORM\PreUpdate | ||
139 | */ | ||
140 | public function timestamps() | ||
141 | { | ||
142 | if (null === $this->createdAt) { | ||
143 | $this->createdAt = new \DateTime(); | ||
144 | } | ||
145 | $this->updatedAt = new \DateTime(); | ||
146 | } | ||
147 | |||
148 | /** | ||
149 | * Get created. | 140 | * Get created. |
150 | * | 141 | * |
151 | * @return \DateTime | 142 | * @return \DateTime |
diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index cba72d31..61d01bdc 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php | |||
@@ -12,6 +12,7 @@ use JMS\Serializer\Annotation\VirtualProperty; | |||
12 | use JMS\Serializer\Annotation\XmlRoot; | 12 | use JMS\Serializer\Annotation\XmlRoot; |
13 | use Symfony\Component\Validator\Constraints as Assert; | 13 | use Symfony\Component\Validator\Constraints as Assert; |
14 | use Wallabag\AnnotationBundle\Entity\Annotation; | 14 | use Wallabag\AnnotationBundle\Entity\Annotation; |
15 | use Wallabag\CoreBundle\Helper\EntityTimestampsTrait; | ||
15 | use Wallabag\UserBundle\Entity\User; | 16 | use Wallabag\UserBundle\Entity\User; |
16 | 17 | ||
17 | /** | 18 | /** |
@@ -32,6 +33,8 @@ use Wallabag\UserBundle\Entity\User; | |||
32 | */ | 33 | */ |
33 | class Entry | 34 | class Entry |
34 | { | 35 | { |
36 | use EntityTimestampsTrait; | ||
37 | |||
35 | /** @Serializer\XmlAttribute */ | 38 | /** @Serializer\XmlAttribute */ |
36 | /** | 39 | /** |
37 | * @var int | 40 | * @var int |
@@ -473,19 +476,6 @@ class Entry | |||
473 | } | 476 | } |
474 | 477 | ||
475 | /** | 478 | /** |
476 | * @ORM\PrePersist | ||
477 | * @ORM\PreUpdate | ||
478 | */ | ||
479 | public function timestamps() | ||
480 | { | ||
481 | if (null === $this->createdAt) { | ||
482 | $this->createdAt = new \DateTime(); | ||
483 | } | ||
484 | |||
485 | $this->updatedAt = new \DateTime(); | ||
486 | } | ||
487 | |||
488 | /** | ||
489 | * @return ArrayCollection<Annotation> | 479 | * @return ArrayCollection<Annotation> |
490 | */ | 480 | */ |
491 | public function getAnnotations() | 481 | public function getAnnotations() |
diff --git a/src/Wallabag/CoreBundle/Entity/SiteCredential.php b/src/Wallabag/CoreBundle/Entity/SiteCredential.php index 4d6557c5..ac714359 100644 --- a/src/Wallabag/CoreBundle/Entity/SiteCredential.php +++ b/src/Wallabag/CoreBundle/Entity/SiteCredential.php | |||
@@ -4,6 +4,7 @@ namespace Wallabag\CoreBundle\Entity; | |||
4 | 4 | ||
5 | use Doctrine\ORM\Mapping as ORM; | 5 | use Doctrine\ORM\Mapping as ORM; |
6 | use Symfony\Component\Validator\Constraints as Assert; | 6 | use Symfony\Component\Validator\Constraints as Assert; |
7 | use Wallabag\CoreBundle\Helper\EntityTimestampsTrait; | ||
7 | use Wallabag\UserBundle\Entity\User; | 8 | use Wallabag\UserBundle\Entity\User; |
8 | 9 | ||
9 | /** | 10 | /** |
@@ -15,6 +16,8 @@ use Wallabag\UserBundle\Entity\User; | |||
15 | */ | 16 | */ |
16 | class SiteCredential | 17 | class SiteCredential |
17 | { | 18 | { |
19 | use EntityTimestampsTrait; | ||
20 | |||
18 | /** | 21 | /** |
19 | * @var int | 22 | * @var int |
20 | * | 23 | * |
@@ -182,14 +185,4 @@ class SiteCredential | |||
182 | { | 185 | { |
183 | return $this->user; | 186 | return $this->user; |
184 | } | 187 | } |
185 | |||
186 | /** | ||
187 | * @ORM\PrePersist | ||
188 | */ | ||
189 | public function timestamps() | ||
190 | { | ||
191 | if (null === $this->createdAt) { | ||
192 | $this->createdAt = new \DateTime(); | ||
193 | } | ||
194 | } | ||
195 | } | 188 | } |
diff --git a/src/Wallabag/CoreBundle/Helper/EntityTimestampsTrait.php b/src/Wallabag/CoreBundle/Helper/EntityTimestampsTrait.php new file mode 100644 index 00000000..1b1ff54a --- /dev/null +++ b/src/Wallabag/CoreBundle/Helper/EntityTimestampsTrait.php | |||
@@ -0,0 +1,24 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\CoreBundle\Helper; | ||
4 | |||
5 | use Doctrine\ORM\Mapping as ORM; | ||
6 | |||
7 | /** | ||
8 | * Trait to handle created & updated date of an Entity. | ||
9 | */ | ||
10 | trait EntityTimestampsTrait | ||
11 | { | ||
12 | /** | ||
13 | * @ORM\PrePersist | ||
14 | * @ORM\PreUpdate | ||
15 | */ | ||
16 | public function timestamps() | ||
17 | { | ||
18 | if (null === $this->createdAt) { | ||
19 | $this->createdAt = new \DateTime(); | ||
20 | } | ||
21 | |||
22 | $this->updatedAt = new \DateTime(); | ||
23 | } | ||
24 | } | ||
diff --git a/src/Wallabag/UserBundle/Entity/User.php b/src/Wallabag/UserBundle/Entity/User.php index 53c327f9..48446e3c 100644 --- a/src/Wallabag/UserBundle/Entity/User.php +++ b/src/Wallabag/UserBundle/Entity/User.php | |||
@@ -15,6 +15,7 @@ use Symfony\Component\Security\Core\User\UserInterface; | |||
15 | use Wallabag\ApiBundle\Entity\Client; | 15 | use Wallabag\ApiBundle\Entity\Client; |
16 | use Wallabag\CoreBundle\Entity\Config; | 16 | use Wallabag\CoreBundle\Entity\Config; |
17 | use Wallabag\CoreBundle\Entity\Entry; | 17 | use Wallabag\CoreBundle\Entity\Entry; |
18 | use Wallabag\CoreBundle\Helper\EntityTimestampsTrait; | ||
18 | 19 | ||
19 | /** | 20 | /** |
20 | * User. | 21 | * User. |
@@ -29,6 +30,8 @@ use Wallabag\CoreBundle\Entity\Entry; | |||
29 | */ | 30 | */ |
30 | class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterface | 31 | class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterface |
31 | { | 32 | { |
33 | use EntityTimestampsTrait; | ||
34 | |||
32 | /** @Serializer\XmlAttribute */ | 35 | /** @Serializer\XmlAttribute */ |
33 | /** | 36 | /** |
34 | * @var int | 37 | * @var int |
@@ -139,19 +142,6 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf | |||
139 | } | 142 | } |
140 | 143 | ||
141 | /** | 144 | /** |
142 | * @ORM\PrePersist | ||
143 | * @ORM\PreUpdate | ||
144 | */ | ||
145 | public function timestamps() | ||
146 | { | ||
147 | if (null === $this->createdAt) { | ||
148 | $this->createdAt = new \DateTime(); | ||
149 | } | ||
150 | |||
151 | $this->updatedAt = new \DateTime(); | ||
152 | } | ||
153 | |||
154 | /** | ||
155 | * Set name. | 145 | * Set name. |
156 | * | 146 | * |
157 | * @param string $name | 147 | * @param string $name |