![]() 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/old/vendor/magento/module-quote-graph-ql/Model/Cart/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\QuoteGraphQl\Model\Cart; use Magento\Quote\Api\GuestCartManagementInterface; use Magento\Quote\Model\QuoteIdMaskFactory; use Magento\Quote\Model\ResourceModel\Quote\QuoteIdMask as QuoteIdMaskResourceModel; /** * Create empty cart for guest */ class CreateEmptyCartForGuest { /** * @var GuestCartManagementInterface */ private $guestCartManagement; /** * @var QuoteIdMaskFactory */ private $quoteIdMaskFactory; /** * @var QuoteIdMaskResourceModel */ private $quoteIdMaskResourceModel; /** * @param GuestCartManagementInterface $guestCartManagement * @param QuoteIdMaskFactory $quoteIdMaskFactory * @param QuoteIdMaskResourceModel $quoteIdMaskResourceModel */ public function __construct( GuestCartManagementInterface $guestCartManagement, QuoteIdMaskFactory $quoteIdMaskFactory, QuoteIdMaskResourceModel $quoteIdMaskResourceModel ) { $this->guestCartManagement = $guestCartManagement; $this->quoteIdMaskFactory = $quoteIdMaskFactory; $this->quoteIdMaskResourceModel = $quoteIdMaskResourceModel; } /** * Create empty cart for guest * * @param string|null $predefinedMaskedQuoteId * @return string */ public function execute(string $predefinedMaskedQuoteId = null): string { $maskedQuoteId = $this->guestCartManagement->createEmptyCart(); if (isset($predefinedMaskedQuoteId)) { $quoteIdMask = $this->quoteIdMaskFactory->create(); $this->quoteIdMaskResourceModel->load($quoteIdMask, $maskedQuoteId, 'masked_id'); $quoteIdMask->setMaskedId($predefinedMaskedQuoteId); $this->quoteIdMaskResourceModel->save($quoteIdMask); } return $predefinedMaskedQuoteId ?? $maskedQuoteId; } }