mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-29 16:15:04 +00:00
refactor: move DQL in repositories
This commit is contained in:
@@ -7,7 +7,6 @@ use App\Config\TldType;
|
||||
use App\Entity\IcannAccreditation;
|
||||
use App\Entity\RdapServer;
|
||||
use App\Entity\Tld;
|
||||
use App\Repository\DomainRepository;
|
||||
use App\Repository\IcannAccreditationRepository;
|
||||
use App\Repository\RdapServerRepository;
|
||||
use App\Repository\TldRepository;
|
||||
@@ -63,8 +62,8 @@ class OfficialDataService
|
||||
|
||||
public const DOMAIN_DOT = '.';
|
||||
|
||||
public function __construct(private HttpClientInterface $client,
|
||||
private readonly DomainRepository $domainRepository,
|
||||
public function __construct(
|
||||
private readonly HttpClientInterface $client,
|
||||
private readonly RdapServerRepository $rdapServerRepository,
|
||||
private readonly TldRepository $tldRepository,
|
||||
private readonly IcannAccreditationRepository $icannAccreditationRepository,
|
||||
@@ -165,12 +164,7 @@ class OfficialDataService
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->tldRepository->createQueryBuilder('t')
|
||||
->update()
|
||||
->set('t.deletedAt', 'COALESCE(t.removalDate, CURRENT_TIMESTAMP())')
|
||||
->where('t.tld != :dot')
|
||||
->setParameter('dot', self::DOMAIN_DOT)
|
||||
->getQuery()->execute();
|
||||
$this->tldRepository->setAllTldAsDeleted();
|
||||
|
||||
$tldEntity = $this->tldRepository->findOneBy(['tld' => $tld]);
|
||||
|
||||
@@ -305,14 +299,4 @@ class OfficialDataService
|
||||
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
public function updateDomainsWhenTldIsDeleted(): void
|
||||
{
|
||||
$this->domainRepository->createQueryBuilder('d')
|
||||
->update()
|
||||
->set('d.deleted', ':deleted')
|
||||
->where('d.tld IN (SELECT t FROM '.Tld::class.' t WHERE t.deletedAt IS NOT NULL)')
|
||||
->setParameter('deleted', true)
|
||||
->getQuery()->execute();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -355,14 +355,7 @@ class RDAPService
|
||||
*/
|
||||
private function updateDomainEvents(Domain $domain, array $rdapData): void
|
||||
{
|
||||
$this->domainEventRepository->createQueryBuilder('de')
|
||||
->update()
|
||||
->set('de.deleted', ':deleted')
|
||||
->where('de.domain = :domain')
|
||||
->setParameter('deleted', true)
|
||||
->setParameter('domain', $domain)
|
||||
->getQuery()
|
||||
->execute();
|
||||
$this->domainEventRepository->setDomainEventAsDeleted($domain);
|
||||
|
||||
if (isset($rdapData['events']) && is_array($rdapData['events'])) {
|
||||
foreach ($rdapData['events'] as $rdapEvent) {
|
||||
@@ -399,16 +392,7 @@ class RDAPService
|
||||
*/
|
||||
private function updateDomainEntities(Domain $domain, array $rdapData): void
|
||||
{
|
||||
$now = new \DateTimeImmutable();
|
||||
|
||||
$this->domainEntityRepository->createQueryBuilder('de')
|
||||
->update()
|
||||
->set('de.deletedAt', ':now')
|
||||
->where('de.domain = :domain')
|
||||
->andWhere('de.deletedAt IS NOT NULL')
|
||||
->setParameter('now', $now)
|
||||
->setParameter('domain', $domain)
|
||||
->getQuery()->execute();
|
||||
$this->domainEntityRepository->setDomainEntityAsDeleted($domain);
|
||||
|
||||
if (!isset($rdapData['entities']) || !is_array($rdapData['entities'])) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user