Deny deleting subscribers who are WP user
[MAILPOET-3138]
This commit is contained in:
@ -460,8 +460,8 @@ class Subscribers extends APIEndpoint {
|
||||
public function delete($data = []) {
|
||||
$subscriber = $this->getSubscriber($data);
|
||||
if ($subscriber instanceof SubscriberEntity) {
|
||||
$this->subscribersRepository->bulkDelete([$subscriber->getId()]);
|
||||
return $this->successResponse(null, ['count' => 1]);
|
||||
$count = $this->subscribersRepository->bulkDelete([$subscriber->getId()]);
|
||||
return $this->successResponse(null, ['count' => $count]);
|
||||
} else {
|
||||
return $this->errorResponse([
|
||||
APIError::NOT_FOUND => WPFunctions::get()->__('This subscriber does not exist.', 'mailpoet'),
|
||||
|
@ -100,7 +100,8 @@ class SubscribersRepository extends Repository {
|
||||
return 0;
|
||||
}
|
||||
|
||||
$this->entityManager->transactional(function (EntityManager $entityManager) use ($ids) {
|
||||
$count = 0;
|
||||
$this->entityManager->transactional(function (EntityManager $entityManager) use ($ids, &$count) {
|
||||
// Delete subscriber segments
|
||||
$this->bulkRemoveFromAllSegments($ids);
|
||||
|
||||
@ -112,13 +113,14 @@ class SubscribersRepository extends Repository {
|
||||
", ['ids' => $ids], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
|
||||
$queryBuilder = $entityManager->createQueryBuilder();
|
||||
$queryBuilder->delete(SubscriberEntity::class, 's')
|
||||
$count = $queryBuilder->delete(SubscriberEntity::class, 's')
|
||||
->where('s.id IN (:ids)')
|
||||
->andWhere('s.wpUserId IS NULL')
|
||||
->setParameter('ids', $ids)
|
||||
->getQuery()->execute();
|
||||
});
|
||||
|
||||
return count($ids);
|
||||
return $count;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user