Update templates API to save template images as files
[MAILPOET-2686]
This commit is contained in:
committed by
Veljko V
parent
7fc55cf41c
commit
797f1d76ae
@ -8,6 +8,7 @@ use MailPoet\API\JSON\ResponseBuilders\NewsletterTemplatesResponseBuilder;
|
|||||||
use MailPoet\Config\AccessControl;
|
use MailPoet\Config\AccessControl;
|
||||||
use MailPoet\Newsletter\ApiDataSanitizer;
|
use MailPoet\Newsletter\ApiDataSanitizer;
|
||||||
use MailPoet\NewsletterTemplates\NewsletterTemplatesRepository;
|
use MailPoet\NewsletterTemplates\NewsletterTemplatesRepository;
|
||||||
|
use MailPoet\NewsletterTemplates\ThumbnailSaver;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
class NewsletterTemplates extends APIEndpoint {
|
class NewsletterTemplates extends APIEndpoint {
|
||||||
@ -25,16 +26,21 @@ class NewsletterTemplates extends APIEndpoint {
|
|||||||
/** @var NewsletterTemplatesResponseBuilder */
|
/** @var NewsletterTemplatesResponseBuilder */
|
||||||
private $newsletterTemplatesResponseBuilder;
|
private $newsletterTemplatesResponseBuilder;
|
||||||
|
|
||||||
|
/** @var ThumbnailSaver */
|
||||||
|
private $thumbnailImageSaver;
|
||||||
|
|
||||||
/** @var ApiDataSanitizer */
|
/** @var ApiDataSanitizer */
|
||||||
private $apiDataSanitizer;
|
private $apiDataSanitizer;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
NewsletterTemplatesRepository $newsletterTemplatesRepository,
|
NewsletterTemplatesRepository $newsletterTemplatesRepository,
|
||||||
NewsletterTemplatesResponseBuilder $newsletterTemplatesResponseBuilder,
|
NewsletterTemplatesResponseBuilder $newsletterTemplatesResponseBuilder,
|
||||||
|
ThumbnailSaver $thumbnailImageSaver,
|
||||||
ApiDataSanitizer $apiDataSanitizer
|
ApiDataSanitizer $apiDataSanitizer
|
||||||
) {
|
) {
|
||||||
$this->newsletterTemplatesRepository = $newsletterTemplatesRepository;
|
$this->newsletterTemplatesRepository = $newsletterTemplatesRepository;
|
||||||
$this->newsletterTemplatesResponseBuilder = $newsletterTemplatesResponseBuilder;
|
$this->newsletterTemplatesResponseBuilder = $newsletterTemplatesResponseBuilder;
|
||||||
|
$this->thumbnailImageSaver = $thumbnailImageSaver;
|
||||||
$this->apiDataSanitizer = $apiDataSanitizer;
|
$this->apiDataSanitizer = $apiDataSanitizer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,6 +73,7 @@ class NewsletterTemplates extends APIEndpoint {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
$template = $this->newsletterTemplatesRepository->createOrUpdate($data);
|
$template = $this->newsletterTemplatesRepository->createOrUpdate($data);
|
||||||
|
$template = $this->thumbnailImageSaver->ensureTemplateThumbnailFile($template);
|
||||||
if (!empty($data['categories']) && $data['categories'] === NewsletterTemplatesRepository::RECENTLY_SENT_CATEGORIES) {
|
if (!empty($data['categories']) && $data['categories'] === NewsletterTemplatesRepository::RECENTLY_SENT_CATEGORIES) {
|
||||||
$this->newsletterTemplatesRepository->cleanRecentlySent();
|
$this->newsletterTemplatesRepository->cleanRecentlySent();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user