[UserBundle] Deprecate pin related services and classes

This commit is contained in:
Grzegorz Sadowski 2024-10-17 09:59:58 +02:00
parent b7c0a85f63
commit 76809c5621
No known key found for this signature in database
GPG key ID: EF87FF4E6E3BD364
3 changed files with 43 additions and 23 deletions

View file

@ -517,4 +517,8 @@
1. The `sylius_user.resources.{name}.user.resetting.pin` configuration parameter is deprecated and will be removed in 2.0. 1. The `sylius_user.resources.{name}.user.resetting.pin` configuration parameter is deprecated and will be removed in 2.0.
The corresponding email `reset_password_pin` and `Sylius\Bundle\UserBundle\Controller\UserController::requestPasswordResetPinAction` The corresponding email `reset_password_pin` and `Sylius\Bundle\UserBundle\Controller\UserController::requestPasswordResetPinAction`
method have been also deprecated and will be removed in 2.0. method have been also deprecated and will be removed in 2.0. The related class `Sylius\Component\User\Security\Generator\UniquePinGenerator`
and services have been deprecated as well:
* `sylius.{user_type}_user.pin_generator.password_reset`
* `sylius.{user_type}_user.pin_uniqueness_checker.password_reset`

View file

@ -119,29 +119,37 @@ final class SyliusUserExtension extends AbstractResourceExtension
), ),
)->setPublic(true); )->setPublic(true);
$container->setDefinition( $container
sprintf('sylius.%s_user.pin_generator.password_reset', $userType), ->setDefinition(
$this->createTokenGeneratorDefinition( sprintf('sylius.%s_user.pin_generator.password_reset', $userType),
UniquePinGenerator::class, $this->createTokenGeneratorDefinition(
[ UniquePinGenerator::class,
new Reference('sylius.random_generator'), [
new Reference(sprintf('sylius.%s_user.pin_uniqueness_checker.password_reset', $userType)), new Reference('sylius.random_generator'),
$config['resetting']['pin']['length'], new Reference(sprintf('sylius.%s_user.pin_uniqueness_checker.password_reset', $userType)),
], $config['resetting']['pin']['length'],
), ],
)->setPublic(true); ),
)
->setPublic(true)
->setDeprecated('sylius/user-bundle', '1.14', 'The "%service_id%" is deprecated and will be removed in Sylius 2.0.')
;
$container->setDefinition( $container
sprintf('sylius.%s_user.token_generator.email_verification', $userType), ->setDefinition(
$this->createTokenGeneratorDefinition( sprintf('sylius.%s_user.token_generator.email_verification', $userType),
UniqueTokenGenerator::class, $this->createTokenGeneratorDefinition(
[ UniqueTokenGenerator::class,
new Reference('sylius.random_generator'), [
new Reference(sprintf('sylius.%s_user.token_uniqueness_checker.email_verification', $userType)), new Reference('sylius.random_generator'),
$config['verification']['token']['length'], new Reference(sprintf('sylius.%s_user.token_uniqueness_checker.email_verification', $userType)),
], $config['verification']['token']['length'],
), ],
)->setPublic(true); ),
)
->setPublic(true)
->setDeprecated('sylius/user-bundle', '1.14', 'The "%service_id%" is deprecated and will be removed in Sylius 2.0.')
;
} }
private function createTokenGeneratorDefinition(string $generatorClass, array $arguments): Definition private function createTokenGeneratorDefinition(string $generatorClass, array $arguments): Definition

View file

@ -17,6 +17,14 @@ use Sylius\Component\User\Security\Checker\UniquenessCheckerInterface;
use Sylius\Resource\Generator\RandomnessGeneratorInterface; use Sylius\Resource\Generator\RandomnessGeneratorInterface;
use Webmozart\Assert\Assert; use Webmozart\Assert\Assert;
trigger_deprecation(
'sylius/user',
'1.14',
'The "%s" class is deprecated and will be removed in Sylius 2.0.',
UniquePinGenerator::class,
);
/** @deprecated since Sylius 1.14 and will be removed in Sylius 2.0. */
final class UniquePinGenerator implements GeneratorInterface final class UniquePinGenerator implements GeneratorInterface
{ {
private int $pinLength; private int $pinLength;