Skip to content

Commit

Permalink
code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
ronangr1 committed Sep 21, 2024
1 parent 40fdb18 commit 07e458f
Show file tree
Hide file tree
Showing 28 changed files with 166 additions and 675 deletions.
30 changes: 0 additions & 30 deletions Api/RequestLoginRepositoryInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,43 +11,13 @@

interface RequestLoginRepositoryInterface
{
/**
* Get Login Request
*
* @param string $email
* @return LoginRequest
*/
public function get(string $email): LoginRequest;

/**
* Get Login Request By Id
*
* @param string $id
* @return LoginRequest
*/
public function getById(string $id): LoginRequest;

/**
* Save Login Request
*
* @param \Opengento\Hoodoor\Model\LoginRequest $model
* @return bool
*/
public function save(LoginRequest $model): bool;

/**
* Delete Login Request
*
* @param \Opengento\Hoodoor\Model\LoginRequest $model
* @return bool
*/
public function delete(LoginRequest $model): bool;

/**
* Lock Login Request
*
* @param \Opengento\Hoodoor\Model\LoginRequest $model
* @return bool
*/
public function lock(LoginRequest $model): bool;
}
23 changes: 2 additions & 21 deletions Block/Adminhtml/System/Config/Button.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,6 @@

class Button extends Field
{
/**
* Create Element Html (Button + Script)
*
* @param \Magento\Framework\Data\Form\Element\AbstractElement $element
* @return string
* @throws \Magento\Framework\Exception\LocalizedException
*/
protected function _getElementHtml(AbstractElement $element): string
{
$value = $this->_scopeConfig->getValue(Config::XML_PATH_HOODOOR_SECRET_KEY->value);
Expand All @@ -29,13 +22,7 @@ protected function _getElementHtml(AbstractElement $element): string
return $html . $this->getButtonHtml() . $this->getJs($element);
}

/**
* Create Button Block
*
* @return string
* @throws \Magento\Framework\Exception\LocalizedException
*/
protected function getButtonHtml(): string
private function getButtonHtml(): string
{
$button = $this->getLayout()->createBlock(WidgetButton::class)
->setData([
Expand All @@ -47,13 +34,7 @@ protected function getButtonHtml(): string
return $button->toHtml();
}

/**
* Generate Secret Key Script
*
* @param \Magento\Framework\Data\Form\Element\AbstractElement $element
* @return string
*/
protected function getJs(AbstractElement $element): string
private function getJs(AbstractElement $element): string
{
return '
<script>
Expand Down
42 changes: 5 additions & 37 deletions Controller/Account/CreatePost.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
use Magento\Framework\App\Action\HttpPostActionInterface;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\App\CsrfAwareActionInterface;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\Controller\ResultInterface;
use Magento\Framework\Data\Form\FormKey\Validator;
use Magento\Framework\Escaper;
use Magento\Framework\UrlFactory;
Expand All @@ -33,43 +35,15 @@
use Opengento\Hoodoor\Service\Password;

/**
* Post create customer action
*
* @SuppressWarnings(PHPMD.TooManyFields)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class CreatePost extends CoreCreatePost implements CsrfAwareActionInterface, HttpPostActionInterface
{
/**
* @var string
*/
private string $password = "";

/**
* @param \Opengento\Hoodoor\Service\Password $passwordService
* @param \Magento\Framework\App\Action\Context $context
* @param \Magento\Customer\Model\Session $customerSession
* @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
* @param \Magento\Customer\Api\AccountManagementInterface $accountManagement
* @param \Magento\Customer\Helper\Address $addressHelper
* @param \Magento\Framework\UrlFactory $urlFactory
* @param \Magento\Customer\Model\Metadata\FormFactory $formFactory
* @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory
* @param \Magento\Customer\Api\Data\RegionInterfaceFactory $regionDataFactory
* @param \Magento\Customer\Api\Data\AddressInterfaceFactory $addressDataFactory
* @param \Magento\Customer\Api\Data\CustomerInterfaceFactory $customerDataFactory
* @param \Magento\Customer\Model\Url $customerUrl
* @param \Magento\Customer\Model\Registration $registration
* @param \Magento\Framework\Escaper $escaper
* @param \Magento\Customer\Model\CustomerExtractor $customerExtractor
* @param \Magento\Framework\Api\DataObjectHelper $dataObjectHelper
* @param \Magento\Customer\Model\Account\Redirect $accountRedirect
* @param \Magento\Customer\Api\CustomerRepositoryInterface $customerRepository
* @param \Magento\Framework\Data\Form\FormKey\Validator|null $formKeyValidator
*/
public function __construct( //phpcs:ignore
protected readonly Password $passwordService,
public function __construct(
private readonly Password $passwordService,
Context $context,
Session $customerSession,
ScopeConfigInterface $scopeConfig,
Expand Down Expand Up @@ -115,13 +89,7 @@ public function __construct( //phpcs:ignore
);
}

/**
* Execute
*
* @throws \Magento\Framework\Exception\NotFoundException
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function execute()
public function execute(): ResultInterface|ResponseInterface
{
if (!$this->password) {
$this->password = $this->passwordService->generate();
Expand Down
10 changes: 4 additions & 6 deletions Controller/Account/Edit.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,12 @@

namespace Opengento\Hoodoor\Controller\Account;

use Magento\Framework\App\ResponseInterface;
use Magento\Framework\View\Result\Page;

class Edit extends \Magento\Customer\Controller\Account\Edit
{
/**
* Execute
*
* @return \Magento\Framework\App\ResponseInterface|\Magento\Framework\View\Result\Page
*/
public function execute()
public function execute(): ResponseInterface|Page
{
if ($this->getRequest()->getParam('changepass')) {
return $this->_redirect('customer/account');
Expand Down
9 changes: 3 additions & 6 deletions Controller/Account/ForgotPassword.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,11 @@

namespace Opengento\Hoodoor\Controller\Account;

use Magento\Framework\App\ResponseInterface;

class ForgotPassword extends \Magento\Customer\Controller\Account\ForgotPassword
{
/**
* Deny access to this forgot password feature
*
* @return \Magento\Framework\App\ResponseInterface
*/
public function execute()
public function execute(): ResponseInterface
{
$this->messageManager->addErrorMessage(__('Access denied.'));
return $this->_redirect('customer/account');
Expand Down
9 changes: 3 additions & 6 deletions Controller/Account/ForgotPasswordPost.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,11 @@

namespace Opengento\Hoodoor\Controller\Account;

use Magento\Framework\App\ResponseInterface;

class ForgotPasswordPost extends \Magento\Customer\Controller\Account\ForgotPasswordPost
{
/**
* Deny access to this forgot password feature
*
* @return \Magento\Framework\App\ResponseInterface
*/
public function execute()
public function execute(): ResponseInterface
{
$this->messageManager->addErrorMessage(__('Access denied.'));
return $this->_redirect('customer/account');
Expand Down
46 changes: 15 additions & 31 deletions Controller/Adminhtml/Pwl/ProcessLogin.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,52 +8,36 @@
namespace Opengento\Hoodoor\Controller\Adminhtml\Pwl;

use Magento\Framework\App\Action\HttpGetActionInterface;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\App\RequestInterface;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\Controller\Result\Redirect;
use Magento\Framework\Controller\Result\RedirectFactory;
use Magento\Framework\Message\Manager as MessageManager;
use Opengento\Hoodoor\Api\RequestLoginRepositoryInterface;
use Opengento\Hoodoor\Enum\Config;
use Opengento\Hoodoor\Exception\RequestException;
use Opengento\Hoodoor\Service\Admin\Login as LoginService;
use Opengento\Hoodoor\Service\Request\Encryption as EncryptionService;

class ProcessLogin implements HttpGetActionInterface
{
/**
* @param \Opengento\Hoodoor\Api\RequestLoginRepositoryInterface $loginRequestRepository
* @param \Opengento\Hoodoor\Service\Admin\Login $adminLoginService
* @param \Opengento\Hoodoor\Service\Request\Encryption $encryptionService
* @param \Magento\Framework\App\RequestInterface $request
* @param \Magento\Framework\Controller\Result\RedirectFactory $redirectFactory
* @param \Magento\Framework\Message\Manager $messageManager
* @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
*/
public function __construct( //phpcs:ignore
protected readonly RequestLoginRepositoryInterface $loginRequestRepository,
protected readonly LoginService $adminLoginService,
protected readonly EncryptionService $encryptionService,
protected readonly RequestInterface $request,
protected readonly RedirectFactory $redirectFactory,
protected readonly MessageManager $messageManager,
protected readonly ScopeConfigInterface $scopeConfig,
public function __construct(
private readonly RequestLoginRepositoryInterface $loginRequestRepository,
private readonly LoginService $adminLoginService,
private readonly EncryptionService $encryptionService,
private readonly RequestInterface $request,
private readonly RedirectFactory $redirectFactory,
private readonly MessageManager $messageManager
) {
}

/**
* Execute
*
* @return \Magento\Framework\Controller\Result\Redirect
*/
public function execute() // phpcs:ignore Generic.Metrics.NestingLevel.TooHigh
public function execute(): ResponseInterface|Redirect // phpcs:ignore Generic.Metrics.NestingLevel.TooHigh
{
$redirect = $this->redirectFactory->create();
$params = $this->request->getParams();
if ($params) {
try {
if (isset($params['request'])) {
$secretKey = $this->scopeConfig->getValue(Config::XML_PATH_HOODOOR_SECRET_KEY->value);
$decryptedData = $this->encryptionService->decrypt($params['request'], $secretKey);
$decryptedData = $this->encryptionService->decrypt($params['request']);
$params = explode("/", $decryptedData);
$params = array_chunk($params, 2);
$params = array_combine(array_column($params, 0), array_column($params, 1));
Expand All @@ -62,7 +46,7 @@ public function execute() // phpcs:ignore Generic.Metrics.NestingLevel.TooHigh
if ($loginRequest->getToken() === $params['token']) {
if ($loginRequest->hasBeenUsed() || $loginRequest->hasExpired()) {
$this->messageManager->addErrorMessage(
__('Unable to execute request. Please try again.')
__('Unable to execute the request. Please try again.')
);
return $redirect->setPath('*');
}
Expand All @@ -72,17 +56,17 @@ public function execute() // phpcs:ignore Generic.Metrics.NestingLevel.TooHigh
$this->loginRequestRepository->delete($loginRequest);
} else {
throw new RequestException(
_('Invalid request. Please try again.') // phpcs:ignore
_('Invalid request. Please try again.')
);
}
} else {
throw new RequestException(
_('Invalid request. Please try again.') // phpcs:ignore
_('Invalid request. Please try again.')
);
}
} else {
throw new RequestException(
_('Invalid request. Please try again.') // phpcs:ignore
_('Invalid request. Please try again.')
);
}
} catch (\Exception $e) {
Expand Down
20 changes: 8 additions & 12 deletions Controller/Adminhtml/Pwl/RequestLogin.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
use Magento\Backend\Block\Admin\Formkey;
use Magento\Framework\App\Action\HttpPostActionInterface;
use Magento\Framework\App\RequestInterface;
use Magento\Framework\Controller\Result\Redirect;
use Magento\Framework\Controller\Result\RedirectFactory;
use Magento\Framework\Message\Manager as MessageManager;
use Opengento\Hoodoor\Service\Queue;
Expand All @@ -23,21 +24,16 @@ class RequestLogin implements HttpPostActionInterface
* @param \Magento\Backend\Block\Admin\Formkey $formKey
* @param \Opengento\Hoodoor\Service\Queue $queueService
*/
public function __construct( //phpcs:ignore
protected readonly RequestInterface $request,
protected readonly RedirectFactory $redirectFactory,
protected readonly MessageManager $messageManager,
protected readonly FormKey $formKey,
protected readonly Queue $queueService
public function __construct(
private readonly RequestInterface $request,
private readonly RedirectFactory $redirectFactory,
private readonly MessageManager $messageManager,
private readonly FormKey $formKey,
private readonly Queue $queueService
) {
}

/**
* Execute
*
* @return \Magento\Framework\Controller\Result\Redirect
*/
public function execute()
public function execute(): Redirect
{
$redirect = $this->redirectFactory->create();

Expand Down
Loading

0 comments on commit 07e458f

Please sign in to comment.