![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-quote/Model/Webapi/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Quote\Model\Webapi; use Magento\Authorization\Model\UserContextInterface; use Magento\Framework\Webapi\Rest\Request\ParamOverriderInterface; use Magento\Framework\Exception\NoSuchEntityException; use Magento\Quote\Api\CartManagementInterface; /** * Replaces a "%cart_id%" value with the current authenticated customer's cart */ class ParamOverriderCartId implements ParamOverriderInterface { /** * @var UserContextInterface */ private $userContext; /** * @var CartManagementInterface */ private $cartManagement; /** * Constructs an object to override the cart ID parameter on a request. * * @param UserContextInterface $userContext * @param CartManagementInterface $cartManagement */ public function __construct( UserContextInterface $userContext, CartManagementInterface $cartManagement ) { $this->userContext = $userContext; $this->cartManagement = $cartManagement; } /** * {@inheritDoc} */ public function getOverriddenValue() { try { if ($this->userContext->getUserType() === UserContextInterface::USER_TYPE_CUSTOMER) { $customerId = $this->userContext->getUserId(); /** @var \Magento\Quote\Api\Data\CartInterface */ $cart = $this->cartManagement->getCartForCustomer($customerId); if ($cart) { return $cart->getId(); } } } catch (NoSuchEntityException $e) { throw new NoSuchEntityException(__('Current customer does not have an active cart.')); } return null; } }