addWhere($queryBuilder, $resourceClass, $operationName); } public function applyToItem(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, array $identifiers, string $operationName = null, array $context = []): void { $this->addWhere($queryBuilder, $resourceClass, $operationName); } /** * @todo : A la suite de la migration, il faut supprimer le where avec le discr. */ private function addWhere(QueryBuilder $queryBuilder, string $resourceClass, string $operationName): void { if (NotificationUser::class !== $resourceClass) { return; } /** @var Access $currentUser */ $currentUser = $this->security->getUser(); $rootAlias = $queryBuilder->getRootAliases()[0]; $queryBuilder ->andWhere(sprintf('%s.access = :current_access', $rootAlias)) ->setParameter('current_access', $currentUser) ; } }