Create a doctrine version for isSubscriberProcessed

[MAILPOET-3267]
This commit is contained in:
Pavel Dohnal
2021-05-25 14:43:28 +02:00
committed by Veljko V
parent 0e83fb1dbd
commit 9e44ee74a6
3 changed files with 138 additions and 2 deletions

View File

@ -1,9 +1,11 @@
<?php
<?php declare(strict_types = 1);
namespace MailPoet\Newsletter\Sending;
use MailPoet\Doctrine\Repository;
use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Entities\ScheduledTaskSubscriberEntity;
use MailPoet\Entities\SubscriberEntity;
/**
* @extends Repository<ScheduledTaskSubscriberEntity>
@ -12,4 +14,18 @@ class ScheduledTaskSubscribersRepository extends Repository {
protected function getEntityClassName() {
return ScheduledTaskSubscriberEntity::class;
}
public function isSubscriberProcessed(ScheduledTaskEntity $task, SubscriberEntity $subscriber): bool {
$scheduledTaskSubscriber = $this
->doctrineRepository
->createQueryBuilder('sts')
->andWhere('sts.processed = 1')
->andWhere('sts.task = :task')
->andWhere('sts.subscriber = :subscriber')
->setParameter('subscriber', $subscriber)
->setParameter('task', $task)
->getQuery()
->getOneOrNullResult();
return !empty($scheduledTaskSubscriber);
}
}