Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public function __construct(SerializerInterface $serializer)
}

/**
* {@inheritdoc}
* @inheritdoc
*
* @param RequestInterface|PlainTextRequestInterface $request
* @return string
Expand Down
32 changes: 18 additions & 14 deletions ReCaptchaValidation/Model/Validator.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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;
}

/**
Expand All @@ -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());
Expand All @@ -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]);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*
* @api Class name should be used in DI for adding new validation errors
*/
class ErrorMessages
class ErrorMessagesProvider
{
/**
* @var array
Expand Down
2 changes: 1 addition & 1 deletion ReCaptchaValidationApi/etc/di.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\ReCaptchaValidationApi\Model\ErrorMessages">
<type name="Magento\ReCaptchaValidationApi\Model\ErrorMessagesProvider">
<arguments>
<argument name="errors" xsi:type="array">
<item name="invalid-json" xsi:type="string" translatable="true">Invalid JSON received.</item>
Expand Down