mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-17 17:55:42 +00:00
feat: add DTO for EPP client
This commit is contained in:
parent
81147d2069
commit
42cbf5e416
17
src/Dto/Connector/EppClientProviderAuthDto.php
Normal file
17
src/Dto/Connector/EppClientProviderAuthDto.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Dto\Connector;
|
||||||
|
|
||||||
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
|
||||||
|
final class EppClientProviderAuthDto
|
||||||
|
{
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $username;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $password;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public EppClientProviderAuthSSLDto $ssl;
|
||||||
|
}
|
||||||
20
src/Dto/Connector/EppClientProviderAuthSSLDto.php
Normal file
20
src/Dto/Connector/EppClientProviderAuthSSLDto.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Dto\Connector;
|
||||||
|
|
||||||
|
final class EppClientProviderAuthSSLDto
|
||||||
|
{
|
||||||
|
public ?string $peer_name = null;
|
||||||
|
|
||||||
|
public ?bool $verify_peer = null;
|
||||||
|
|
||||||
|
public ?bool $verify_peer_name = null;
|
||||||
|
|
||||||
|
public ?bool $allow_self_signed = null;
|
||||||
|
|
||||||
|
public ?int $verify_depth = null;
|
||||||
|
|
||||||
|
public ?string $passphrase = null;
|
||||||
|
|
||||||
|
public ?bool $disable_compression = null;
|
||||||
|
}
|
||||||
23
src/Dto/Connector/EppClientProviderDomainDto.php
Normal file
23
src/Dto/Connector/EppClientProviderDomainDto.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Dto\Connector;
|
||||||
|
|
||||||
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
|
||||||
|
final class EppClientProviderDomainDto
|
||||||
|
{
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public int $period;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $unit;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $registrant;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $password;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public array $contacts;
|
||||||
|
}
|
||||||
40
src/Dto/Connector/EppClientProviderDto.php
Normal file
40
src/Dto/Connector/EppClientProviderDto.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Dto\Connector;
|
||||||
|
|
||||||
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
|
||||||
|
final class EppClientProviderDto extends DefaultProviderDto
|
||||||
|
{
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $version;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $language;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $hostname;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public int $port;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public EppClientProviderAuthDto $auth;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public EppClientProviderDomainDto $domain;
|
||||||
|
|
||||||
|
public array $xPathURI = [];
|
||||||
|
|
||||||
|
public array $extURI = [];
|
||||||
|
|
||||||
|
public array $objURI = [];
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $certificate_pem;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $certificate_key;
|
||||||
|
|
||||||
|
public ?EppClientProviderFilesDto $files;
|
||||||
|
}
|
||||||
14
src/Dto/Connector/EppClientProviderFilesDto.php
Normal file
14
src/Dto/Connector/EppClientProviderFilesDto.php
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Dto\Connector;
|
||||||
|
|
||||||
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
|
||||||
|
final class EppClientProviderFilesDto
|
||||||
|
{
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $pem;
|
||||||
|
|
||||||
|
#[Assert\NotBlank]
|
||||||
|
public string $key;
|
||||||
|
}
|
||||||
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Service\Connector;
|
namespace App\Service\Connector;
|
||||||
|
|
||||||
|
use App\Dto\Connector\EppClientProviderDto;
|
||||||
use App\Entity\Domain;
|
use App\Entity\Domain;
|
||||||
use Metaregistrar\EPP\eppCheckDomainRequest;
|
use Metaregistrar\EPP\eppCheckDomainRequest;
|
||||||
use Metaregistrar\EPP\eppCheckDomainResponse;
|
use Metaregistrar\EPP\eppCheckDomainResponse;
|
||||||
@ -14,26 +15,23 @@ use Metaregistrar\EPP\eppHelloRequest;
|
|||||||
use Psr\Cache\CacheItemInterface;
|
use Psr\Cache\CacheItemInterface;
|
||||||
use Psr\Cache\CacheItemPoolInterface;
|
use Psr\Cache\CacheItemPoolInterface;
|
||||||
use Psr\Cache\InvalidArgumentException;
|
use Psr\Cache\InvalidArgumentException;
|
||||||
|
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
|
||||||
|
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
|
||||||
|
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
||||||
|
|
||||||
class EppClientProvider extends AbstractProvider implements CheckDomainProviderInterface
|
class EppClientProvider extends AbstractProvider implements CheckDomainProviderInterface
|
||||||
{
|
{
|
||||||
public const EPP_CERTIFICATES_PATH = '../var/epp-certificates/';
|
public const EPP_CERTIFICATES_PATH = '../var/epp-certificates/';
|
||||||
|
|
||||||
|
protected string $dtoClass = EppClientProviderDto::class;
|
||||||
private eppConnection $eppClient;
|
private eppConnection $eppClient;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
CacheItemPoolInterface $cacheItemPool,
|
CacheItemPoolInterface $cacheItemPool,
|
||||||
|
DenormalizerInterface&NormalizerInterface $serializer,
|
||||||
|
ValidatorInterface $validator,
|
||||||
) {
|
) {
|
||||||
parent::__construct($cacheItemPool);
|
parent::__construct($cacheItemPool, $serializer, $validator);
|
||||||
}
|
|
||||||
|
|
||||||
protected function verifySpecificAuthData(array $authData): array
|
|
||||||
{
|
|
||||||
// TODO: Create DTO for each authData schema
|
|
||||||
unset($authData['certificate_pem']);
|
|
||||||
unset($authData['certificate_key']);
|
|
||||||
|
|
||||||
return $authData;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function assertAuthentication(): void
|
protected function assertAuthentication(): void
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user