From 0be609cc9db4fb493247647f28e3ba064e58d603 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Gangloff?= Date: Fri, 12 Sep 2025 23:34:58 +0200 Subject: [PATCH] chore: in fact, it is ICANN that accredits the registrars --- migrations/Version20250912212814.php | 37 +++++++++++++++++++ ...=> NotNullAccreditationIcannExtension.php} | 6 +-- src/Entity/Entity.php | 26 ++++++------- ...creditation.php => IcannAccreditation.php} | 2 +- src/Service/RDAPService.php | 2 +- 5 files changed, 55 insertions(+), 18 deletions(-) create mode 100644 migrations/Version20250912212814.php rename src/Api/Extension/{NotNullAccreditationIanaExtension.php => NotNullAccreditationIcannExtension.php} (70%) rename src/Entity/{IanaAccreditation.php => IcannAccreditation.php} (98%) diff --git a/migrations/Version20250912212814.php b/migrations/Version20250912212814.php new file mode 100644 index 0000000..b4c3417 --- /dev/null +++ b/migrations/Version20250912212814.php @@ -0,0 +1,37 @@ +addSql('ALTER TABLE entity RENAME COLUMN iana_registrar_name TO icann_registrar_name'); + $this->addSql('ALTER TABLE entity RENAME COLUMN iana_rdap_base_url TO icann_rdap_base_url'); + $this->addSql('ALTER TABLE entity RENAME COLUMN iana_status TO icann_status'); + $this->addSql('ALTER TABLE entity RENAME COLUMN iana_updated TO icann_updated'); + $this->addSql('ALTER TABLE entity RENAME COLUMN iana_date TO icann_date'); + } + + public function down(Schema $schema): void + { + $this->addSql('ALTER TABLE entity RENAME COLUMN icann_registrar_name TO iana_registrar_name'); + $this->addSql('ALTER TABLE entity RENAME COLUMN icann_rdap_base_url TO iana_rdap_base_url'); + $this->addSql('ALTER TABLE entity RENAME COLUMN icann_status TO iana_status'); + $this->addSql('ALTER TABLE entity RENAME COLUMN icann_updated TO iana_updated'); + $this->addSql('ALTER TABLE entity RENAME COLUMN icann_date TO iana_date'); + } +} diff --git a/src/Api/Extension/NotNullAccreditationIanaExtension.php b/src/Api/Extension/NotNullAccreditationIcannExtension.php similarity index 70% rename from src/Api/Extension/NotNullAccreditationIanaExtension.php rename to src/Api/Extension/NotNullAccreditationIcannExtension.php index 2ef74d5..ac6451d 100644 --- a/src/Api/Extension/NotNullAccreditationIanaExtension.php +++ b/src/Api/Extension/NotNullAccreditationIcannExtension.php @@ -8,7 +8,7 @@ use ApiPlatform\Metadata\Operation; use App\Entity\Entity; use Doctrine\ORM\QueryBuilder; -class NotNullAccreditationIanaExtension implements QueryCollectionExtensionInterface +class NotNullAccreditationIcannExtension implements QueryCollectionExtensionInterface { public function applyToCollection( QueryBuilder $queryBuilder, @@ -20,9 +20,9 @@ class NotNullAccreditationIanaExtension implements QueryCollectionExtensionInter if (Entity::class !== $resourceClass) { return; } - if ($operation && 'iana_accreditations_collection' === $operation->getName()) { + if ($operation && 'icann_accreditations_collection' === $operation->getName()) { $rootAlias = $queryBuilder->getRootAliases()[0]; - $queryBuilder->andWhere(sprintf('%s.ianaAccreditation.status IS NOT NULL', $rootAlias)); + $queryBuilder->andWhere(sprintf('%s.icannAccreditation.status IS NOT NULL', $rootAlias)); } } } diff --git a/src/Entity/Entity.php b/src/Entity/Entity.php index 6da05f4..3902463 100644 --- a/src/Entity/Entity.php +++ b/src/Entity/Entity.php @@ -21,11 +21,11 @@ use Symfony\Component\Serializer\Attribute\SerializedName; #[ApiResource( operations: [ new GetCollection( - uriTemplate: '/entities/iana-accreditations', + uriTemplate: '/entities/icann-accreditations', openapiContext: [ 'parameters' => [ [ - 'name' => 'ianaAccreditation.status', + 'name' => 'icannAccreditation.status', 'in' => 'query', 'required' => true, 'schema' => [ @@ -37,13 +37,13 @@ use Symfony\Component\Serializer\Attribute\SerializedName; ], 'style' => 'form', 'explode' => true, - 'description' => 'Filter by IANA accreditation status', + 'description' => 'Filter by ICANN accreditation status', ], ], ], - description: 'IANA Registrar IDs list', + description: 'ICANN Registrar IDs list', normalizationContext: ['groups' => ['entity:list']], - name: 'iana_accreditations_collection' + name: 'icann_accreditations_collection' ), /* new GetCollection( @@ -70,7 +70,7 @@ use Symfony\Component\Serializer\Attribute\SerializedName; #[ApiFilter( SearchFilter::class, properties: [ - 'ianaAccreditation.status' => 'exact', + 'icannAccreditation.status' => 'exact', ] )] class Entity @@ -120,16 +120,16 @@ class Entity #[Groups(['entity:item', 'domain:item'])] private ?array $remarks = null; - #[Embedded(class: IanaAccreditation::class, columnPrefix: 'iana_')] + #[Embedded(class: IcannAccreditation::class, columnPrefix: 'icann_')] #[Groups(['entity:list', 'entity:item', 'domain:item'])] - private ?IanaAccreditation $ianaAccreditation = null; + private ?IcannAccreditation $icannAccreditation = null; public function __construct() { $this->domainEntities = new ArrayCollection(); $this->nameserverEntities = new ArrayCollection(); $this->events = new ArrayCollection(); - $this->ianaAccreditation = new IanaAccreditation(); + $this->icannAccreditation = new IcannAccreditation(); } public function getHandle(): ?string @@ -282,13 +282,13 @@ class Entity return $this; } - public function getIanaAccreditation(): ?IanaAccreditation + public function getIcannAccreditation(): ?IcannAccreditation { - return null === $this->ianaAccreditation->getStatus() ? null : $this->ianaAccreditation; + return null === $this->icannAccreditation->getStatus() ? null : $this->icannAccreditation; } - public function setIanaAccreditation(?IanaAccreditation $ianaAccreditation): void + public function setIcannAccreditation(?IcannAccreditation $icannAccreditation): void { - $this->ianaAccreditation = $ianaAccreditation; + $this->icannAccreditation = $icannAccreditation; } } diff --git a/src/Entity/IanaAccreditation.php b/src/Entity/IcannAccreditation.php similarity index 98% rename from src/Entity/IanaAccreditation.php rename to src/Entity/IcannAccreditation.php index c8a61d2..bc6f812 100644 --- a/src/Entity/IanaAccreditation.php +++ b/src/Entity/IcannAccreditation.php @@ -9,7 +9,7 @@ use Doctrine\ORM\Mapping\Embeddable; use Symfony\Component\Serializer\Attribute\Groups; #[Embeddable] -class IanaAccreditation +class IcannAccreditation { #[ORM\Column(length: 255, nullable: true)] #[Groups(['entity:item', 'entity:list', 'domain:item'])] diff --git a/src/Service/RDAPService.php b/src/Service/RDAPService.php index 4eada07..3f26eb3 100644 --- a/src/Service/RDAPService.php +++ b/src/Service/RDAPService.php @@ -849,7 +849,7 @@ class RDAPService ->setTld(null) ->setJCard(['vcard', [['version', [], 'text', '4.0'], ['fn', [], 'text', (string) $registrar->name]]]) ->setRemarks(null) - ->getIanaAccreditation() + ->getIcannAccreditation() ->setRegistrarName($registrar->name) ->setStatus(RegistrarStatus::from($registrar->status)) ->setRdapBaseUrl($registrar->rdapurl->count() ? ($registrar->rdapurl->server) : null)