Move view-in-browser URL for listing to response builder
[MAILPOET-2646]
This commit is contained in:
@ -8,6 +8,7 @@ use MailPoet\Entities\SendingQueueEntity;
|
|||||||
use MailPoet\Models\SendingQueue;
|
use MailPoet\Models\SendingQueue;
|
||||||
use MailPoet\Newsletter\Statistics\NewsletterStatistics;
|
use MailPoet\Newsletter\Statistics\NewsletterStatistics;
|
||||||
use MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository;
|
use MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository;
|
||||||
|
use MailPoet\Newsletter\Url as NewsletterUrl;
|
||||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||||
|
|
||||||
use function MailPoetVendor\array_column;
|
use function MailPoetVendor\array_column;
|
||||||
@ -120,6 +121,16 @@ class NewslettersResponseBuilder {
|
|||||||
'statistics' => ($statistics && $newsletter->getType() !== NewsletterEntity::TYPE_NOTIFICATION)
|
'statistics' => ($statistics && $newsletter->getType() !== NewsletterEntity::TYPE_NOTIFICATION)
|
||||||
? $statistics->asArray()
|
? $statistics->asArray()
|
||||||
: false,
|
: false,
|
||||||
|
'preview_url' => NewsletterUrl::getViewInBrowserUrl(
|
||||||
|
(object)[
|
||||||
|
'id' => $newsletter->getId(),
|
||||||
|
'hash' => $newsletter->getHash(),
|
||||||
|
],
|
||||||
|
null,
|
||||||
|
in_array($newsletter->getStatus(), [NewsletterEntity::STATUS_SENT, NewsletterEntity::STATUS_SENDING], true)
|
||||||
|
? $latestQueue
|
||||||
|
: false
|
||||||
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($newsletter->getType() === NewsletterEntity::TYPE_STANDARD) {
|
if ($newsletter->getType() === NewsletterEntity::TYPE_STANDARD) {
|
||||||
|
@ -515,19 +515,6 @@ class Newsletters extends APIEndpoint {
|
|||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
foreach ($this->newslettersResponseBuilder->buildForListing($items) as $newsletterData) {
|
foreach ($this->newslettersResponseBuilder->buildForListing($items) as $newsletterData) {
|
||||||
$queue = false;
|
|
||||||
if (in_array($newsletterData['status'], [Newsletter::STATUS_SENT, Newsletter::STATUS_SENDING], true)) {
|
|
||||||
$queue = SendingTask::getByNewsletterId($newsletterData['id']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$newsletterData['preview_url'] = NewsletterUrl::getViewInBrowserUrl(
|
|
||||||
(object)[
|
|
||||||
'id' => $newsletterData['id'],
|
|
||||||
'hash' => $newsletterData['hash'],
|
|
||||||
],
|
|
||||||
null,
|
|
||||||
$queue
|
|
||||||
);
|
|
||||||
$data[] = $this->wp->applyFilters('mailpoet_api_newsletters_listing_item', $newsletterData);
|
$data[] = $this->wp->applyFilters('mailpoet_api_newsletters_listing_item', $newsletterData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user