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\Newsletter\Statistics\NewsletterStatistics;
|
||||
use MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository;
|
||||
use MailPoet\Newsletter\Url as NewsletterUrl;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
use function MailPoetVendor\array_column;
|
||||
@ -120,6 +121,16 @@ class NewslettersResponseBuilder {
|
||||
'statistics' => ($statistics && $newsletter->getType() !== NewsletterEntity::TYPE_NOTIFICATION)
|
||||
? $statistics->asArray()
|
||||
: 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) {
|
||||
|
@ -515,19 +515,6 @@ class Newsletters extends APIEndpoint {
|
||||
|
||||
$data = [];
|
||||
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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user