Refactor newsletter API bulk actions to use repository methods
[MAILPOET-2898]
This commit is contained in:
committed by
Veljko V
parent
0a57199997
commit
2b47684490
@ -6,6 +6,8 @@ use MailPoet\Util\Helpers;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use MailPoetVendor\Doctrine\ORM\QueryBuilder;
|
||||
|
||||
use function MailPoetVendor\array_column;
|
||||
|
||||
abstract class ListingRepository {
|
||||
/** @var QueryBuilder */
|
||||
protected $queryBuilder;
|
||||
@ -34,6 +36,16 @@ abstract class ListingRepository {
|
||||
return (int)$queryBuilder->getQuery()->getSingleScalarResult();
|
||||
}
|
||||
|
||||
public function getIds(ListingDefinition $definition): array {
|
||||
$queryBuilder = clone $this->queryBuilder;
|
||||
$this->applyFromClause($queryBuilder);
|
||||
$this->applyConstraints($queryBuilder, $definition);
|
||||
$alias = $queryBuilder->getRootAliases()[0];
|
||||
$queryBuilder->select("$alias.id");
|
||||
$ids = $queryBuilder->getQuery()->getScalarResult();
|
||||
return array_column($ids, 'id');
|
||||
}
|
||||
|
||||
public function getGroups(ListingDefinition $definition): array {
|
||||
return [];
|
||||
}
|
||||
|
Reference in New Issue
Block a user