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,15 +1,28 @@
<?php
<?php declare(strict_types = 1);
namespace MailPoet\Newsletter\Sending;
use MailPoet\Doctrine\Repository;
use MailPoet\Entities\NewsletterEntity;
use MailPoet\Entities\SendingQueueEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoetVendor\Doctrine\ORM\EntityManager;
/**
* @extends Repository<SendingQueueEntity>
*/
class SendingQueuesRepository extends Repository {
/** @var ScheduledTaskSubscribersRepository */
private $scheduledTaskSubscribersRepository;
public function __construct(
EntityManager $entityManager,
ScheduledTaskSubscribersRepository $scheduledTaskSubscribersRepository
) {
parent::__construct($entityManager);
$this->scheduledTaskSubscribersRepository = $scheduledTaskSubscribersRepository;
}
protected function getEntityClassName() {
return SendingQueueEntity::class;
}
@@ -26,4 +39,10 @@ class SendingQueuesRepository extends Repository {
->getQuery()
->getOneOrNullResult();
}
public function isSubscriberProcessed(SendingQueueEntity $queue, SubscriberEntity $subscriber): bool {
$task = $queue->getTask();
if (is_null($task)) return false;
return $this->scheduledTaskSubscribersRepository->isSubscriberProcessed($task, $subscriber);
}
}