refactor: add DTO class to validate schema

This commit is contained in:
Maël Gangloff
2025-02-22 23:36:43 +01:00
parent 1db47dfa34
commit 5e1c84bb80
12 changed files with 186 additions and 94 deletions

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Dto\Connector;
use Symfony\Component\Validator\Constraints as Assert;
final class AutodnsProviderDto extends DefaultProviderDto
{
#[Assert\NotBlank]
public string $username;
#[Assert\NotBlank]
public string $password;
#[Assert\IsTrue]
public bool $ownerConfirm;
public int $context = 4;
}

View File

@@ -0,0 +1,17 @@
<?php
namespace App\Dto\Connector;
use Symfony\Component\Validator\Constraints as Assert;
class DefaultProviderDto
{
#[Assert\IsTrue]
public bool $ownerLegalAge;
#[Assert\IsTrue]
public bool $acceptConditions;
#[Assert\IsTrue]
public bool $waiveRetractationPeriod;
}

View File

@@ -0,0 +1,13 @@
<?php
namespace App\Dto\Connector;
use Symfony\Component\Validator\Constraints as Assert;
final class GandiProviderDto extends DefaultProviderDto
{
#[Assert\NotBlank]
public string $token;
public ?string $sharingId = null;
}

View File

@@ -0,0 +1,14 @@
<?php
namespace App\Dto\Connector;
use Symfony\Component\Validator\Constraints as Assert;
final class NameComProviderDto extends DefaultProviderDto
{
#[Assert\NotBlank]
public string $username;
#[Assert\NotBlank]
public string $token;
}

View File

@@ -0,0 +1,14 @@
<?php
namespace App\Dto\Connector;
use Symfony\Component\Validator\Constraints as Assert;
final class NamecheapProviderDto extends DefaultProviderDto
{
#[Assert\NotBlank]
public string $ApiUser;
#[Assert\NotBlank]
public string $ApiKey;
}

View File

@@ -0,0 +1,26 @@
<?php
namespace App\Dto\Connector;
use Symfony\Component\Validator\Constraints as Assert;
final class OvhProviderDto extends DefaultProviderDto
{
#[Assert\NotBlank]
public string $appKey;
#[Assert\NotBlank]
public string $appSecret;
#[Assert\NotBlank]
public string $apiEndpoint;
#[Assert\NotBlank]
public string $consumerKey;
#[Assert\Choice(['create-default', 'create-premium'])]
public string $pricingMode;
#[Assert\NotBlank]
public string $ovhSubsidiary;
}