diff --git a/mailpoet/lib/API/MP/v1/API.php b/mailpoet/lib/API/MP/v1/API.php index 6b37388e16..cbca71f4bc 100644 --- a/mailpoet/lib/API/MP/v1/API.php +++ b/mailpoet/lib/API/MP/v1/API.php @@ -3,7 +3,6 @@ namespace MailPoet\API\MP\v1; use MailPoet\Config\Changelog; -use MailPoet\Models\Subscriber; /** * API used by other plugins @@ -82,12 +81,7 @@ class API { } public function getSubscriber($subscriberEmail) { - $subscriber = Subscriber::findOne($subscriberEmail); - // throw exception when subscriber does not exist - if (!$subscriber) { - throw new APIException(__('This subscriber does not exist.', 'mailpoet'), APIException::SUBSCRIBER_NOT_EXISTS); - } - return $subscriber->withCustomFields()->withSubscriptions()->asArray(); + return $this->subscribers->getSubscriber($subscriberEmail); } public function isSetupComplete() { diff --git a/mailpoet/lib/API/MP/v1/Subscribers.php b/mailpoet/lib/API/MP/v1/Subscribers.php index d4a5dbc40c..ca3daec735 100644 --- a/mailpoet/lib/API/MP/v1/Subscribers.php +++ b/mailpoet/lib/API/MP/v1/Subscribers.php @@ -88,6 +88,11 @@ class Subscribers { $this->wp = $wp; } + public function getSubscriber($subscriberIdOrEmail): array { + $subscriber = $this->findSubscriber($subscriberIdOrEmail); + return $this->subscribersResponseBuilder->build($subscriber); + } + public function addSubscriber(array $data, array $listIds = [], array $options = []): array { $sendConfirmationEmail = !(isset($options['send_confirmation_email']) && $options['send_confirmation_email'] === false); $scheduleWelcomeEmail = !(isset($options['schedule_welcome_email']) && $options['schedule_welcome_email'] === false);