feat(Website): Ajoute WebsiteDns et WebsiteKey à l'entité Website.

 feat(Website): Crée une clé API et DNS principal lors de la création.
🔒 fix(ApiSubscriber): Valide le header EsyWebDns pour l'accès API.
 feat(ServerCard): Met à jour l'affichage des métriques serveur.
 feat(StatusController): Ajoute un endpoint pour vérifier l'état du site.
🐛 fix(CustomerController): Corrige une faute de frappe dans un flash message.
This commit is contained in:
Serreau Jovann
2025-11-11 14:40:53 +01:00
parent 5c0500dc19
commit c6a2510db8
19 changed files with 699 additions and 57 deletions

View File

@@ -0,0 +1,35 @@
<?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 Version20251111130711 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE website_key (id SERIAL NOT NULL, website_id INT DEFAULT NULL, type VARCHAR(255) NOT NULL, api_key VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE INDEX IDX_E2EAD56A18F45C82 ON website_key (website_id)');
$this->addSql('ALTER TABLE website_key ADD CONSTRAINT FK_E2EAD56A18F45C82 FOREIGN KEY (website_id) REFERENCES website (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE website_key DROP CONSTRAINT FK_E2EAD56A18F45C82');
$this->addSql('DROP TABLE website_key');
}
}

View File

@@ -0,0 +1,38 @@
<?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 Version20251111131037 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE website_dns (id SERIAL NOT NULL, website_id INT DEFAULT NULL, customer_dns_id INT DEFAULT NULL, is_main BOOLEAN NOT NULL, dns VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE INDEX IDX_EA97A28218F45C82 ON website_dns (website_id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_EA97A28255EAEAC2 ON website_dns (customer_dns_id)');
$this->addSql('ALTER TABLE website_dns ADD CONSTRAINT FK_EA97A28218F45C82 FOREIGN KEY (website_id) REFERENCES website (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE website_dns ADD CONSTRAINT FK_EA97A28255EAEAC2 FOREIGN KEY (customer_dns_id) REFERENCES customer_dns (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE website_dns DROP CONSTRAINT FK_EA97A28218F45C82');
$this->addSql('ALTER TABLE website_dns DROP CONSTRAINT FK_EA97A28255EAEAC2');
$this->addSql('DROP TABLE website_dns');
}
}

View File

@@ -0,0 +1,42 @@
<?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 Version20251111131514 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE customer_dns DROP CONSTRAINT fk_cd1e82b718f45c82');
$this->addSql('DROP INDEX idx_cd1e82b718f45c82');
$this->addSql('ALTER TABLE customer_dns DROP website_id');
$this->addSql('ALTER TABLE website_dns DROP CONSTRAINT fk_ea97a28255eaeac2');
$this->addSql('DROP INDEX uniq_ea97a28255eaeac2');
$this->addSql('ALTER TABLE website_dns DROP customer_dns_id');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE website_dns ADD customer_dns_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE website_dns ADD CONSTRAINT fk_ea97a28255eaeac2 FOREIGN KEY (customer_dns_id) REFERENCES customer_dns (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE UNIQUE INDEX uniq_ea97a28255eaeac2 ON website_dns (customer_dns_id)');
$this->addSql('ALTER TABLE customer_dns ADD website_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE customer_dns ADD CONSTRAINT fk_cd1e82b718f45c82 FOREIGN KEY (website_id) REFERENCES website (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE INDEX idx_cd1e82b718f45c82 ON customer_dns (website_id)');
}
}

View File

@@ -0,0 +1,36 @@
<?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 Version20251111131648 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE website_dns DROP CONSTRAINT fk_ea97a28218f45c82');
$this->addSql('DROP INDEX idx_ea97a28218f45c82');
$this->addSql('ALTER TABLE website_dns DROP website_id');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE website_dns ADD website_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE website_dns ADD CONSTRAINT fk_ea97a28218f45c82 FOREIGN KEY (website_id) REFERENCES website (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE INDEX idx_ea97a28218f45c82 ON website_dns (website_id)');
}
}

View File

@@ -0,0 +1,36 @@
<?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 Version20251111131734 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE website_key DROP CONSTRAINT fk_e2ead56a18f45c82');
$this->addSql('DROP INDEX idx_e2ead56a18f45c82');
$this->addSql('ALTER TABLE website_key DROP website_id');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE website_key ADD website_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE website_key ADD CONSTRAINT fk_e2ead56a18f45c82 FOREIGN KEY (website_id) REFERENCES website (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE INDEX idx_e2ead56a18f45c82 ON website_key (website_id)');
}
}

View File

@@ -0,0 +1,36 @@
<?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 Version20251111132611 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE website_dns ADD website_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE website_dns ADD CONSTRAINT FK_EA97A28218F45C82 FOREIGN KEY (website_id) REFERENCES website (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE INDEX IDX_EA97A28218F45C82 ON website_dns (website_id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE website_dns DROP CONSTRAINT FK_EA97A28218F45C82');
$this->addSql('DROP INDEX IDX_EA97A28218F45C82');
$this->addSql('ALTER TABLE website_dns DROP website_id');
}
}

View File

@@ -0,0 +1,36 @@
<?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 Version20251111133221 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE website_key ADD websitre_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE website_key ADD CONSTRAINT FK_E2EAD56A436DE8A4 FOREIGN KEY (websitre_id) REFERENCES website (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE INDEX IDX_E2EAD56A436DE8A4 ON website_key (websitre_id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE website_key DROP CONSTRAINT FK_E2EAD56A436DE8A4');
$this->addSql('DROP INDEX IDX_E2EAD56A436DE8A4');
$this->addSql('ALTER TABLE website_key DROP websitre_id');
}
}

View File

@@ -0,0 +1,36 @@
<?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 Version20251111133332 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE website_dns ADD customer_dns_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE website_dns ADD CONSTRAINT FK_EA97A28255EAEAC2 FOREIGN KEY (customer_dns_id) REFERENCES customer_dns (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('CREATE UNIQUE INDEX UNIQ_EA97A28255EAEAC2 ON website_dns (customer_dns_id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('ALTER TABLE website_dns DROP CONSTRAINT FK_EA97A28255EAEAC2');
$this->addSql('DROP INDEX UNIQ_EA97A28255EAEAC2');
$this->addSql('ALTER TABLE website_dns DROP customer_dns_id');
}
}