Lines 87.50% 7 / 8
Methods 50.00% 1 / 2
Classes 0.00% 0 / 1
Name Lines Methods CRAP
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
 applyToCollection 85.71% 6 / 7 0.00% 0 / 1 2.01
20final readonly class AgentStatOwnerExtension implements QueryCollectionExtensionInterface
21{
22    public function __construct(private Security $security)
23    {
24    }
25
26    public function applyToCollection(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, ?Operation $operation = null, array $context = []): void
27    {
28        if (!\in_array($resourceClass, [AgentStat::class, TimelineEvent::class, DoneBanner::class], true)) {
29            return;
30        }
31
32        $rootAlias = $queryBuilder->getRootAliases()[0];
33        $parameter = $queryNameGenerator->generateParameterName('owner');
34
35        $queryBuilder
36            ->andWhere(\sprintf('%s.owner = :%s', $rootAlias, $parameter))
37            ->setParameter($parameter, $this->security->getUser());
38    }
39}