feat : restructuration des dossiers pour implementer plus facilement la suite des WS
All checks were successful
Auto Tag Develop / tag (push) Successful in 5s
Build Release Artefact / build (push) Successful in 36s

This commit is contained in:
2026-01-23 16:19:50 +01:00
parent b279f1ac47
commit 7e0c084ebe
36 changed files with 2633 additions and 226 deletions

View File

@@ -0,0 +1,14 @@
<?php
declare(strict_types=1);
namespace Malio\EdnotifBundle\Shared\Dto;
final readonly class AnomalyDto
{
public function __construct(
public ?string $code,
public ?int $severity,
public ?string $message,
) {}
}

View File

@@ -0,0 +1,13 @@
<?php
declare(strict_types=1);
namespace Malio\EdnotifBundle\Shared\Dto;
final readonly class StandardResponseDto
{
public function __construct(
public bool $result,
public ?AnomalyDto $anomaly,
) {}
}

View File

@@ -0,0 +1,18 @@
<?php
declare(strict_types=1);
namespace Malio\EdnotifBundle\Shared\Exception;
use RuntimeException;
final class EdnotifException extends RuntimeException
{
public function __construct(
public readonly string $codeAnomalie,
public readonly int $severite,
string $message
) {
parent::__construct($message);
}
}

View File

@@ -0,0 +1,26 @@
<?php
declare(strict_types=1);
namespace Malio\EdnotifBundle\Shared\Soap;
use SoapClient;
final class SoapClientFactory
{
/**
* @param array<string,mixed> $soapOptions
*/
public function __construct(private array $soapOptions = []) {}
public function create(string $wsdl): SoapClient
{
$options = $this->soapOptions;
// Petites valeurs sûres par défaut
$options['encoding'] ??= 'UTF-8';
$options['exceptions'] ??= true;
return new SoapClient($wsdl, $options);
}
}