From 1d508e4623e9b9324156fba217fef2988d3fff98 Mon Sep 17 00:00:00 2001 From: Pavel Bystritsky Date: Mon, 16 Mar 2020 11:55:07 +0200 Subject: [PATCH] Refactoring. --- .../AjaxLogin/CaptchaResponseResolver.php | 2 +- ReCaptchaValidation/Model/Validator.php | 32 +++++++++++-------- ...Messages.php => ErrorMessagesProvider.php} | 2 +- ReCaptchaValidationApi/etc/di.xml | 2 +- 4 files changed, 21 insertions(+), 17 deletions(-) rename ReCaptchaValidationApi/Model/{ErrorMessages.php => ErrorMessagesProvider.php} (96%) diff --git a/ReCaptchaCustomer/Model/AjaxLogin/CaptchaResponseResolver.php b/ReCaptchaCustomer/Model/AjaxLogin/CaptchaResponseResolver.php index dacd2c8f..46d62bf7 100644 --- a/ReCaptchaCustomer/Model/AjaxLogin/CaptchaResponseResolver.php +++ b/ReCaptchaCustomer/Model/AjaxLogin/CaptchaResponseResolver.php @@ -32,7 +32,7 @@ public function __construct(SerializerInterface $serializer) } /** - * {@inheritdoc} + * @inheritdoc * * @param RequestInterface|PlainTextRequestInterface $request * @return string diff --git a/ReCaptchaValidation/Model/Validator.php b/ReCaptchaValidation/Model/Validator.php index 116468ed..4bcd0780 100644 --- a/ReCaptchaValidation/Model/Validator.php +++ b/ReCaptchaValidation/Model/Validator.php @@ -9,10 +9,10 @@ use Magento\Framework\Validation\ValidationResult; use Magento\Framework\Validation\ValidationResultFactory; -use Magento\ReCaptchaValidationApi\Api\ValidatorInterface; use Magento\ReCaptchaValidationApi\Api\Data\ValidationConfigInterface; -use Magento\ReCaptchaValidationApi\Model\ErrorMessages; -use ReCaptcha\ReCaptcha; +use Magento\ReCaptchaValidationApi\Api\ValidatorInterface; +use Magento\ReCaptchaValidationApi\Model\ErrorMessagesProvider; +use ReCaptcha\ReCaptchaFactory; /** * @inheritdoc @@ -25,20 +25,28 @@ class Validator implements ValidatorInterface private $validationResultFactory; /** - * @var ErrorMessages + * @var ErrorMessagesProvider */ - private $errorMessages; + private $errorMessagesProvider; + + /** + * @var ReCaptchaFactory + */ + private $reCaptchaFactory; /** * @param ValidationResultFactory $validationResultFactory - * @param ErrorMessages $errorMessages + * @param ErrorMessagesProvider $errorMessagesProvider + * @param ReCaptchaFactory $reCaptchaFactory */ public function __construct( ValidationResultFactory $validationResultFactory, - ErrorMessages $errorMessages + ErrorMessagesProvider $errorMessagesProvider, + ReCaptchaFactory $reCaptchaFactory ) { $this->validationResultFactory = $validationResultFactory; - $this->errorMessages = $errorMessages; + $this->errorMessagesProvider = $errorMessagesProvider; + $this->reCaptchaFactory = $reCaptchaFactory; } /** @@ -49,11 +57,7 @@ public function isValid( ValidationConfigInterface $validationConfig ): ValidationResult { $secret = $validationConfig->getPrivateKey(); - - // @codingStandardsIgnoreStart - $reCaptcha = new ReCaptcha($secret); - // @codingStandardsIgnoreEnd - + $reCaptcha = $this->reCaptchaFactory->create(['secret' => $secret]); $extensionAttributes = $validationConfig->getExtensionAttributes(); if ($extensionAttributes && (null !== $extensionAttributes->getScoreThreshold())) { $reCaptcha->setScoreThreshold($extensionAttributes->getScoreThreshold()); @@ -64,7 +68,7 @@ public function isValid( $validationResult = $this->validationResultFactory->create(['errors' => []]); } else { foreach ($result->getErrorCodes() as $errorCode) { - $validationErrors[] = $this->errorMessages->getErrorMessage($errorCode); + $validationErrors[] = $this->errorMessagesProvider->getErrorMessage($errorCode); } $validationResult = $this->validationResultFactory->create(['errors' => $validationErrors]); } diff --git a/ReCaptchaValidationApi/Model/ErrorMessages.php b/ReCaptchaValidationApi/Model/ErrorMessagesProvider.php similarity index 96% rename from ReCaptchaValidationApi/Model/ErrorMessages.php rename to ReCaptchaValidationApi/Model/ErrorMessagesProvider.php index 4ba15083..5ecadb9d 100644 --- a/ReCaptchaValidationApi/Model/ErrorMessages.php +++ b/ReCaptchaValidationApi/Model/ErrorMessagesProvider.php @@ -12,7 +12,7 @@ * * @api Class name should be used in DI for adding new validation errors */ -class ErrorMessages +class ErrorMessagesProvider { /** * @var array diff --git a/ReCaptchaValidationApi/etc/di.xml b/ReCaptchaValidationApi/etc/di.xml index 9b0bbb21..e3ff3274 100644 --- a/ReCaptchaValidationApi/etc/di.xml +++ b/ReCaptchaValidationApi/etc/di.xml @@ -7,7 +7,7 @@ --> - + Invalid JSON received.