diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9d25838..d266bf0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ "v6.6.0.0-rc4" ] + version: [ "v6.6.0.0", "v6.6.1.2", "v6.6.2.0", "v6.6.3.1", "v6.6.4.0", "trunk" ] runs-on: ubuntu-latest steps: - name: Setup Shopware diff --git a/composer.json b/composer.json index 19539dd..141d5a0 100644 --- a/composer.json +++ b/composer.json @@ -37,6 +37,6 @@ "php-cs-fixer": [ ".ci/vendor/bin/php-cs-fixer fix --diff --config=.ci/.php-cs-fixer.dist.php" ], - "phpstan": "docker run --rm -v $(pwd):/app aragon999/phpstan-shopware:v6.5.7 analyse ." + "phpstan": "docker run --rm -v $(pwd):/app aragon999/phpstan-shopware:v6.6.0 analyse ." } } diff --git a/phpstan.neon b/phpstan.neon index a798cc1..c521d5e 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -3,32 +3,6 @@ parameters: paths: - src ignoreErrors: - - - message: """ - #^Call to method __construct\\(\\) of deprecated class Shopware\\\\Core\\\\Framework\\\\MessageQueue\\\\ScheduledTask\\\\ScheduledTaskHandler\\: - tag\\:v6\\.6\\.0 \\- reason\\:class\\-hierarchy\\-change \\- Won't implement MessageSubscriberInterface anymore, tag all ScheduledTaskHandlers with \\#\\[AsMessageHandler\\] instead$# - """ - count: 1 - path: src/Task/CleanupTaskHandler.php - reportUnmatched: false - - - - message: """ - #^Class Tinect\\\\Redirects\\\\Task\\\\CleanupTaskHandler extends deprecated class Shopware\\\\Core\\\\Framework\\\\MessageQueue\\\\ScheduledTask\\\\ScheduledTaskHandler\\: - tag\\:v6\\.6\\.0 \\- reason\\:class\\-hierarchy\\-change \\- Won't implement MessageSubscriberInterface anymore, tag all ScheduledTaskHandlers with \\#\\[AsMessageHandler\\] instead$# - """ - count: 1 - path: src/Task/CleanupTaskHandler.php - reportUnmatched: false - - - - message: """ - #^Fetching deprecated class constant PARAM_STR_ARRAY of class Doctrine\\\\DBAL\\\\Connection\\: - Use \\{@see ArrayParameterType\\:\\:STRING\\} instead\\.$# - """ - count: 1 - path: src/Task/CleanupTaskHandler.php - reportUnmatched: false - message: '#.* generic class Shopware\\Core\\Framework\\DataAbstractionLayer\\EntityRepository.*not specify its types: TEntityCollection#' diff --git a/src/Message/TinectRedirectUpdateHandler.php b/src/Message/TinectRedirectUpdateHandler.php index 1b82d14..c7ca922 100644 --- a/src/Message/TinectRedirectUpdateHandler.php +++ b/src/Message/TinectRedirectUpdateHandler.php @@ -11,10 +11,10 @@ use Symfony\Component\Messenger\Attribute\AsMessageHandler; #[AsMessageHandler] -class TinectRedirectUpdateHandler +readonly class TinectRedirectUpdateHandler { public function __construct( - private readonly Connection $connection, + private Connection $connection, ) { } diff --git a/src/Message/TinectRedirectUpdateMessage.php b/src/Message/TinectRedirectUpdateMessage.php index e646bd5..c946724 100644 --- a/src/Message/TinectRedirectUpdateMessage.php +++ b/src/Message/TinectRedirectUpdateMessage.php @@ -7,18 +7,18 @@ use Shopware\Core\Framework\MessageQueue\LowPriorityMessageInterface; use Tinect\Redirects\Content\Redirect\RedirectRequestDefinition; -class TinectRedirectUpdateMessage implements LowPriorityMessageInterface +readonly class TinectRedirectUpdateMessage implements LowPriorityMessageInterface { - private readonly \DateTimeImmutable $createdAt; + private \DateTimeImmutable $createdAt; public function __construct( - private readonly string $source, - private readonly ?string $salesChannelDomainId, - private readonly string $ipAddress, - private readonly string $userAgent, - private readonly bool $createRedirect, - private readonly ?string $id, - private readonly ?string $referer, + private string $source, + private ?string $salesChannelDomainId, + private string $ipAddress, + private string $userAgent, + private bool $createRedirect, + private ?string $id, + private ?string $referer, ) { $this->createdAt = new \DateTimeImmutable(); } diff --git a/src/Subscriber/BeforeSendResponseSubscriber.php b/src/Subscriber/BeforeSendResponseSubscriber.php index 27f275a..3d528bd 100644 --- a/src/Subscriber/BeforeSendResponseSubscriber.php +++ b/src/Subscriber/BeforeSendResponseSubscriber.php @@ -32,16 +32,16 @@ use Tinect\Redirects\Content\Redirect\RedirectEntity; use Tinect\Redirects\Message\TinectRedirectUpdateMessage; -class BeforeSendResponseSubscriber implements EventSubscriberInterface +readonly class BeforeSendResponseSubscriber implements EventSubscriberInterface { public function __construct( - private readonly EntityRepository $tinectRedirectsRedirectRepository, - private readonly SeoUrlPlaceholderHandlerInterface $seoUrlPlaceholderHandler, + private EntityRepository $tinectRedirectsRedirectRepository, + private SeoUrlPlaceholderHandlerInterface $seoUrlPlaceholderHandler, #[Autowire(service: SalesChannelContextFactory::class)] - private readonly AbstractSalesChannelContextFactory $salesChannelContextFactory, - private readonly SystemConfigService $systemConfigService, - private readonly MessageBusInterface $messageBus, - private readonly RequestTransformer $requestTransformer + private AbstractSalesChannelContextFactory $salesChannelContextFactory, + private SystemConfigService $systemConfigService, + private MessageBusInterface $messageBus, + private RequestTransformer $requestTransformer ) { } diff --git a/src/Task/CleanupTaskHandler.php b/src/Task/CleanupTaskHandler.php index d064423..445db9f 100644 --- a/src/Task/CleanupTaskHandler.php +++ b/src/Task/CleanupTaskHandler.php @@ -4,7 +4,9 @@ namespace Tinect\Redirects\Task; +use Doctrine\DBAL\ArrayParameterType; use Doctrine\DBAL\Connection; +use Psr\Log\LoggerInterface; use Shopware\Core\Defaults; use Shopware\Core\Framework\DataAbstractionLayer\EntityRepository; use Shopware\Core\Framework\MessageQueue\ScheduledTask\ScheduledTaskHandler; @@ -17,10 +19,11 @@ class CleanupTaskHandler extends ScheduledTaskHandler { public function __construct( EntityRepository $scheduledTaskRepository, + LoggerInterface $logger, private readonly SystemConfigService $configService, - private readonly Connection $connection + private readonly Connection $connection, ) { - parent::__construct($scheduledTaskRepository); + parent::__construct($scheduledTaskRepository, $logger); } public function run(): void @@ -56,7 +59,7 @@ public function run(): void $deleteQuery->where('id IN (:ids)'); foreach (\array_chunk($ids, 1000) as $chunk) { - $deleteQuery->setParameter('ids', $chunk, Connection::PARAM_STR_ARRAY); + $deleteQuery->setParameter('ids', $chunk, ArrayParameterType::STRING); $deleteQuery->executeQuery(); }