Add new isSetupComplete API endpoint

[MAILPOET-4042]
This commit is contained in:
Ján Mikláš
2021-12-28 13:01:42 +01:00
committed by Veljko V
parent 805bed12e7
commit fde25f4e67
3 changed files with 23 additions and 3 deletions

View File

@@ -2,6 +2,7 @@
namespace MailPoet\API\MP\v1; namespace MailPoet\API\MP\v1;
use MailPoet\Config\Changelog;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberSegment; use MailPoet\Models\SubscriberSegment;
@@ -21,14 +22,19 @@ class API {
/** @var Subscribers */ /** @var Subscribers */
private $subscribers; private $subscribers;
/** @var Changelog */
private $changelog;
public function __construct( public function __construct(
RequiredCustomFieldValidator $requiredCustomFieldValidator, RequiredCustomFieldValidator $requiredCustomFieldValidator,
CustomFields $customFields, CustomFields $customFields,
Subscribers $subscribers Subscribers $subscribers,
Changelog $changelog
) { ) {
$this->requiredCustomFieldValidator = $requiredCustomFieldValidator; $this->requiredCustomFieldValidator = $requiredCustomFieldValidator;
$this->customFields = $customFields; $this->customFields = $customFields;
$this->subscribers = $subscribers; $this->subscribers = $subscribers;
$this->changelog = $changelog;
} }
public function getSubscriberFields() { public function getSubscriberFields() {
@@ -223,4 +229,14 @@ class API {
} }
return $subscriber->withCustomFields()->withSubscriptions()->asArray(); return $subscriber->withCustomFields()->withSubscriptions()->asArray();
} }
public function isSetupComplete() {
return !(
$this->changelog->shouldShowWelcomeWizard()
|| $this->changelog->shouldShowWooCommerceListImportPage()
|| $this->changelog->shouldShowRevenueTrackingPermissionPage()
|| $this->changelog->isMp2MigrationInProgress()
|| $this->changelog->shouldShowMp2Migration()
);
}
} }

View File

@@ -8,6 +8,7 @@ use MailPoet\API\JSON\ResponseBuilders\SubscribersResponseBuilder;
use MailPoet\API\MP\v1\API; use MailPoet\API\MP\v1\API;
use MailPoet\API\MP\v1\CustomFields; use MailPoet\API\MP\v1\CustomFields;
use MailPoet\API\MP\v1\Subscribers; use MailPoet\API\MP\v1\Subscribers;
use MailPoet\Config\Changelog;
use MailPoet\CustomFields\CustomFieldsRepository; use MailPoet\CustomFields\CustomFieldsRepository;
use MailPoet\Entities\CustomFieldEntity; use MailPoet\Entities\CustomFieldEntity;
use MailPoet\Entities\SegmentEntity; use MailPoet\Entities\SegmentEntity;
@@ -67,7 +68,8 @@ class APITest extends \MailPoetTest {
return new API( return new API(
$this->diContainer->get(RequiredCustomFieldValidator::class), $this->diContainer->get(RequiredCustomFieldValidator::class),
$this->diContainer->get(CustomFields::class), $this->diContainer->get(CustomFields::class),
$subscriberActions $subscriberActions,
$this->diContainer->get(Changelog::class)
); );
} }

View File

@@ -8,6 +8,7 @@ use MailPoet\API\JSON\ResponseBuilders\SubscribersResponseBuilder;
use MailPoet\API\MP\v1\API; use MailPoet\API\MP\v1\API;
use MailPoet\API\MP\v1\CustomFields; use MailPoet\API\MP\v1\CustomFields;
use MailPoet\API\MP\v1\Subscribers; use MailPoet\API\MP\v1\Subscribers;
use MailPoet\Config\Changelog;
use MailPoet\Entities\SegmentEntity; use MailPoet\Entities\SegmentEntity;
use MailPoet\Entities\SubscriberEntity; use MailPoet\Entities\SubscriberEntity;
use MailPoet\Newsletter\Scheduler\WelcomeScheduler; use MailPoet\Newsletter\Scheduler\WelcomeScheduler;
@@ -57,7 +58,8 @@ class SubscribersTest extends \MailPoetTest {
return new API( return new API(
$this->makeEmpty(RequiredCustomFieldValidator::class), $this->makeEmpty(RequiredCustomFieldValidator::class),
$this->diContainer->get(CustomFields::class), $this->diContainer->get(CustomFields::class),
$subscriberActions $subscriberActions,
$this->diContainer->get(Changelog::class)
); );
} }