mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-24 05:05:39 +00:00
Merge pull request #88 from vinceh121/bugfix/domain-events-refresh
fix: domain event refresh working one every two times
This commit is contained in:
commit
1ae35231fe
@ -115,10 +115,10 @@ class WatchListController extends AbstractController
|
|||||||
->where('de.domain = :domain')
|
->where('de.domain = :domain')
|
||||||
->andWhere('de.action = \'expiration\'')
|
->andWhere('de.action = \'expiration\'')
|
||||||
->andWhere('de.deleted = FALSE')
|
->andWhere('de.deleted = FALSE')
|
||||||
->setParameter('domain', $domain)
|
|
||||||
->orderBy('de.date', 'DESC')
|
->orderBy('de.date', 'DESC')
|
||||||
->setMaxResults(1)
|
->setMaxResults(1)
|
||||||
->getQuery()
|
->getQuery()
|
||||||
|
->setParameter('domain', $domain)
|
||||||
->getOneOrNullResult();
|
->getOneOrNullResult();
|
||||||
|
|
||||||
if (!$domain->getDeleted() && null !== $exp && !in_array($domain, $domains)) {
|
if (!$domain->getDeleted() && null !== $exp && !in_array($domain, $domains)) {
|
||||||
|
|||||||
@ -21,8 +21,8 @@ class DomainRepository extends ServiceEntityRepository
|
|||||||
return $this->createQueryBuilder('d')
|
return $this->createQueryBuilder('d')
|
||||||
->addSelect('events')
|
->addSelect('events')
|
||||||
->leftJoin('d.events', 'events')
|
->leftJoin('d.events', 'events')
|
||||||
->where('d.tld = :tld')
|
->where('d.tld = :dot')
|
||||||
->setParameter('tld', $tld)
|
->setParameter('dot', $tld)
|
||||||
->getQuery()
|
->getQuery()
|
||||||
->getResult();
|
->getResult();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -168,8 +168,8 @@ class OfficialDataService
|
|||||||
$this->tldRepository->createQueryBuilder('t')
|
$this->tldRepository->createQueryBuilder('t')
|
||||||
->update()
|
->update()
|
||||||
->set('t.deletedAt', 'COALESCE(t.removalDate, CURRENT_TIMESTAMP())')
|
->set('t.deletedAt', 'COALESCE(t.removalDate, CURRENT_TIMESTAMP())')
|
||||||
->where('t.tld != :tld')
|
->where('t.tld != :dot')
|
||||||
->setParameter('tld', self::DOMAIN_DOT)
|
->setParameter('dot', self::DOMAIN_DOT)
|
||||||
->getQuery()->execute();
|
->getQuery()->execute();
|
||||||
|
|
||||||
$tldEntity = $this->tldRepository->findOneBy(['tld' => $tld]);
|
$tldEntity = $this->tldRepository->findOneBy(['tld' => $tld]);
|
||||||
@ -181,6 +181,8 @@ class OfficialDataService
|
|||||||
$this->logger->notice('New TLD detected according to IANA', [
|
$this->logger->notice('New TLD detected according to IANA', [
|
||||||
'tld' => $tld,
|
'tld' => $tld,
|
||||||
]);
|
]);
|
||||||
|
} else {
|
||||||
|
$this->em->refresh($tldEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
$type = $this->getTldType($tld);
|
$type = $this->getTldType($tld);
|
||||||
|
|||||||
@ -378,6 +378,10 @@ class RDAPService
|
|||||||
|
|
||||||
if (null === $event) {
|
if (null === $event) {
|
||||||
$event = new DomainEvent();
|
$event = new DomainEvent();
|
||||||
|
} else {
|
||||||
|
// at this point Doctrine doesn't know that the events are
|
||||||
|
// deleted in the database, so refresh in order to make the diff work
|
||||||
|
$this->em->refresh($event);
|
||||||
}
|
}
|
||||||
|
|
||||||
$domain->addEvent($event
|
$domain->addEvent($event
|
||||||
@ -421,6 +425,8 @@ class RDAPService
|
|||||||
|
|
||||||
if (null === $domainEntity) {
|
if (null === $domainEntity) {
|
||||||
$domainEntity = new DomainEntity();
|
$domainEntity = new DomainEntity();
|
||||||
|
} else {
|
||||||
|
$this->em->refresh($domainEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
$domain->addDomainEntity($domainEntity
|
$domain->addDomainEntity($domainEntity
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user