|
6 | 6 | * See LICENSE for license details.
|
7 | 7 | *
|
8 | 8 | * @license OSL-3.0 (Open Software License ("OSL") v. 3.0)
|
9 |
| - * @package scandipwa/module-customer-graph-ql |
10 |
| - * @link https://github.com/scandipwa/module-customer-graph-ql |
| 9 | + * @package scandipwa/catalog-graphql |
| 10 | + * @link https://github.com/scandipwa/catalog-graphql |
11 | 11 | */
|
| 12 | + |
12 | 13 | declare(strict_types=1);
|
13 | 14 |
|
14 | 15 | namespace ScandiPWA\CatalogGraphQl\Model\Resolver\Currency;
|
|
21 | 22 | use Magento\Framework\GraphQl\Query\ResolverInterface;
|
22 | 23 | use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
|
23 | 24 | use Magento\Store\Model\StoreManagerInterface;
|
24 |
| -use \Magento\Checkout\Model\Session as SessionManager; |
| 25 | +use Magento\Quote\Api\CartManagementInterface; |
| 26 | +use Magento\Quote\Api\GuestCartRepositoryInterface; |
| 27 | +use ScandiPWA\QuoteGraphQl\Model\Resolver\CartResolver; |
| 28 | +use Magento\Webapi\Controller\Rest\ParamOverriderCustomerId; |
25 | 29 |
|
26 | 30 | /**
|
27 | 31 | * Class SaveCartItem
|
28 | 32 | * @package ScandiPWA\QuoteGraphQl\Model\Resolver
|
29 | 33 | */
|
30 |
| -class SaveSelectedCurrency implements ResolverInterface |
| 34 | +class SaveSelectedCurrency extends CartResolver |
31 | 35 | {
|
32 | 36 | /**
|
33 | 37 | * @var StoreManagerInterface
|
34 | 38 | */
|
35 |
| - protected $storeManager; |
36 |
| - |
37 |
| - /** |
38 |
| - * @var SessionManager |
39 |
| - */ |
40 |
| - protected $sessionManager; |
| 39 | + protected StoreManagerInterface $storeManager; |
41 | 40 |
|
42 | 41 | /**
|
43 | 42 | * SaveSelectedCurrency constructor.
|
44 | 43 | * @param StoreManagerInterface $storeManager
|
45 |
| - * @param SessionManager $sessionManager |
46 | 44 | */
|
47 | 45 | public function __construct(
|
48 | 46 | StoreManagerInterface $storeManager,
|
49 |
| - SessionManager $sessionManager |
| 47 | + ParamOverriderCustomerId $overriderCustomerId, |
| 48 | + CartManagementInterface $quoteManagement, |
| 49 | + GuestCartRepositoryInterface $guestCartRepository |
50 | 50 | ) {
|
| 51 | + parent::__construct( |
| 52 | + $guestCartRepository, |
| 53 | + $overriderCustomerId, |
| 54 | + $quoteManagement |
| 55 | + ); |
| 56 | + |
51 | 57 | $this->storeManager = $storeManager;
|
52 |
| - $this->sessionManager = $sessionManager; |
53 | 58 | }
|
54 | 59 |
|
55 | 60 | /**
|
@@ -77,7 +82,8 @@ public function resolve(
|
77 | 82 |
|
78 | 83 | // Rebuilds active quotes all values (price, currency, etc.)
|
79 | 84 | try {
|
80 |
| - $this->sessionManager->getQuote()->collectTotals()->save(); |
| 85 | + $quote = $this->getCart($args); |
| 86 | + $quote->collectTotals()->save(); |
81 | 87 | } catch (NoSuchEntityException $exception) {
|
82 | 88 | // Ignore if quote is not set
|
83 | 89 | }
|
|
0 commit comments