|
11 | 11 | use PhpList\Core\Domain\Common\Repository\CursorPaginationTrait; |
12 | 12 | use PhpList\Core\Domain\Common\Repository\Interfaces\PaginatableRepositoryInterface; |
13 | 13 | use PhpList\Core\Domain\Messaging\Model\Bounce; |
| 14 | +use PhpList\Core\Domain\Messaging\Model\BounceStatus; |
14 | 15 | use PhpList\Core\Domain\Messaging\Model\Dto\BounceView; |
15 | 16 | use PhpList\Core\Domain\Messaging\Model\Filter\BounceFilter; |
16 | 17 | use PhpList\Core\Domain\Messaging\Model\Message; |
@@ -54,9 +55,9 @@ public function getCampaignBounceTotals(?int $ownerId = null): array |
54 | 55 |
|
55 | 56 | return array_map( |
56 | 57 | static fn (array $row): array => [ |
57 | | - 'messageId' => (int) $row['messageId'], |
| 58 | + 'message_id' => (int) $row['messageId'], |
58 | 59 | 'subject' => $row['subject'], |
59 | | - 'totalBounces' => (int) $row['totalBounces'], |
| 60 | + 'total_bounces' => (int) $row['totalBounces'], |
60 | 61 | ], |
61 | 62 | $rows |
62 | 63 | ); |
@@ -90,9 +91,15 @@ public function getFilteredAfterId(FilterRequestInterface $filter): PaginatedRes |
90 | 91 | } |
91 | 92 |
|
92 | 93 | 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 | + } |
96 | 103 | } |
97 | 104 |
|
98 | 105 | if ($filter->getListId() !== null) { |
|
0 commit comments