Skip to content

Commit 82daaf9

Browse files
committed
B2B-2404: Optimize Product Permissions in GraphQL resolver
1 parent 44804fc commit 82daaf9

File tree

4 files changed

+27
-22
lines changed

4 files changed

+27
-22
lines changed

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

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -114,37 +114,21 @@
114114
</argument>
115115
</arguments>
116116
</type>
117-
<virtualType name="Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Product\Option"
118-
type="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product">
119-
<arguments>
120-
<argument name="collectionFactory" xsi:type="object">
121-
Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Product\Option\CollectionFactory
122-
</argument>
123-
</arguments>
124-
</virtualType>
125-
<virtualType name="Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Deferred\Product\Option"
126-
type="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\Product">
127-
<arguments>
128-
<argument name="productDataProvider" xsi:type="object">
129-
Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Product\Option
130-
</argument>
131-
</arguments>
132-
</virtualType>
133117
<type name="Magento\BundleGraphQl\Model\Resolver\Options\Label">
134118
<arguments>
135-
<argument name="product" xsi:type="object">Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Deferred\Product\Option</argument>
119+
<argument name="product" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct</argument>
136120
</arguments>
137121
</type>
138122
<type name="Magento\BundleGraphQl\Model\Resolver\PriceRange">
139123
<arguments>
140-
<argument name="productDataProvider" xsi:type="object">Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Deferred\Product\Option</argument>
124+
<argument name="productDataProvider" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct</argument>
141125
</arguments>
142126
</type>
143127
<virtualType name="Magento\BundleGraphQl\Model\Resolver\Options\Product"
144128
type="Magento\CatalogGraphQl\Model\Resolver\Product">
145129
<arguments>
146130
<argument name="productDataProvider" xsi:type="object">
147-
Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Deferred\Product\Option
131+
Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct
148132
</argument>
149133
</arguments>
150134
</virtualType>
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
*/
66
declare(strict_types=1);
77

8-
namespace Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Product\Option;
8+
namespace Magento\Catalog\Model\ResourceModel\Product;
99

1010
/**
11-
* Factory class bundle product option collection
11+
* Factory class for child product collection
1212
*/
13-
class CollectionFactory extends \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory
13+
class ChildCollectionFactory extends CollectionFactory
1414
{
1515
/**
1616
* Create class instance with specified parameters

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,4 +191,20 @@
191191
<type name="Magento\Catalog\Api\ProductRepositoryInterface">
192192
<plugin name="availableProductsFilter" type="Magento\CatalogGraphQl\Plugin\AvailableProductsFilter" />
193193
</type>
194+
<virtualType name="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\ChildProduct"
195+
type="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product">
196+
<arguments>
197+
<argument name="collectionFactory" xsi:type="object">
198+
Magento\Catalog\Model\ResourceModel\Product\ChildCollectionFactory
199+
</argument>
200+
</arguments>
201+
</virtualType>
202+
<virtualType name="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\ChildProduct"
203+
type="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\Product">
204+
<arguments>
205+
<argument name="productDataProvider" xsi:type="object">
206+
Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\ChildProduct
207+
</argument>
208+
</arguments>
209+
</virtualType>
194210
</config>

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,9 @@
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>
5661
</config>

0 commit comments

Comments
 (0)