Update templates API to save template images as files

[MAILPOET-2686]
This commit is contained in:
Rostislav Wolny
2021-10-15 14:08:47 +02:00
committed by Veljko V
parent 7fc55cf41c
commit 797f1d76ae

View File

@ -8,6 +8,7 @@ use MailPoet\API\JSON\ResponseBuilders\NewsletterTemplatesResponseBuilder;
use MailPoet\Config\AccessControl;
use MailPoet\Newsletter\ApiDataSanitizer;
use MailPoet\NewsletterTemplates\NewsletterTemplatesRepository;
use MailPoet\NewsletterTemplates\ThumbnailSaver;
use MailPoet\WP\Functions as WPFunctions;
class NewsletterTemplates extends APIEndpoint {
@ -25,16 +26,21 @@ class NewsletterTemplates extends APIEndpoint {
/** @var NewsletterTemplatesResponseBuilder */
private $newsletterTemplatesResponseBuilder;
/** @var ThumbnailSaver */
private $thumbnailImageSaver;
/** @var ApiDataSanitizer */
private $apiDataSanitizer;
public function __construct(
NewsletterTemplatesRepository $newsletterTemplatesRepository,
NewsletterTemplatesResponseBuilder $newsletterTemplatesResponseBuilder,
ThumbnailSaver $thumbnailImageSaver,
ApiDataSanitizer $apiDataSanitizer
) {
$this->newsletterTemplatesRepository = $newsletterTemplatesRepository;
$this->newsletterTemplatesResponseBuilder = $newsletterTemplatesResponseBuilder;
$this->thumbnailImageSaver = $thumbnailImageSaver;
$this->apiDataSanitizer = $apiDataSanitizer;
}
@ -67,6 +73,7 @@ class NewsletterTemplates extends APIEndpoint {
}
try {
$template = $this->newsletterTemplatesRepository->createOrUpdate($data);
$template = $this->thumbnailImageSaver->ensureTemplateThumbnailFile($template);
if (!empty($data['categories']) && $data['categories'] === NewsletterTemplatesRepository::RECENTLY_SENT_CATEGORIES) {
$this->newsletterTemplatesRepository->cleanRecentlySent();
}