Skip to content

Commit c88e8ec

Browse files
author
Prabhu Ram
committed
MC-18509: Update resolvers to implement the schema changes
- fix review comments
1 parent f5aa918 commit c88e8ec

File tree

4 files changed

+16
-51
lines changed

4 files changed

+16
-51
lines changed

app/code/Magento/CatalogGraphQl/Model/Resolver/Product/MediaGallery.php

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,12 @@ public function resolve(
4949
$product = $value['model'];
5050

5151
$mediaGalleryEntries = [];
52-
if (!empty($product->getMediaGalleryEntries())) {
53-
foreach ($product->getMediaGalleryEntries() as $key => $entry) {
54-
$mediaGalleryEntries[$key] = $entry->getData();
55-
$mediaGalleryEntries[$key]['model'] = $product;
56-
if ($entry->getExtensionAttributes() && $entry->getExtensionAttributes()->getVideoContent()) {
57-
$mediaGalleryEntries[$key]['video_content']
58-
= $entry->getExtensionAttributes()->getVideoContent()->getData();
59-
}
52+
foreach ($product->getMediaGalleryEntries() ?? [] as $key => $entry) {
53+
$mediaGalleryEntries[$key] = $entry->getData();
54+
$mediaGalleryEntries[$key]['model'] = $product;
55+
if ($entry->getExtensionAttributes() && $entry->getExtensionAttributes()->getVideoContent()) {
56+
$mediaGalleryEntries[$key]['video_content']
57+
= $entry->getExtensionAttributes()->getVideoContent()->getData();
6058
}
6159
}
6260
return $mediaGalleryEntries;

app/code/Magento/CatalogGraphQl/Model/Resolver/Product/MediaGallery/Label.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@
1313
use Magento\Framework\GraphQl\Config\Element\Field;
1414
use Magento\Framework\GraphQl\Query\ResolverInterface;
1515
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
16+
use Magento\Store\Model\Store;
1617

1718
/**
18-
* Returns media label
19+
* Return media label
1920
*/
2021
class Label implements ResolverInterface
2122
{
@@ -55,13 +56,15 @@ public function resolve(
5556
/** @var Product $product */
5657
$product = $value['model'];
5758
$productId = (int)$product->getEntityId();
58-
$storeId = (int)$context->getExtensionAttributes()->getStore()->getId();
59+
/** @var Store $store */
60+
$store = $context->getExtensionAttributes()->getStore();
61+
$storeId = (int)$store->getId();
5962
if (!isset($value['image_type'])) {
6063
return $this->getAttributeValue($productId, 'name', $storeId);
6164
}
6265
$imageType = $value['image_type'];
6366
$imageLabel = $this->getAttributeValue($productId, $imageType . '_label', $storeId);
64-
if (null === $imageLabel) {
67+
if ($imageLabel == null) {
6568
$imageLabel = $this->getAttributeValue($productId, 'name', $storeId);
6669
}
6770

app/code/Magento/CatalogGraphQl/Model/Resolver/Product/ProductVideo.php

Lines changed: 0 additions & 36 deletions
This file was deleted.

app/code/Magento/CatalogGraphQl/etc/schema.graphqls

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,9 @@ type CustomizableFileValue @doc(description: "CustomizableFileValue defines the
185185
image_size_y: Int @doc(description: "The maximum height of an image.")
186186
}
187187

188-
interface MediaGalleryInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\MediaGalleryTypeResolver") {
189-
url: String @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\MediaGallery\\Url")
190-
label: String @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\MediaGallery\\Label")
188+
interface MediaGalleryInterface @doc(description: "Contains basic information about a product image or video.") @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\MediaGalleryTypeResolver") {
189+
url: String @doc(description: "The URL of the product image or video.") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\MediaGallery\\Url")
190+
label: String @doc(description: "The label of the product image or video.") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\MediaGallery\\Label")
191191
}
192192

193193
type ProductImage implements MediaGalleryInterface @doc(description: "Product image information. Contains the image URL and label.") {
@@ -419,5 +419,5 @@ type StoreConfig @doc(description: "The type contains information about a store
419419
}
420420

421421
type ProductVideo @doc(description: "Contains information about a product video.") implements MediaGalleryInterface {
422-
video_content: ProductMediaGalleryEntriesVideoContent @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductVideo")
422+
video_content: ProductMediaGalleryEntriesVideoContent @doc(description: "Contains a ProductMediaGalleryEntriesVideoContent object.")
423423
}

0 commit comments

Comments
 (0)