32 lines
978 B
PHP
32 lines
978 B
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>
|
|
*/
|
|
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);
|
|
}
|
|
}
|