| 1234567891011121314151617181920212223242526272829303132333435363738 |
- <?php
- declare(strict_types=1);
- namespace App\DataProvider\Utils;
- use ApiPlatform\Core\DataProvider\ItemDataProviderInterface;
- use ApiPlatform\Core\DataProvider\RestrictedDataProviderInterface;
- use App\ApiResources\Utils\Siret;
- use App\Service\Utils\Siret as SiretUtils;
- /**
- * Class SiretDataProvider : custom provider pour assurer l'alimentation des utils Siret
- * @package App\DataProvider\Utils
- */
- final class SiretDataProvider implements ItemDataProviderInterface, RestrictedDataProviderInterface
- {
- private SiretUtils $siretUtils;
- public function __construct(
- SiretUtils $siretUtils
- )
- {
- $this->siretUtils = $siretUtils;
- }
- public function supports(string $resourceClass, string $operationName = null, array $context = []): bool
- {
- return Siret::class === $resourceClass;
- }
- public function getItem(string $resourceClass, $number, string $operationName = null, array $context = []): ?Siret
- {
- $siretResponse = new Siret();
- $siretResponse->setNumber($number);
- $siretResponse->setIsCorrect($this->siretUtils->isSiretIsCorrect($number));
- return $siretResponse;
- }
- }
|