feat: add iana-accreditations API endpoint

This commit is contained in:
Maël Gangloff
2025-09-12 23:22:15 +02:00
parent ca2f7e15a5
commit 71e23ca83d
4 changed files with 71 additions and 8 deletions

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Api\Extension;
use ApiPlatform\Doctrine\Orm\Extension\QueryCollectionExtensionInterface;
use ApiPlatform\Doctrine\Orm\Util\QueryNameGeneratorInterface;
use ApiPlatform\Metadata\Operation;
use App\Entity\Entity;
use Doctrine\ORM\QueryBuilder;
class NotNullAccreditationIanaExtension implements QueryCollectionExtensionInterface
{
public function applyToCollection(
QueryBuilder $queryBuilder,
QueryNameGeneratorInterface $queryNameGenerator,
string $resourceClass,
?Operation $operation = null,
array $context = [],
): void {
if (Entity::class !== $resourceClass) {
return;
}
if ($operation && 'iana_accreditations_collection' === $operation->getName()) {
$rootAlias = $queryBuilder->getRootAliases()[0];
$queryBuilder->andWhere(sprintf('%s.ianaAccreditation.status IS NOT NULL', $rootAlias));
}
}
}