* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\Module\PsxDesign\Controller\Admin; if (!defined('_PS_VERSION_')) { exit; } use Exception; use PrestaShop\Module\PsxDesign\Account\Provider\PsAccountDataProvider; use PrestaShop\Module\PsxDesign\Account\Provider\TokenDecoder; use PrestaShopBundle\Controller\Admin\FrameworkBundleAdminController; use Symfony\Component\HttpFoundation\JsonResponse; class AdminPsxDesignAjaxController extends FrameworkBundleAdminController { /** * @var TokenDecoder */ private $decoder; /** * @var PsAccountDataProvider */ private $accountDataProvider; public function __construct(TokenDecoder $decoder, PsAccountDataProvider $accountDataProvider) { parent::__construct(); $this->decoder = $decoder; $this->accountDataProvider = $accountDataProvider; } /** * @return JsonResponse|null */ public function getUserIdAction(): ?JsonResponse { $userId = null; try { $accessToken = $this->accountDataProvider->getOrRefreshAccessToken(); if ($accessToken) { $userId = $this->decoder->decode($accessToken)->getUserId(); } } catch (Exception $e) { return new JsonResponse($userId); } return new JsonResponse($userId); } }