Deprecate \MailPoet\Models\NewsletterLink

[MAILPOET-3816]
This commit is contained in:
Rodrigo Primo
2021-10-27 16:05:35 -03:00
committed by Veljko V
parent 5094176ce9
commit ea3b38bc08
2 changed files with 26 additions and 5 deletions

View File

@@ -5,14 +5,34 @@ namespace MailPoet\Models;
use MailPoet\Entities\NewsletterLinkEntity; use MailPoet\Entities\NewsletterLinkEntity;
/** /**
* @property int $newsletterId * @deprecated This model is deprecated. Use \MailPoet\Cron\Workers\StatsNotifications\NewsletterLinkRepository and
* @property int $queueId * respective Doctrine entities instead. This class can be removed after 2022-04-27.
* @property string $url
* @property string $hash
* @property int|null $clicksCount
*/ */
class NewsletterLink extends Model { class NewsletterLink extends Model {
public static $_table = MP_NEWSLETTER_LINKS_TABLE; // phpcs:ignore PSR2.Classes.PropertyDeclaration public static $_table = MP_NEWSLETTER_LINKS_TABLE; // phpcs:ignore PSR2.Classes.PropertyDeclaration
const UNSUBSCRIBE_LINK_SHORT_CODE = NewsletterLinkEntity::UNSUBSCRIBE_LINK_SHORT_CODE; const UNSUBSCRIBE_LINK_SHORT_CODE = NewsletterLinkEntity::UNSUBSCRIBE_LINK_SHORT_CODE;
const INSTANT_UNSUBSCRIBE_LINK_SHORT_CODE = NewsletterLinkEntity::INSTANT_UNSUBSCRIBE_LINK_SHORT_CODE; const INSTANT_UNSUBSCRIBE_LINK_SHORT_CODE = NewsletterLinkEntity::INSTANT_UNSUBSCRIBE_LINK_SHORT_CODE;
/**
* @deprecated This is here for displaying the deprecation warning for properties.
*/
public function __get($key) {
self::deprecationError('property "' . $key . '"');
return parent::__get($key);
}
/**
* @deprecated This is here for displaying the deprecation warning for static calls.
*/
public static function __callStatic($name, $arguments) {
self::deprecationError($name);
return parent::__callStatic($name, $arguments);
}
private static function deprecationError($methodName) {
trigger_error(
'Calling ' . $methodName . ' is deprecated and will be removed. Use \MailPoet\Cron\Workers\StatsNotifications\NewsletterLinkRepository and respective Doctrine entities instead.',
E_USER_DEPRECATED
);
}
} }

View File

@@ -123,6 +123,7 @@ class WorkerTest extends \MailPoetTest {
]); ]);
$newsletterEntity = $this->newslettersRepository->findOneById($this->newsletter->id); $newsletterEntity = $this->newslettersRepository->findOneById($this->newsletter->id);
$this->assertInstanceOf(NewsletterEntity::class, $newsletterEntity);
$this->newsletterLinkFactory = new NewsletterLinkFactory($newsletterEntity); $this->newsletterLinkFactory = new NewsletterLinkFactory($newsletterEntity);
$link = $this->newsletterLinkFactory $link = $this->newsletterLinkFactory