Skip to content

Commit df464a8

Browse files
committed
B2B-2459: Optimize Product Permissions in GraphQL with product inline fragments
1 parent 39f0be8 commit df464a8

File tree

11 files changed

+3
-146
lines changed

11 files changed

+3
-146
lines changed

app/code/Magento/BundleGraphQl/etc/graphql/di.xml

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -114,22 +114,4 @@
114114
</argument>
115115
</arguments>
116116
</type>
117-
<type name="Magento\BundleGraphQl\Model\Resolver\Options\Label">
118-
<arguments>
119-
<argument name="product" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct</argument>
120-
</arguments>
121-
</type>
122-
<type name="Magento\BundleGraphQl\Model\Resolver\PriceRange">
123-
<arguments>
124-
<argument name="productDataProvider" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct</argument>
125-
</arguments>
126-
</type>
127-
<virtualType name="Magento\BundleGraphQl\Model\Resolver\Options\Product"
128-
type="Magento\CatalogGraphQl\Model\Resolver\Product">
129-
<arguments>
130-
<argument name="productDataProvider" xsi:type="object">
131-
Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct
132-
</argument>
133-
</arguments>
134-
</virtualType>
135117
</config>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ type BundleItemOption @doc(description: "Defines the characteristics that compri
6969
price: Float @doc(description: "The price of the selected option.")
7070
price_type: PriceTypeEnum @doc(description: "One of FIXED, PERCENT, or DYNAMIC.")
7171
can_change_quantity: Boolean @doc(description: "Indicates whether the customer can change the number of items for this option.")
72-
product: ProductInterface @doc(description: "Contains details about this product option.") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\Options\\Product")
72+
product: ProductInterface @doc(description: "Contains details about this product option.") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product")
7373
uid: ID! @doc(description: "The unique ID for a `BundleItemOption` object.") @resolver(class: "Magento\\BundleGraphQl\\Model\\Resolver\\Options\\BundleItemOptionUid")
7474
}
7575

app/code/Magento/Catalog/Model/ResourceModel/Product/ChildCollectionFactory.php

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

app/code/Magento/Catalog/Model/ResourceModel/Product/CollectionFactory.php

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

app/code/Magento/CatalogGraphQl/Model/Resolver/Products/DataProvider/Product/CollectionProcessor/VisibilityStatusProcessor.php

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,6 @@ public function process(
3737
): Collection {
3838
$collection->joinAttribute('status', 'catalog_product/status', 'entity_id', null, 'inner');
3939
$collection->joinAttribute('visibility', 'catalog_product/visibility', 'entity_id', null, 'inner');
40-
if ($context) {
41-
$store = $context->getExtensionAttributes()->getStore();
42-
if ($store) {
43-
$websiteId = $store->getWebsiteId();
44-
$collection->addWebsiteFilter([$websiteId]);
45-
}
46-
}
4740

4841
return $collection;
4942
}

app/code/Magento/CatalogGraphQl/etc/graphql/di.xml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -196,22 +196,6 @@
196196
<argument name="dataObjectProcessor" xsi:type="object">Magento\CatalogGraphQl\Category\DataObjectProcessor</argument>
197197
</arguments>
198198
</type>
199-
<virtualType name="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\ChildProduct"
200-
type="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product">
201-
<arguments>
202-
<argument name="collectionFactory" xsi:type="object">
203-
Magento\Catalog\Model\ResourceModel\Product\ChildCollectionFactory
204-
</argument>
205-
</arguments>
206-
</virtualType>
207-
<virtualType name="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct"
208-
type="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\Product">
209-
<arguments>
210-
<argument name="productDataProvider" xsi:type="object">
211-
Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\ChildProduct
212-
</argument>
213-
</arguments>
214-
</virtualType>
215199
<virtualType
216200
name="Magento\CatalogGraphQl\Category\DataObjectProcessor"
217201
type="Magento\Framework\Reflection\DataObjectProcessor"

app/code/Magento/ConfigurableProductGraphQl/Model/Variant/Collection.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ private function fetch(ContextInterface $context) : array
153153
$childCollection = $this->childCollectionFactory->create();
154154
$childCollection->setProductFilter($product);
155155
$childCollection->addWebsiteFilter($context->getExtensionAttributes()->getStore()->getWebsiteId());
156-
$childCollection->setFlag('product_children', true);
157156
$this->collectionProcessor->process(
158157
$childCollection,
159158
$this->searchCriteriaBuilder->create(),

app/code/Magento/ConfigurableProductGraphQl/etc/graphql/di.xml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,4 @@
8585
<type name="Magento\Quote\Model\Quote">
8686
<plugin name="update_customized_options" type="Magento\ConfigurableProductGraphQl\Plugin\Quote\UpdateCustomizedOptions"/>
8787
</type>
88-
<virtualType name="Magento\ConfigurableProductGraphQl\Model\Resolver\Variant\Product"
89-
type="Magento\CatalogGraphQl\Model\Resolver\Product">
90-
<arguments>
91-
<argument name="productDataProvider" xsi:type="object">
92-
Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct
93-
</argument>
94-
</arguments>
95-
</virtualType>
9688
</config>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ type ConfigurableProduct implements ProductInterface, RoutableInterface, Physica
1212

1313
type ConfigurableVariant @doc(description: "Contains all the simple product variants of a configurable product.") {
1414
attributes: [ConfigurableAttributeOption] @resolver(class: "Magento\\ConfigurableProductGraphQl\\Model\\Resolver\\Variant\\Attributes") @doc(description: "An array of configurable attribute options.")
15-
product: SimpleProduct @resolver(class: "Magento\\ConfigurableProductGraphQl\\Model\\Resolver\\Variant\\Product") @doc(description: "An array of linked simple products.")
15+
product: SimpleProduct @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product") @doc(description: "An array of linked simple products.")
1616
}
1717

1818
type ConfigurableAttributeOption @doc(description: "Contains details about a configurable product attribute option.") {

app/code/Magento/GroupedProductGraphQl/etc/graphql/di.xml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,4 @@
5353
</argument>
5454
</arguments>
5555
</type>
56-
<type name="Magento\GroupedProductGraphQl\Model\Resolver\GroupedItems">
57-
<arguments>
58-
<argument name="productResolver" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct</argument>
59-
</arguments>
60-
</type>
61-
<virtualType name="Magento\GroupedProductGraphQl\Model\Resolver\GroupedItem\Product"
62-
type="Magento\CatalogGraphQl\Model\Resolver\Product">
63-
<arguments>
64-
<argument name="productDataProvider" xsi:type="object">
65-
Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct
66-
</argument>
67-
</arguments>
68-
</virtualType>
6956
</config>

0 commit comments

Comments
 (0)