fix: propagate updated at timestamp to parent entity
This commit is contained in:
1 parent
e8143c055b
commit
5045846eed
5 files changed
+86
-3
No files matched your search
@@ -6,6 +6,7 @@ use App\Entity\BlameableEntity;
|
||||
use App\Entity\BlameableEntityInterface;
|
||||
use App\Entity\TimestampableEntity;
|
||||
use App\Entity\TimestampableEntityInterface;
|
||||
use App\Entity\TimestampableParentAwareInterface;
|
||||
use App\Enum\Groups\PriceType;
|
||||
use App\Enum\Groups\Season;
|
||||
use App\Repository\Groups\AccommodationPriceRepository;
|
||||
@@ -14,7 +15,7 @@ use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
|
||||
#[ORM\Entity(repositoryClass: AccommodationPriceRepository::class)]
|
||||
class AccommodationPrice implements BlameableEntityInterface, TimestampableEntityInterface
|
||||
class AccommodationPrice implements BlameableEntityInterface, TimestampableEntityInterface, TimestampableParentAwareInterface
|
||||
{
|
||||
use BlameableEntity;
|
||||
use TimestampableEntity;
|
||||
@@ -89,6 +90,11 @@ class AccommodationPrice implements BlameableEntityInterface, TimestampableEntit
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getTimestampableParent(): ?TimestampableEntityInterface
|
||||
{
|
||||
return $this->accommodation;
|
||||
}
|
||||
|
||||
public function getDateFrom(): ?\DateTimeImmutable
|
||||
{
|
||||
return $this->dateFrom;
|
||||
|
||||
@@ -6,6 +6,7 @@ use App\Entity\BlameableEntity;
|
||||
use App\Entity\BlameableEntityInterface;
|
||||
use App\Entity\TimestampableEntity;
|
||||
use App\Entity\TimestampableEntityInterface;
|
||||
use App\Entity\TimestampableParentAwareInterface;
|
||||
use App\Enum\Groups\AdditionalServiceType;
|
||||
use App\Repository\Groups\AdditionalServiceRepository;
|
||||
use Doctrine\DBAL\Types\Types;
|
||||
@@ -13,7 +14,7 @@ use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
|
||||
#[ORM\Entity(repositoryClass: AdditionalServiceRepository::class)]
|
||||
class AdditionalService implements BlameableEntityInterface, TimestampableEntityInterface
|
||||
class AdditionalService implements BlameableEntityInterface, TimestampableEntityInterface, TimestampableParentAwareInterface
|
||||
{
|
||||
use BlameableEntity;
|
||||
use TimestampableEntity;
|
||||
@@ -87,6 +88,11 @@ class AdditionalService implements BlameableEntityInterface, TimestampableEntity
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getTimestampableParent(): ?TimestampableEntityInterface
|
||||
{
|
||||
return $this->accommodation;
|
||||
}
|
||||
|
||||
public function getLabel(): ?string
|
||||
{
|
||||
return $this->label;
|
||||
|
||||
@@ -6,13 +6,14 @@ use App\Entity\BlameableEntity;
|
||||
use App\Entity\BlameableEntityInterface;
|
||||
use App\Entity\TimestampableEntity;
|
||||
use App\Entity\TimestampableEntityInterface;
|
||||
use App\Entity\TimestampableParentAwareInterface;
|
||||
use App\Repository\Groups\BoardServiceRepository;
|
||||
use Doctrine\DBAL\Types\Types;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
|
||||
#[ORM\Entity(repositoryClass: BoardServiceRepository::class)]
|
||||
class BoardService implements BlameableEntityInterface, TimestampableEntityInterface
|
||||
class BoardService implements BlameableEntityInterface, TimestampableEntityInterface, TimestampableParentAwareInterface
|
||||
{
|
||||
use BlameableEntity;
|
||||
use TimestampableEntity;
|
||||
@@ -67,6 +68,11 @@ class BoardService implements BlameableEntityInterface, TimestampableEntityInter
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getTimestampableParent(): ?TimestampableEntityInterface
|
||||
{
|
||||
return $this->accommodation;
|
||||
}
|
||||
|
||||
public function getLabel(): ?string
|
||||
{
|
||||
return $this->label;
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
interface TimestampableParentAwareInterface
|
||||
{
|
||||
/**
|
||||
* The entity whose updatedAt should be bumped whenever this entity is created, changed or removed.
|
||||
*/
|
||||
public function getTimestampableParent(): ?TimestampableEntityInterface;
|
||||
}
|
||||
Reference in new issue
Block a user