Skip to content

Commit 70de1ba

Browse files
committed
Bounces: filter be identified/unidentified
1 parent a15c1c7 commit 70de1ba

2 files changed

Lines changed: 14 additions & 7 deletions

File tree

src/Domain/Messaging/Repository/BounceRepository.php

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use PhpList\Core\Domain\Common\Repository\CursorPaginationTrait;
1212
use PhpList\Core\Domain\Common\Repository\Interfaces\PaginatableRepositoryInterface;
1313
use PhpList\Core\Domain\Messaging\Model\Bounce;
14+
use PhpList\Core\Domain\Messaging\Model\BounceStatus;
1415
use PhpList\Core\Domain\Messaging\Model\Dto\BounceView;
1516
use PhpList\Core\Domain\Messaging\Model\Filter\BounceFilter;
1617
use PhpList\Core\Domain\Messaging\Model\Message;
@@ -54,9 +55,9 @@ public function getCampaignBounceTotals(?int $ownerId = null): array
5455

5556
return array_map(
5657
static fn (array $row): array => [
57-
'messageId' => (int) $row['messageId'],
58+
'message_id' => (int) $row['messageId'],
5859
'subject' => $row['subject'],
59-
'totalBounces' => (int) $row['totalBounces'],
60+
'total_bounces' => (int) $row['totalBounces'],
6061
],
6162
$rows
6263
);
@@ -90,9 +91,15 @@ public function getFilteredAfterId(FilterRequestInterface $filter): PaginatedRes
9091
}
9192

9293
if ($filter->getStatus() !== null) {
93-
$queryBuilder
94-
->andWhere('b.status = :status')
95-
->setParameter('status', $filter->getStatus());
94+
if ($filter->getStatus() === 'identified-bounces') {
95+
$queryBuilder
96+
->andWhere('b.status != :status')
97+
->setParameter('status', BounceStatus::UnidentifiedBounce);
98+
} else {
99+
$queryBuilder
100+
->andWhere('b.status = :status')
101+
->setParameter('status', $filter->getStatus());
102+
}
96103
}
97104

98105
if ($filter->getListId() !== null) {

src/Domain/Messaging/Repository/UserMessageBounceRepository.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ public function getListBounceTotals(int $listId): array
6363

6464
return array_map(
6565
static fn (array $row): array => [
66-
'subscriberId' => (int) $row['subscriberId'],
66+
'subscriber_id' => (int) $row['subscriberId'],
6767
'email' => (string) $row['email'],
6868
'confirmed' => (bool) $row['confirmed'],
6969
'blacklisted' => (bool) $row['blacklisted'],
70-
'totalBounces' => (int) $row['totalBounces'],
70+
'total_bounces' => (int) $row['totalBounces'],
7171
],
7272
$rows
7373
);

0 commit comments

Comments
 (0)