mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-17 17:55:42 +00:00
Merge pull request #65 from vinceh121/bugfix/tld
fix: tld fetch and stats display
This commit is contained in:
commit
66dfb19dfc
@ -111,7 +111,7 @@ export default function StatisticsPage() {
|
||||
<Card bordered={false}>
|
||||
<Statistic
|
||||
loading={stats === undefined}
|
||||
title={`.${tld}`}
|
||||
title={tld ? `.${tld}` : t`TLD`}
|
||||
value={domain}
|
||||
valueStyle={{color: 'darkorange'}}
|
||||
/>
|
||||
|
||||
@ -170,18 +170,27 @@ readonly class RDAPService
|
||||
return $domain;
|
||||
}
|
||||
|
||||
private function getTld($domain): ?object
|
||||
private function getTld($domain): Tld
|
||||
{
|
||||
if (!str_contains($domain, '.')) {
|
||||
return $this->tldRepository->findOneBy(['tld' => '']);
|
||||
$tldEntity = $this->tldRepository->findOneBy(['tld' => '']);
|
||||
|
||||
if (null == $tldEntity) {
|
||||
throw new NotFoundHttpException('The requested TLD is not yet supported, please try again with another one');
|
||||
}
|
||||
|
||||
return $tldEntity;
|
||||
}
|
||||
|
||||
$lastDotPosition = strrpos($domain, '.');
|
||||
|
||||
if (false === $lastDotPosition) {
|
||||
throw new BadRequestException('Domain must contain at least one dot');
|
||||
}
|
||||
|
||||
$tld = strtolower(idn_to_ascii(substr($domain, $lastDotPosition + 1)));
|
||||
$tldEntity = $this->tldRepository->findOneBy(['tld' => $tld]);
|
||||
|
||||
if (null === $tldEntity) {
|
||||
throw new NotFoundHttpException('The requested TLD is not yet supported, please try again with another one');
|
||||
}
|
||||
@ -610,19 +619,20 @@ readonly class RDAPService
|
||||
{
|
||||
foreach ($dnsRoot['services'] as $service) {
|
||||
foreach ($service[0] as $tld) {
|
||||
if ('' === $tld) {
|
||||
if (null === $this->tldRepository->findOneBy(['tld' => $tld])) {
|
||||
$this->em->persist((new Tld())->setTld('.')->setType(TldType::root));
|
||||
if ('' === $tld && null === $this->tldRepository->findOneBy(['tld' => $tld])) {
|
||||
$this->em->persist((new Tld())->setTld('')->setType(TldType::root));
|
||||
$this->em->flush();
|
||||
}
|
||||
}
|
||||
|
||||
$tldReference = $this->em->getReference(Tld::class, $tld);
|
||||
|
||||
foreach ($service[1] as $rdapServerUrl) {
|
||||
$server = $this->rdapServerRepository->findOneBy(['tld' => $tldReference, 'url' => $rdapServerUrl]);
|
||||
|
||||
if (null === $server) {
|
||||
$server = new RdapServer();
|
||||
}
|
||||
|
||||
$server
|
||||
->setTld($tldReference)
|
||||
->setUrl($rdapServerUrl)
|
||||
|
||||
@ -175,6 +175,7 @@ msgid "Domain Finder"
|
||||
msgstr ""
|
||||
|
||||
#: assets/components/Sider.tsx:49
|
||||
#: assets/pages/StatisticsPage.tsx:114
|
||||
#: assets/pages/search/TldPage.tsx:79
|
||||
msgid "TLD"
|
||||
msgstr ""
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user