diff --git a/assets/app.tsx b/assets/app.tsx deleted file mode 100644 index fca53fd..0000000 --- a/assets/app.tsx +++ /dev/null @@ -1,4 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; - -ReactDOM.render(
, document.getElementById('root')); diff --git a/migrations/Version20240719164643.php b/migrations/Version20240719164643.php deleted file mode 100644 index 7100076..0000000 --- a/migrations/Version20240719164643.php +++ /dev/null @@ -1,40 +0,0 @@ -addSql('ALTER TABLE tld ADD COLUMN contract_terminated BOOLEAN DEFAULT NULL'); - $this->addSql('ALTER TABLE tld ADD COLUMN date_of_contract_signature DATE DEFAULT NULL'); - $this->addSql('ALTER TABLE tld ADD COLUMN delegation_date DATE DEFAULT NULL'); - $this->addSql('ALTER TABLE tld ADD COLUMN registry_operator VARCHAR(255) DEFAULT NULL'); - $this->addSql('ALTER TABLE tld ADD COLUMN removal_date DATE DEFAULT NULL'); - $this->addSql('ALTER TABLE tld ADD COLUMN specification13 BOOLEAN DEFAULT 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__tld AS SELECT tld FROM tld'); - $this->addSql('DROP TABLE tld'); - $this->addSql('CREATE TABLE tld (tld VARCHAR(63) NOT NULL, PRIMARY KEY(tld))'); - $this->addSql('INSERT INTO tld (tld) SELECT tld FROM __temp__tld'); - $this->addSql('DROP TABLE __temp__tld'); - } -} diff --git a/migrations/Version20240719124300.php b/migrations/Version20240719183550.php similarity index 94% rename from migrations/Version20240719124300.php rename to migrations/Version20240719183550.php index c947866..f68301c 100644 --- a/migrations/Version20240719124300.php +++ b/migrations/Version20240719183550.php @@ -10,7 +10,7 @@ use Doctrine\Migrations\AbstractMigration; /** * Auto-generated Migration: Please modify to your needs! */ -final class Version20240719124300 extends AbstractMigration +final class Version20240719183550 extends AbstractMigration { public function getDescription(): string { @@ -49,7 +49,10 @@ final class Version20240719124300 extends AbstractMigration $this->addSql('CREATE TABLE rdap_server (url VARCHAR(255) NOT NULL, tld_id VARCHAR(63) NOT NULL, updated_at DATE NOT NULL --(DC2Type:date_immutable) , PRIMARY KEY(url, tld_id), CONSTRAINT FK_CCBF17A850F7084E FOREIGN KEY (tld_id) REFERENCES tld (tld) NOT DEFERRABLE INITIALLY IMMEDIATE)'); $this->addSql('CREATE INDEX IDX_CCBF17A850F7084E ON rdap_server (tld_id)'); - $this->addSql('CREATE TABLE tld (tld VARCHAR(63) NOT NULL, PRIMARY KEY(tld))'); + $this->addSql('CREATE TABLE tld (tld VARCHAR(63) NOT NULL, contract_terminated BOOLEAN DEFAULT NULL, date_of_contract_signature DATE DEFAULT NULL --(DC2Type:date_immutable) + , delegation_date DATE DEFAULT NULL --(DC2Type:date_immutable) + , registry_operator VARCHAR(255) DEFAULT NULL, removal_date DATE DEFAULT NULL --(DC2Type:date_immutable) + , specification13 BOOLEAN DEFAULT NULL, PRIMARY KEY(tld))'); $this->addSql('CREATE TABLE user (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, email VARCHAR(180) NOT NULL, roles CLOB NOT NULL --(DC2Type:json) , password VARCHAR(255) NOT NULL)'); $this->addSql('CREATE UNIQUE INDEX UNIQ_IDENTIFIER_EMAIL ON user (email)'); diff --git a/src/Entity/Tld.php b/src/Entity/Tld.php index 2ffff18..e30503b 100644 --- a/src/Entity/Tld.php +++ b/src/Entity/Tld.php @@ -2,18 +2,36 @@ namespace App\Entity; +use ApiPlatform\Metadata\ApiResource; +use ApiPlatform\Metadata\Get; +use ApiPlatform\Metadata\GetCollection; use App\Repository\TldRepository; use DateTimeImmutable; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping as ORM; +use Symfony\Component\Serializer\Attribute\Groups; +#[ApiResource( + shortName: 'Top Level Domain', + operations: [ + new GetCollection( + uriTemplate: '/tld', + normalizationContext: ['groups' => ['tld:list']] + ), + new Get( + uriTemplate: '/tld/{tld}', + normalizationContext: ['groups' => ['tld:item']] + ) + ] +)] #[ORM\Entity(repositoryClass: TldRepository::class)] class Tld { #[ORM\Id] #[ORM\Column(length: 63)] + #[Groups(["tld:list", "tld:item"])] private ?string $tld = null; /** * @var Collection