From ddd18bfe493f6817fdee3e033be29d37bbc24ce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Gangloff?= Date: Fri, 12 Jul 2024 15:38:24 +0200 Subject: [PATCH] feat: add jCard column to entity --- migrations/Version20240712133612.php | 35 ++++++++++++++++++++++++++++ src/Controller/TestController.php | 10 ++++++-- src/Entity/Entity.php | 15 ++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 migrations/Version20240712133612.php diff --git a/migrations/Version20240712133612.php b/migrations/Version20240712133612.php new file mode 100644 index 0000000..1b5e8bd --- /dev/null +++ b/migrations/Version20240712133612.php @@ -0,0 +1,35 @@ +addSql('ALTER TABLE entity ADD COLUMN j_card CLOB NOT NULL'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE TEMPORARY TABLE __temp__entity AS SELECT handle FROM entity'); + $this->addSql('DROP TABLE entity'); + $this->addSql('CREATE TABLE entity (handle VARCHAR(255) NOT NULL, PRIMARY KEY(handle))'); + $this->addSql('INSERT INTO entity (handle) SELECT handle FROM __temp__entity'); + $this->addSql('DROP TABLE __temp__entity'); + } +} diff --git a/src/Controller/TestController.php b/src/Controller/TestController.php index a6a012b..fb4eeb7 100644 --- a/src/Controller/TestController.php +++ b/src/Controller/TestController.php @@ -85,7 +85,9 @@ class TestController extends AbstractController ]); if ($entity === null) $entity = new Entity(); - $entity->setHandle($rdapEntity['handle']); + $entity + ->setHandle($rdapEntity['handle']) + ->setJCard($rdapEntity['vcardArray']); foreach ($rdapEntity['events'] as $rdapEntityEvent) { @@ -142,7 +144,9 @@ class TestController extends AbstractController ]); if ($entity === null) $entity = new Entity(); - $entity->setHandle($rdapEntity['handle']); + $entity + ->setHandle($rdapEntity['handle']) + ->setJCard($rdapEntity['vcardArray']); foreach ($rdapEntity['events'] as $rdapEntityEvent) { @@ -158,6 +162,8 @@ class TestController extends AbstractController ->setEntity($entity) ->setAction(EventAction::from($rdapEntityEvent['eventAction'])) ->setDate(new DateTimeImmutable($rdapEntityEvent['eventDate']))); + $em->persist($entity); + $em->flush(); } diff --git a/src/Entity/Entity.php b/src/Entity/Entity.php index 68f9283..2326fdb 100644 --- a/src/Entity/Entity.php +++ b/src/Entity/Entity.php @@ -32,6 +32,9 @@ class Entity #[ORM\OneToMany(targetEntity: EntityEvent::class, mappedBy: 'entity', cascade: ['persist'], orphanRemoval: true)] private Collection $events; + #[ORM\Column] + private array $jCard = []; + public function __construct() { $this->domainEntities = new ArrayCollection(); @@ -141,4 +144,16 @@ class Entity return $this; } + public function getJCard(): array + { + return $this->jCard; + } + + public function setJCard(array $jCard): static + { + $this->jCard = $jCard; + + return $this; + } + }