Skip to content

Commit

Permalink
feat: add a date column on domain_status to better identify periods
Browse files Browse the repository at this point in the history
  • Loading branch information
maelgangloff committed Dec 29, 2024
1 parent 7275859 commit 45e218c
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 4 deletions.
37 changes: 37 additions & 0 deletions migrations/Version20241229155050.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?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 Version20241229155050 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add a date column on domain_status to better identify periods';
}

public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE domain_status RENAME COLUMN date TO created_at');
$this->addSql('ALTER TABLE domain_status ADD date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NOW() NOT NULL');
$this->addSql('UPDATE domain_status SET date = created_at');
$this->addSql('ALTER TABLE domain_status ALTER COLUMN date DROP DEFAULT');

$this->addSql('COMMENT ON COLUMN domain_status.date IS \'(DC2Type:datetime_immutable)\'');
}

public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE domain_status DROP COLUMN date');
$this->addSql('ALTER TABLE domain_status RENAME COLUMN created_at TO date');
}
}
23 changes: 20 additions & 3 deletions src/Entity/DomainStatus.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@ class DomainStatus

#[ORM\Column]
#[Groups(['domain:item'])]
private ?\DateTimeImmutable $date = null;
private \DateTimeImmutable $createdAt;

#[ORM\Column]
#[Groups(['domain:item'])]
private \DateTimeImmutable $date;

#[ORM\Column(type: Types::SIMPLE_ARRAY, nullable: true)]
#[Groups(['domain:item'])]
Expand All @@ -34,6 +38,7 @@ class DomainStatus
public function __construct()
{
$this->date = new \DateTimeImmutable('now');
$this->createdAt = new \DateTimeImmutable('now');
}

public function getId(): ?int
Expand All @@ -53,18 +58,30 @@ public function setDomain(?Domain $domain): static
return $this;
}

public function getDate(): ?\DateTimeImmutable
public function getDate(): \DateTimeImmutable
{
return $this->date;
}

public function setDate(\DateTimeImmutable $date): static
public function setDate(\DateTimeImmutable $date): self
{
$this->date = $date;

return $this;
}

public function getCreatedAt(): \DateTimeImmutable
{
return $this->createdAt;
}

public function setCreatedAt(\DateTimeImmutable $createdAt): static
{
$this->createdAt = $createdAt;

return $this;
}

public function getAddStatus(): array
{
return $this->addStatus;
Expand Down
3 changes: 2 additions & 1 deletion src/Service/RDAPService.php
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,8 @@ private function updateDomainStatus(Domain $domain, array $rdapData): void
if ($domain->getUpdatedAt() !== $domain->getCreatedAt()) {
$this->em->persist((new DomainStatus())
->setDomain($domain)
->setDate(new \DateTimeImmutable('now'))
->setCreatedAt(new \DateTimeImmutable('now'))
->setDate($domain->getUpdatedAt())
->setAddStatus($addedStatus)
->setDeleteStatus($deletedStatus));
}
Expand Down

0 comments on commit 45e218c

Please sign in to comment.