Extract newsletter bulk delete logic to a controller

Repositories shouldn't inject other repositories. Also, this solves circular DI dependency.

[MAILPOET-5845]
This commit is contained in:
Jan Jakes
2024-01-18 17:31:34 +01:00
committed by Aschepikov
parent 82d5621caf
commit d6da2af55b
10 changed files with 511 additions and 402 deletions

View File

@@ -4,6 +4,7 @@ namespace MailPoet\Models;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\NewsletterEntity;
use MailPoet\Newsletter\NewsletterDeleteController;
use MailPoet\Newsletter\NewslettersRepository;
use MailPoet\Newsletter\Options\NewsletterOptionFieldsRepository;
use MailPoet\Settings\SettingsController;
@@ -141,7 +142,7 @@ class Newsletter extends Model {
public function delete() {
trigger_error('Calling Newsletter::delete() is deprecated and will be removed. Use \MailPoet\Newsletter\NewslettersRepository instead.', E_USER_DEPRECATED);
ContainerWrapper::getInstance()->get(NewslettersRepository::class)->bulkDelete([$this->id]);
ContainerWrapper::getInstance()->get(NewsletterDeleteController::class)->bulkDelete([$this->id]);
return null;
}