| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- declare(strict_types=1);
- namespace App\State\Provider\Dolibarr;
- use ApiPlatform\Metadata\GetCollection;
- use ApiPlatform\Metadata\Operation;
- use ApiPlatform\State\ProviderInterface;
- use App\ApiResources\Dolibarr\DolibarrAccount;
- use Symfony\Component\HttpFoundation\Response;
- use App\Service\ApiResourceBuilder\Dolibarr\DolibarrAccountBuilder;
- use RuntimeException;
- /**
- * Custom provider pour les DolibarrAccounts récupérés via l'api dolibarr
- * @package App\DataProvider\Utils
- */
- final class DolibarrAccountProvider implements ProviderInterface
- {
- public function __construct(
- private DolibarrAccountBuilder $dolibarrAccountCreator,
- )
- {}
- /**
- * @param Operation $operation
- * @param mixed[] $uriVariables
- * @param mixed[] $context
- * @return DolibarrAccount|null
- */
- public function provide(Operation $operation, array $uriVariables = [], array $context = []): ?DolibarrAccount
- {
- if($operation instanceof GetCollection) {
- throw new RuntimeException('not supported', Response::HTTP_METHOD_NOT_ALLOWED);
- }
- return $this->dolibarrAccountCreator->getDolibarrAccount($uriVariables['organizationId']);
- }
- }
|