12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- declare(strict_types=1);
- namespace Magento\WishlistGraphQl\Model\Resolver;
- use Magento\Framework\GraphQl\Config\Element\Field;
- use Magento\Framework\GraphQl\Query\ResolverInterface;
- use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
- use Magento\Wishlist\Model\ResourceModel\Wishlist as WishlistResourceModel;
- use Magento\Wishlist\Model\Wishlist;
- use Magento\Wishlist\Model\WishlistFactory;
- /**
- * Fetches the Wishlist data according to the GraphQL schema
- */
- class WishlistResolver implements ResolverInterface
- {
- /**
- * @var WishlistResourceModel
- */
- private $wishlistResource;
- /**
- * @var WishlistFactory
- */
- private $wishlistFactory;
- /**
- * @param WishlistResourceModel $wishlistResource
- * @param WishlistFactory $wishlistFactory
- */
- public function __construct(WishlistResourceModel $wishlistResource, WishlistFactory $wishlistFactory)
- {
- $this->wishlistResource = $wishlistResource;
- $this->wishlistFactory = $wishlistFactory;
- }
- /**
- * @inheritdoc
- */
- public function resolve(
- Field $field,
- $context,
- ResolveInfo $info,
- array $value = null,
- array $args = null
- ) {
- $customerId = $context->getUserId();
- /** @var Wishlist $wishlist */
- $wishlist = $this->wishlistFactory->create();
- $this->wishlistResource->load($wishlist, $customerId, 'customer_id');
- if (null === $wishlist->getId()) {
- return [];
- }
- return [
- 'sharing_code' => $wishlist->getSharingCode(),
- 'updated_at' => $wishlist->getUpdatedAt(),
- 'items_count' => $wishlist->getItemsCount(),
- 'name' => $wishlist->getName(),
- 'model' => $wishlist,
- ];
- }
- }
|