twig extension for listing notification on a given entity

This commit is contained in:
2021-12-30 01:02:16 +01:00
parent 1576507f7e
commit 7bc4ad9779
7 changed files with 148 additions and 3 deletions

View File

@@ -133,6 +133,29 @@ final class NotificationRepository implements ObjectRepository
return $query->getQuery()->getResult();
}
/**
* @param string $relatedEntityClass
* @param int $relatedEntityId
* @param User $user
* @return array|Notification[]
*/
public function findNotificationAsAddresseeByRelatedEntityAndUser(string $relatedEntityClass, int $relatedEntityId, User $user): array
{
$qb = $this->repository->createQueryBuilder('n');
$qb
->select('n')
->where($qb->expr()->eq('n.relatedEntityClass', ':relatedEntityClass'))
->andWhere($qb->expr()->eq('n.relatedEntityId', ':relatedEntityId'))
->andWhere($qb->expr()->isMemberOf(':user', 'n.addressees'))
->setParameter('relatedEntityClass', $relatedEntityClass)
->setParameter('relatedEntityId', $relatedEntityId)
->setParameter('user', $user)
;
return $qb->getQuery()->getResult();
}
/**
* @param mixed|null $limit
* @param mixed|null $offset