Refactor Sending::removeSubscribers() to use Doctrine instead of Paris

[MAILPOET-4368]
This commit is contained in:
Rodrigo Primo
2023-07-06 12:09:48 -03:00
committed by Aschepikov
parent 59d4ce3ba2
commit fefaf174cd
4 changed files with 58 additions and 14 deletions

View File

@@ -126,6 +126,19 @@ class ScheduledTaskSubscribersRepository extends Repository {
->execute();
}
public function deleteByScheduledTaskAndSubscriberIds(ScheduledTaskEntity $scheduledTask, array $subscriberIds): void {
$this->entityManager->createQueryBuilder()
->delete(ScheduledTaskSubscriberEntity::class, 'sts')
->where('sts.task = :task')
->andWhere('sts.subscriber IN (:subscriberIds)')
->setParameter('task', $scheduledTask)
->setParameter('subscriberIds', $subscriberIds, Connection::PARAM_INT_ARRAY)
->getQuery()
->execute();
$this->checkCompleted($scheduledTask);
}
public function setSubscribers(ScheduledTaskEntity $task, array $subscriberIds): void {
$this->deleteByScheduledTask($task);