GuestItemRepository.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\GiftMessage\Model;
  8. use Magento\GiftMessage\Api\Data\MessageInterface;
  9. use Magento\GiftMessage\Api\GuestItemRepositoryInterface;
  10. use Magento\Quote\Model\QuoteIdMask;
  11. use Magento\Quote\Model\QuoteIdMaskFactory;
  12. /**
  13. * Shopping cart gift message item repository object for guest
  14. */
  15. class GuestItemRepository implements GuestItemRepositoryInterface
  16. {
  17. /**
  18. * @var ItemRepository
  19. */
  20. protected $repository;
  21. /**
  22. * @var QuoteIdMaskFactory
  23. */
  24. protected $quoteIdMaskFactory;
  25. /**
  26. * @param ItemRepository $repository
  27. * @param QuoteIdMaskFactory $quoteIdMaskFactory
  28. */
  29. public function __construct(
  30. ItemRepository $repository,
  31. QuoteIdMaskFactory $quoteIdMaskFactory
  32. ) {
  33. $this->repository = $repository;
  34. $this->quoteIdMaskFactory = $quoteIdMaskFactory;
  35. }
  36. /**
  37. * {@inheritDoc}
  38. */
  39. public function get($cartId, $itemId)
  40. {
  41. /** @var $quoteIdMask QuoteIdMask */
  42. $quoteIdMask = $this->quoteIdMaskFactory->create()->load($cartId, 'masked_id');
  43. return $this->repository->get($quoteIdMask->getQuoteId(), $itemId);
  44. }
  45. /**
  46. * {@inheritDoc}
  47. */
  48. public function save($cartId, MessageInterface $giftMessage, $itemId)
  49. {
  50. /** @var $quoteIdMask QuoteIdMask */
  51. $quoteIdMask = $this->quoteIdMaskFactory->create()->load($cartId, 'masked_id');
  52. return $this->repository->save($quoteIdMask->getQuoteId(), $giftMessage, $itemId);
  53. }
  54. }