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:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user