mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-29 16:15:04 +00:00
feat: add updatedAt on DomainEntity
This commit is contained in:
34
migrations/Version20240806170123.php
Normal file
34
migrations/Version20240806170123.php
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace DoctrineMigrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Doctrine\Migrations\AbstractMigration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated Migration: Please modify to your needs!
|
||||||
|
*/
|
||||||
|
final class Version20240806170123 extends AbstractMigration
|
||||||
|
{
|
||||||
|
public function getDescription(): string
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function up(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this up() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('ALTER TABLE domain_entity ADD updated_at DATE DEFAULT CURRENT_TIMESTAMP NOT NULL');
|
||||||
|
$this->addSql('COMMENT ON COLUMN domain_entity.updated_at IS \'(DC2Type:date_immutable)\'');
|
||||||
|
$this->addSql('ALTER TABLE domain_entity ALTER updated_at DROP DEFAULT');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(Schema $schema): void
|
||||||
|
{
|
||||||
|
// this down() migration is auto-generated, please modify it to your needs
|
||||||
|
$this->addSql('CREATE SCHEMA public');
|
||||||
|
$this->addSql('ALTER TABLE domain_entity DROP updated_at');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -32,7 +32,6 @@ class DomainRefreshController extends AbstractController
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws TransportExceptionInterface
|
* @throws TransportExceptionInterface
|
||||||
* @throws HttpExceptionInterface
|
|
||||||
* @throws DecodingExceptionInterface
|
* @throws DecodingExceptionInterface
|
||||||
* @throws ExceptionInterface
|
* @throws ExceptionInterface
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
|
|||||||
@@ -27,6 +27,15 @@ class DomainEntity
|
|||||||
#[Groups(['domain-entity:entity', 'domain-entity:domain'])]
|
#[Groups(['domain-entity:entity', 'domain-entity:domain'])]
|
||||||
private array $roles = [];
|
private array $roles = [];
|
||||||
|
|
||||||
|
#[ORM\Column(type: Types::DATE_IMMUTABLE)]
|
||||||
|
#[Groups(['domain-entity:entity', 'domain-entity:domain'])]
|
||||||
|
private ?\DateTimeImmutable $updatedAt = null;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->updatedAt = new \DateTimeImmutable('now');
|
||||||
|
}
|
||||||
|
|
||||||
public function getDomain(): ?Domain
|
public function getDomain(): ?Domain
|
||||||
{
|
{
|
||||||
return $this->domain;
|
return $this->domain;
|
||||||
@@ -65,4 +74,23 @@ class DomainEntity
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getUpdatedAt(): ?\DateTimeImmutable
|
||||||
|
{
|
||||||
|
return $this->updatedAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setUpdatedAt(\DateTimeImmutable $updatedAt): static
|
||||||
|
{
|
||||||
|
$this->updatedAt = $updatedAt;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[ORM\PrePersist]
|
||||||
|
#[ORM\PreUpdate]
|
||||||
|
public function updateTimestamps(): void
|
||||||
|
{
|
||||||
|
$this->setUpdatedAt(new \DateTimeImmutable('now'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -258,7 +258,8 @@ readonly class RDAPService
|
|||||||
$domain->addDomainEntity($domainEntity
|
$domain->addDomainEntity($domainEntity
|
||||||
->setDomain($domain)
|
->setDomain($domain)
|
||||||
->setEntity($entity)
|
->setEntity($entity)
|
||||||
->setRoles($roles));
|
->setRoles($roles))
|
||||||
|
->updateTimestamps();
|
||||||
|
|
||||||
$this->em->persist($domainEntity);
|
$this->em->persist($domainEntity);
|
||||||
$this->em->flush();
|
$this->em->flush();
|
||||||
|
|||||||
Reference in New Issue
Block a user