Skip to content

Commit b3e9295

Browse files
committed
Update datetime properties and implement TrackedEntity class in Package entity
1 parent 2703294 commit b3e9295

2 files changed

Lines changed: 22 additions & 20 deletions

File tree

migrations/Version20250715195941.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ public function up(Schema $schema): void
1919
$this->addSql(<<<'SQL'
2020
ALTER TABLE access_token ADD last_modified_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
2121
SQL);
22+
$this->addSql(<<<'SQL'
23+
ALTER TABLE package ADD last_modified_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
24+
SQL);
2225
$this->addSql(<<<'SQL'
2326
ALTER TABLE version ADD last_modified_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
2427
SQL);
@@ -27,10 +30,13 @@ public function up(Schema $schema): void
2730
public function down(Schema $schema): void
2831
{
2932
$this->addSql(<<<'SQL'
30-
ALTER TABLE access_token DROP last_modified_at
33+
ALTER TABLE version DROP last_modified_at
3134
SQL);
3235
$this->addSql(<<<'SQL'
33-
ALTER TABLE version DROP last_modified_at
36+
ALTER TABLE package DROP last_modified_at
37+
SQL);
38+
$this->addSql(<<<'SQL'
39+
ALTER TABLE access_token DROP last_modified_at
3440
SQL);
3541
}
3642
}

src/Doctrine/Entity/Package.php

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#[ORM\Entity(repositoryClass: PackageRepository::class)]
1414
#[ORM\UniqueConstraint(name: 'package_name_idx', columns: ['name'])]
1515
#[UniquePackage]
16-
class Package
16+
class Package extends TrackedEntity
1717
{
1818
#[ORM\Id]
1919
#[ORM\Column]
@@ -74,17 +74,14 @@ class Package
7474
#[ORM\OneToMany(targetEntity: Version::class, mappedBy: 'package', cascade: ['remove'])]
7575
private Collection $versions;
7676

77-
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
78-
private \DateTimeInterface $createdAt;
79-
80-
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
81-
private ?\DateTimeInterface $updatedAt = null;
77+
#[ORM\Column(nullable: true)]
78+
private ?\DateTimeImmutable $updatedAt = null;
8279

83-
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
84-
private ?\DateTimeInterface $updateScheduledAt = null;
80+
#[ORM\Column(nullable: true)]
81+
private ?\DateTimeImmutable $updateScheduledAt = null;
8582

86-
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]
87-
private ?\DateTimeInterface $dumpedAt = null;
83+
#[ORM\Column(nullable: true)]
84+
private ?\DateTimeImmutable $dumpedAt = null;
8885

8986
/**
9087
* @var array<string, Version> lookup table for versions
@@ -95,7 +92,6 @@ public function __construct()
9592
{
9693
$this->installations = new PackageInstallations($this);
9794
$this->versions = new ArrayCollection();
98-
$this->createdAt = new \DateTime();
9995
}
10096

10197
public function getId(): ?int
@@ -308,37 +304,37 @@ public function getVersion(string $normalizedVersion): ?Version
308304
return $this->cachedVersions[strtolower($normalizedVersion)] ?? null;
309305
}
310306

311-
public function getCreatedAt(): \DateTimeInterface
307+
public function getCreatedAt(): \DateTimeImmutable
312308
{
313309
return $this->createdAt;
314310
}
315311

316-
public function getUpdatedAt(): ?\DateTimeInterface
312+
public function getUpdatedAt(): ?\DateTimeImmutable
317313
{
318314
return $this->updatedAt;
319315
}
320316

321-
public function setUpdatedAt(\DateTimeInterface $updatedAt): void
317+
public function setUpdatedAt(\DateTimeImmutable $updatedAt): void
322318
{
323319
$this->updatedAt = $updatedAt;
324320
}
325321

326-
public function getUpdateScheduledAt(): ?\DateTimeInterface
322+
public function getUpdateScheduledAt(): ?\DateTimeImmutable
327323
{
328324
return $this->updateScheduledAt;
329325
}
330326

331-
public function setUpdateScheduledAt(?\DateTimeInterface $updateScheduledAt): void
327+
public function setUpdateScheduledAt(?\DateTimeImmutable $updateScheduledAt): void
332328
{
333329
$this->updateScheduledAt = $updateScheduledAt;
334330
}
335331

336-
public function getDumpedAt(): ?\DateTimeInterface
332+
public function getDumpedAt(): ?\DateTimeImmutable
337333
{
338334
return $this->dumpedAt;
339335
}
340336

341-
public function setDumpedAt(?\DateTimeInterface $dumpedAt): void
337+
public function setDumpedAt(?\DateTimeImmutable $dumpedAt): void
342338
{
343339
$this->dumpedAt = $dumpedAt;
344340
}

0 commit comments

Comments
 (0)