99
1010use Magento \Framework \Api \FilterBuilder ;
1111use Magento \Framework \Api \Search \FilterGroupBuilder ;
12+ use Magento \Framework \App \ScopeResolverInterface ;
1213use Magento \Framework \GraphQl \Query \Resolver \Argument \SearchCriteria \Builder as SearchCriteriaBuilder ;
1314use Magento \Framework \GraphQl \Config \Element \Field ;
1415use Magento \Framework \GraphQl \Query \ResolverInterface ;
@@ -43,26 +44,34 @@ class Categories implements ResolverInterface
4344 */
4445 protected $ filterGroupBuilder ;
4546
47+ /**
48+ * @var ScopeResolverInterface
49+ */
50+ private $ scopeResolver ;
51+
4652 /**
4753 * Categories constructor.
4854 * @param SearchCriteriaBuilder $searchCriteriaBuilder
4955 * @param CategoryRepositoryInterface $categoryRepositoryInterface
5056 * @param DataProvider\Category $categoryDataProvider
5157 * @param FilterBuilder $filterBuilder
5258 * @param FilterGroupBuilder $filterGroupBuilder
59+ * @param ScopeResolverInterface $scopeResolver
5360 */
5461 public function __construct (
5562 SearchCriteriaBuilder $ searchCriteriaBuilder ,
5663 CategoryRepositoryInterface $ categoryRepositoryInterface ,
5764 DataProvider \Category $ categoryDataProvider ,
5865 FilterBuilder $ filterBuilder ,
59- FilterGroupBuilder $ filterGroupBuilder
66+ FilterGroupBuilder $ filterGroupBuilder ,
67+ ScopeResolverInterface $ scopeResolver
6068 ) {
6169 $ this ->searchCriteriaBuilder = $ searchCriteriaBuilder ;
6270 $ this ->categoryRepositoryInterface = $ categoryRepositoryInterface ;
6371 $ this ->categoryDataProvider = $ categoryDataProvider ;
6472 $ this ->filterBuilder = $ filterBuilder ;
6573 $ this ->filterGroupBuilder = $ filterGroupBuilder ;
74+ $ this ->scopeResolver = $ scopeResolver ;
6675 }
6776 /**
6877 * @inheritdoc
@@ -83,6 +92,16 @@ public function resolve(
8392
8493 $ filterGroups = $ searchCriteria ->getFilterGroups ();
8594 $ filterGroups [] = $ this ->filterGroupBuilder ->addFilter ($ statusFilter )->create ();
95+
96+ $ scope = $ this ->scopeResolver ->getScope ()->getId ();
97+
98+ $ scopeFilter = $ this ->filterBuilder
99+ ->setField ('store_id ' )
100+ ->setValue ($ scope )
101+ ->setConditionType ('eq ' )
102+ ->create ();
103+ $ filterGroups [] = $ this ->filterGroupBuilder ->addFilter ($ scopeFilter )->create ();
104+
86105 $ searchCriteria ->setFilterGroups ($ filterGroups );
87106
88107 $ searchResult = $ this ->categoryRepositoryInterface ->getList ($ searchCriteria );
0 commit comments