From 12b4b98d9ed95bbd9089165a8a8d614697b53d32 Mon Sep 17 00:00:00 2001
From: Vincent Chalamon <407859+vincentchalamon@users.noreply.github.com>
Date: Tue, 14 Jan 2025 17:11:29 +0100
Subject: [PATCH] chore: remove deprecations
---
composer.json | 2 +-
config/services.xml | 2 --
src/DependencyInjection/BCExtensionTrait.php | 17 -----------
src/Exception/MissingFieldHttpException.php | 3 +-
src/Manager/ForgotPasswordManager.php | 20 ++-----------
src/Manager/PasswordTokenManager.php | 28 +++----------------
.../ExceptionEventListenerTest.php | 2 +-
tests/Manager/PasswordTokenManagerTest.php | 5 +---
8 files changed, 11 insertions(+), 68 deletions(-)
diff --git a/composer.json b/composer.json
index 2a878d1..331c650 100644
--- a/composer.json
+++ b/composer.json
@@ -51,7 +51,7 @@
"suggest": {
"doctrine/doctrine-bundle": "To connect with Doctrine in Symfony project",
"doctrine/orm": "To connect with Doctrine",
- "api-platform/core": "To connect with API Platform"
+ "api-platform/openapi": "To connect with API Platform"
},
"autoload": {
"psr-4": {
diff --git a/config/services.xml b/config/services.xml
index e6f23dd..b00f9e8 100644
--- a/config/services.xml
+++ b/config/services.xml
@@ -25,11 +25,9 @@
-
-
diff --git a/src/DependencyInjection/BCExtensionTrait.php b/src/DependencyInjection/BCExtensionTrait.php
index a5ab545..a90971d 100644
--- a/src/DependencyInjection/BCExtensionTrait.php
+++ b/src/DependencyInjection/BCExtensionTrait.php
@@ -37,23 +37,6 @@ public function load(array $configs, ContainerBuilder $container): void
throw new InvalidConfigurationException('Multiple "ForgotPassword" providers have been defined but none of them is set as default. Did you forget to set "default" option?');
}
- // Build parameters
- $container->setParameter('coop_tilleuls_forgot_password.password_token_class', $defaultProvider['password_token']['class']);
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Container parameter "%s" is deprecated since 1.5 and will be removed without replacement in 2.0.', 'coop_tilleuls_forgot_password.password_token_class');
- $container->setParameter('coop_tilleuls_forgot_password.password_token_expires_in', $defaultProvider['password_token']['expires_in']);
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Container parameter "%s" is deprecated since 1.5 and will be removed without replacement in 2.0.', 'coop_tilleuls_forgot_password.password_token_expires_in');
- $container->setParameter('coop_tilleuls_forgot_password.password_token_user_field', $defaultProvider['password_token']['user_field']);
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Container parameter "%s" is deprecated since 1.5 and will be removed without replacement in 2.0.', 'coop_tilleuls_forgot_password.password_token_user_field');
- $container->setParameter('coop_tilleuls_forgot_password.password_token_serialization_groups', $defaultProvider['password_token']['serialization_groups']);
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Container parameter "%s" is deprecated since 1.5 and will be removed without replacement in 2.0.', 'coop_tilleuls_forgot_password.password_token_serialization_groups');
- $container->setParameter('coop_tilleuls_forgot_password.user_class', $defaultProvider['user']['class']);
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Container parameter "%s" is deprecated since 1.5 and will be removed without replacement in 2.0.', 'coop_tilleuls_forgot_password.user_class');
- $authorizedFields = array_unique(array_merge($defaultProvider['user']['authorized_fields'], [$defaultProvider['user']['email_field']]));
- $container->setParameter('coop_tilleuls_forgot_password.user_authorized_fields', $authorizedFields);
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Container parameter "%s" is deprecated since 1.5 and will be removed without replacement in 2.0.', 'coop_tilleuls_forgot_password.user_authorized_fields');
- $container->setParameter('coop_tilleuls_forgot_password.user_password_field', $defaultProvider['user']['password_field']);
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Container parameter "%s" is deprecated since 1.5 and will be removed without replacement in 2.0.', 'coop_tilleuls_forgot_password.user_password_field');
-
$this->buildProvider($config, $container);
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../../config'));
diff --git a/src/Exception/MissingFieldHttpException.php b/src/Exception/MissingFieldHttpException.php
index 8e37987..1c893ce 100644
--- a/src/Exception/MissingFieldHttpException.php
+++ b/src/Exception/MissingFieldHttpException.php
@@ -22,7 +22,6 @@ final class MissingFieldHttpException extends HttpException implements JsonHttpE
{
public function __construct($fieldName)
{
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Status code will change to "%s" in 2.0.', 422);
- parent::__construct(400, \sprintf('Parameter "%s" is missing.', $fieldName));
+ parent::__construct(422, \sprintf('Parameter "%s" is missing.', $fieldName));
}
}
diff --git a/src/Manager/ForgotPasswordManager.php b/src/Manager/ForgotPasswordManager.php
index 96437db..3bd3505 100644
--- a/src/Manager/ForgotPasswordManager.php
+++ b/src/Manager/ForgotPasswordManager.php
@@ -18,8 +18,6 @@
use CoopTilleuls\ForgotPasswordBundle\Event\ForgotPasswordEvent;
use CoopTilleuls\ForgotPasswordBundle\Event\UpdatePasswordEvent;
use CoopTilleuls\ForgotPasswordBundle\Event\UserNotFoundEvent;
-use CoopTilleuls\ForgotPasswordBundle\Provider\Provider;
-use CoopTilleuls\ForgotPasswordBundle\Provider\ProviderChainInterface;
use CoopTilleuls\ForgotPasswordBundle\Provider\ProviderInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface as ContractsEventDispatcherInterface;
@@ -29,18 +27,12 @@
*/
class ForgotPasswordManager
{
- public function __construct(private readonly PasswordTokenManager $passwordTokenManager, private readonly EventDispatcherInterface $dispatcher, private readonly ProviderChainInterface $providerChain)
+ public function __construct(private readonly PasswordTokenManager $passwordTokenManager, private readonly EventDispatcherInterface $dispatcher)
{
}
- public function resetPassword($propertyName, $value, ?ProviderInterface $provider = null): void
+ public function resetPassword($propertyName, $value, ProviderInterface $provider): void
{
- /* @var null|Provider $provider */
- if (!$provider) {
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Parameter "%s" in method "%s" is recommended since 1.5 and will be mandatory in 2.0.', '$provider', __METHOD__);
- $provider = $this->providerChain->get();
- }
-
$context = [$propertyName => $value];
$user = $provider->getManager()->findOneBy($provider->getUserClass(), $context);
@@ -78,14 +70,8 @@ public function resetPassword($propertyName, $value, ?ProviderInterface $provide
*
* @return bool
*/
- public function updatePassword(AbstractPasswordToken $passwordToken, $password, ?ProviderInterface $provider = null)
+ public function updatePassword(AbstractPasswordToken $passwordToken, $password, ProviderInterface $provider)
{
- /* @var null|Provider $provider */
- if (!$provider) {
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Parameter "%s" in method "%s" is recommended since 1.5 and will be mandatory in 2.0.', '$provider', __METHOD__);
- $provider = $this->providerChain->get();
- }
-
// Update user password
if ($this->dispatcher instanceof ContractsEventDispatcherInterface) {
$this->dispatcher->dispatch(new UpdatePasswordEvent($passwordToken, $password));
diff --git a/src/Manager/PasswordTokenManager.php b/src/Manager/PasswordTokenManager.php
index 258c3ff..6f045e1 100644
--- a/src/Manager/PasswordTokenManager.php
+++ b/src/Manager/PasswordTokenManager.php
@@ -14,8 +14,6 @@
namespace CoopTilleuls\ForgotPasswordBundle\Manager;
use CoopTilleuls\ForgotPasswordBundle\Entity\AbstractPasswordToken;
-use CoopTilleuls\ForgotPasswordBundle\Provider\Provider;
-use CoopTilleuls\ForgotPasswordBundle\Provider\ProviderChainInterface;
use CoopTilleuls\ForgotPasswordBundle\Provider\ProviderInterface;
use CoopTilleuls\ForgotPasswordBundle\TokenGenerator\TokenGeneratorInterface;
@@ -24,21 +22,15 @@
*/
class PasswordTokenManager
{
- public function __construct(private readonly ProviderChainInterface $providerChain, private readonly TokenGeneratorInterface $tokenGenerator)
+ public function __construct(private readonly TokenGeneratorInterface $tokenGenerator)
{
}
/**
* @return AbstractPasswordToken
*/
- public function createPasswordToken($user, ?\DateTime $expiresAt = null, ?ProviderInterface $provider = null)
+ public function createPasswordToken($user, ?\DateTime $expiresAt = null, ProviderInterface $provider)
{
- /* @var Provider $provider */
- if (!$provider) {
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Parameter "%s" in method "%s" is recommended since 1.5 and will be mandatory in 2.0.', '$provider', __METHOD__);
- $provider = $this->providerChain->get();
- }
-
if (!$expiresAt) {
$expiresAt = new \DateTime($provider->getPasswordTokenExpiredIn());
$expiresAt->setTime((int) $expiresAt->format('H'), (int) $expiresAt->format('i'), (int) $expiresAt->format('s'), 0);
@@ -61,28 +53,16 @@ public function createPasswordToken($user, ?\DateTime $expiresAt = null, ?Provid
*
* @return AbstractPasswordToken
*/
- public function findOneByToken($token, ?ProviderInterface $provider = null)
+ public function findOneByToken($token, ProviderInterface $provider)
{
- /* @var null|Provider $provider */
- if (!$provider) {
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Parameter "%s" in method "%s" is recommended since 1.5 and will be mandatory in 2.0.', '$provider', __METHOD__);
- $provider = $this->providerChain->get();
- }
-
return $provider->getManager()->findOneBy($provider->getPasswordTokenClass(), ['token' => $token]);
}
/**
* @return AbstractPasswordToken
*/
- public function findOneByUser($user, ?ProviderInterface $provider = null)
+ public function findOneByUser($user, ProviderInterface $provider)
{
- /* @var null|Provider $provider */
- if (!$provider) {
- trigger_deprecation('tilleuls/forgot-password-bundle', '1.5', 'Parameter "%s" in method "%s" is recommended since 1.5 and will be mandatory in 2.0.', '$provider', __METHOD__);
- $provider = $this->providerChain->get();
- }
-
return $provider->getManager()->findOneBy($provider->getPasswordTokenClass(), [$provider->getPasswordTokenUserField() => $user]);
}
}
diff --git a/tests/EventListener/ExceptionEventListenerTest.php b/tests/EventListener/ExceptionEventListenerTest.php
index d9614ea..c845688 100755
--- a/tests/EventListener/ExceptionEventListenerTest.php
+++ b/tests/EventListener/ExceptionEventListenerTest.php
@@ -90,7 +90,7 @@ public function testOnKernelException(): void
['message' => 'Parameter "foo" is missing.'],
15
) === $response->getContent()
- && 400 === $response->getStatusCode()));
+ && 422 === $response->getStatusCode()));
$listener = new ExceptionEventListener();
$listener->onKernelException($eventMock);
diff --git a/tests/Manager/PasswordTokenManagerTest.php b/tests/Manager/PasswordTokenManagerTest.php
index 21de648..e09f58b 100755
--- a/tests/Manager/PasswordTokenManagerTest.php
+++ b/tests/Manager/PasswordTokenManagerTest.php
@@ -16,7 +16,6 @@
use CoopTilleuls\ForgotPasswordBundle\Entity\AbstractPasswordToken;
use CoopTilleuls\ForgotPasswordBundle\Manager\Bridge\ManagerInterface;
use CoopTilleuls\ForgotPasswordBundle\Manager\PasswordTokenManager;
-use CoopTilleuls\ForgotPasswordBundle\Provider\ProviderChainInterface;
use CoopTilleuls\ForgotPasswordBundle\Provider\ProviderInterface;
use CoopTilleuls\ForgotPasswordBundle\TokenGenerator\TokenGeneratorInterface;
use PHPUnit\Framework\TestCase;
@@ -34,7 +33,6 @@ final class PasswordTokenManagerTest extends TestCase
private $managerMock;
private $userMock;
private $tokenMock;
- private $providerChainMock;
private $providerMock;
private $tokenGeneratorMock;
@@ -43,11 +41,10 @@ protected function setUp(): void
$this->managerMock = $this->createMock(ManagerInterface::class);
$this->userMock = $this->createMock(UserInterface::class);
$this->tokenMock = $this->createMock(AbstractPasswordToken::class);
- $this->providerChainMock = $this->createMock(ProviderChainInterface::class);
$this->providerMock = $this->createMock(ProviderInterface::class);
$this->tokenGeneratorMock = $this->createMock(TokenGeneratorInterface::class);
- $this->manager = new PasswordTokenManager($this->providerChainMock, $this->tokenGeneratorMock);
+ $this->manager = new PasswordTokenManager($this->tokenGeneratorMock);
}
public function testCreatePasswordToken(): void