fix: supprimer DomainSyncListener - pas de création auto domaine Dovecot

L'ajout d'un NDD ne doit pas créer automatiquement le domaine dans
la base esymail/Dovecot. La création de domaine mail sera manuelle
quand on active le service Esy-Mail sur un domaine.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-04-04 19:20:14 +02:00
parent bd71f8fcc2
commit aa8df3687c

View File

@@ -1,49 +0,0 @@
<?php
namespace App\EventListener;
use App\Entity\Domain;
use App\Service\EsyMailService;
use Doctrine\Bundle\DoctrineBundle\Attribute\AsEntityListener;
use Doctrine\ORM\Event\PostPersistEventArgs;
use Doctrine\ORM\Event\PostRemoveEventArgs;
use Doctrine\ORM\Events;
use Psr\Log\LoggerInterface;
#[AsEntityListener(event: Events::postPersist, entity: Domain::class)]
#[AsEntityListener(event: Events::postRemove, entity: Domain::class)]
class DomainSyncListener
{
public function __construct(
private EsyMailService $esyMail,
private LoggerInterface $logger,
) {
}
public function postPersist(Domain $domain, PostPersistEventArgs $event): void
{
if (!$this->esyMail->isAvailable()) {
return;
}
$fqdn = $domain->getFqdn();
if (!$this->esyMail->domainExists($fqdn)) {
$this->esyMail->createDomain($fqdn);
$this->logger->info('EsyMail sync: domaine cree '.$fqdn);
}
}
public function postRemove(Domain $domain, PostRemoveEventArgs $event): void
{
if (!$this->esyMail->isAvailable()) {
return;
}
$fqdn = $domain->getFqdn();
if ($this->esyMail->deleteDomain($fqdn)) {
$this->logger->info('EsyMail sync: domaine supprime '.$fqdn);
}
}
}