123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- /**
- *
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Quote\Model\GuestCart;
- use Magento\Quote\Api\Data\CartItemInterface;
- use Magento\Quote\Api\CartItemRepositoryInterface;
- use Magento\Quote\Model\QuoteIdMask;
- use Magento\Quote\Model\QuoteIdMaskFactory;
- /**
- * Cart Item repository class for guest carts.
- */
- class GuestCartItemRepository implements \Magento\Quote\Api\GuestCartItemRepositoryInterface
- {
- /**
- * @var \Magento\Quote\Api\CartItemRepositoryInterface
- */
- protected $repository;
- /**
- * @var QuoteIdMaskFactory
- */
- protected $quoteIdMaskFactory;
- /**
- * Constructs a read service object.
- *
- * @param \Magento\Quote\Api\CartItemRepositoryInterface $repository
- * @param QuoteIdMaskFactory $quoteIdMaskFactory
- */
- public function __construct(
- \Magento\Quote\Api\CartItemRepositoryInterface $repository,
- QuoteIdMaskFactory $quoteIdMaskFactory
- ) {
- $this->quoteIdMaskFactory = $quoteIdMaskFactory;
- $this->repository = $repository;
- }
- /**
- * {@inheritdoc}
- */
- public function getList($cartId)
- {
- /** @var $quoteIdMask QuoteIdMask */
- $quoteIdMask = $this->quoteIdMaskFactory->create()->load($cartId, 'masked_id');
- $cartItemList = $this->repository->getList($quoteIdMask->getQuoteId());
- /** @var $item CartItemInterface */
- foreach ($cartItemList as $item) {
- $item->setQuoteId($quoteIdMask->getMaskedId());
- }
- return $cartItemList;
- }
- /**
- * {@inheritdoc}
- */
- public function save(\Magento\Quote\Api\Data\CartItemInterface $cartItem)
- {
- /** @var $quoteIdMask QuoteIdMask */
- $quoteIdMask = $this->quoteIdMaskFactory->create()->load($cartItem->getQuoteId(), 'masked_id');
- $cartItem->setQuoteId($quoteIdMask->getQuoteId());
- return $this->repository->save($cartItem);
- }
- /**
- * {@inheritdoc}
- */
- public function deleteById($cartId, $itemId)
- {
- /** @var $quoteIdMask QuoteIdMask */
- $quoteIdMask = $this->quoteIdMaskFactory->create()->load($cartId, 'masked_id');
- return $this->repository->deleteById($quoteIdMask->getQuoteId(), $itemId);
- }
- }
|