Move ModelValidator::validateNonRoleEmail() to a new Validator class

We want to remove/refactor the whole ModelValidator class as part of the
Doctrine refactor.

This commit moves the method ModelValidator::validateNonRoleEmail() to a
new Validator class as the method is not used by the validator system of
the Paris models. ModelValidator::validateEmail() was also moved as it
is called by ModelValidator::validateNonRoleEmail().

[MAILPOET-4343]
This commit is contained in:
Rodrigo Primo
2023-05-05 16:37:23 -03:00
committed by Aschepikov
parent d760272678
commit 00d021109c
13 changed files with 123 additions and 67 deletions

View File

@ -15,6 +15,7 @@ use MailPoet\Newsletter\Options\NewsletterOptionsRepository;
use MailPoet\Segments\SegmentSaveController;
use MailPoet\Segments\SegmentsRepository;
use MailPoet\Segments\WP;
use MailPoet\Services\Validator;
use MailPoet\Subscribers\ImportExport\Export\Export;
use MailPoet\Subscribers\ImportExport\Import\Import;
use MailPoet\Subscribers\ImportExport\Import\MailChimp;
@ -51,6 +52,9 @@ class ImportExport extends APIEndpoint {
/** @var TagRepository */
private $tagRepository;
/** @var Validator */
private $validator;
/** @var CronWorkerScheduler */
private $cronWorkerScheduler;
@ -68,7 +72,8 @@ class ImportExport extends APIEndpoint {
SegmentsResponseBuilder $segmentsResponseBuilder,
CronWorkerScheduler $cronWorkerScheduler,
SubscribersRepository $subscribersRepository,
TagRepository $tagRepository
TagRepository $tagRepository,
Validator $validator
) {
$this->wpSegment = $wpSegment;
$this->customFieldsRepository = $customFieldsRepository;
@ -80,6 +85,7 @@ class ImportExport extends APIEndpoint {
$this->cronWorkerScheduler = $cronWorkerScheduler;
$this->segmentsResponseBuilder = $segmentsResponseBuilder;
$this->tagRepository = $tagRepository;
$this->validator = $validator;
}
public function getMailChimpLists($data) {
@ -133,6 +139,7 @@ class ImportExport extends APIEndpoint {
$this->newsletterOptionsRepository,
$this->subscriberRepository,
$this->tagRepository,
$this->validator,
json_decode($data, true)
);
$process = $import->process();