Remove mailpoet_data use from send email preview feature

MAILPOET-6431
This commit is contained in:
Oluwaseun Olorunsola 2025-01-30 13:54:07 +01:00 committed by Oluwaseun Olorunsola
parent 27b66e9dc9
commit 43990d9e8b
4 changed files with 6 additions and 26 deletions

View File

@ -35,7 +35,7 @@ class EmailEditorPreviewEmail {
}
private function validateData($data) {
if (empty($data['email']) || empty($data['postId']) || empty($data['newsletterId'])) {
if (empty($data['email']) || empty($data['postId'])) {
throw new \InvalidArgumentException(esc_html__('Missing required data', 'mailpoet'));
}
@ -50,9 +50,9 @@ class EmailEditorPreviewEmail {
* @throws \Exception
*/
private function fetchNewsletter($postData): NewsletterEntity {
$newsletter = $this->newslettersRepository->findOneById((int)$postData['newsletterId']);
$newsletter = $this->newslettersRepository->findOneBy(['wpPost' => (int)$postData['postId']]);
if (!$newsletter) {
if (!$newsletter instanceof NewsletterEntity) {
throw new \Exception(esc_html__('This email does not exist.', 'mailpoet'));
}

View File

@ -13,17 +13,11 @@ import {
} from '@wordpress/element';
import { ENTER } from '@wordpress/keycodes';
import { isEmail } from '@wordpress/url';
import { useEntityProp } from '@wordpress/core-data';
/**
* Internal dependencies
*/
import {
MailPoetEmailData,
SendingPreviewStatus,
storeName,
editorCurrentPostType,
} from '../../store';
import { SendingPreviewStatus, storeName } from '../../store';
import { recordEvent, recordEventOnce } from '../../events';
function RawSendPreviewEmail() {
@ -42,17 +36,8 @@ function RawSendPreviewEmail() {
isModalOpened,
} = useSelect( ( select ) => select( storeName ).getPreviewState(), [] );
const [ mailpoetEmailData ] = useEntityProp(
'postType',
editorCurrentPostType,
'mailpoet_data'
) as [ MailPoetEmailData, unknown, unknown ];
const handleSendPreviewEmail = () => {
void requestSendingNewsletterPreview(
mailpoetEmailData.id,
previewToEmail
);
void requestSendingNewsletterPreview( previewToEmail );
};
const closeCallback = () => {

View File

@ -168,10 +168,7 @@ export const setTemplateToPost =
} );
};
export function* requestSendingNewsletterPreview(
newsletterId: number,
email: string
) {
export function* requestSendingNewsletterPreview( email: string ) {
// If preview is already sending do nothing
const previewState = select( storeName ).getPreviewState();
if ( previewState.isSendingPreviewEmail ) {
@ -192,7 +189,6 @@ export function* requestSendingNewsletterPreview(
path: '/mailpoet-email-editor/v1/send_preview_email',
method: 'POST',
data: {
newsletterId,
email,
postId,
},

View File

@ -66,7 +66,6 @@ class Email_Api_Controller {
* $data - Post Data
* format
* [_locale] => user
* [newsletterId] => NEWSLETTER_ID
* [email] => Provided email address
* [postId] => POST_ID
*/