Skip to content

Commit 626fcb6

Browse files
authored
Merge pull request #15 from magefan/4536-add-store-id-to-blog-gql
4536 add store id to blog gql
2 parents aa34cd3 + 274ee9e commit 626fcb6

File tree

3 files changed

+59
-3
lines changed

3 files changed

+59
-3
lines changed

Model/Resolver/Categories.php

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
use Magento\Framework\Api\FilterBuilder;
1111
use Magento\Framework\Api\Search\FilterGroupBuilder;
12+
use Magento\Framework\App\ScopeResolverInterface;
1213
use Magento\Framework\GraphQl\Query\Resolver\Argument\SearchCriteria\Builder as SearchCriteriaBuilder;
1314
use Magento\Framework\GraphQl\Config\Element\Field;
1415
use 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);

Model/Resolver/Posts.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
1717
use Magefan\Blog\Api\PostRepositoryInterface;
1818
use Magento\Framework\Api\SortOrderBuilder;
19+
use Magento\Framework\App\ScopeResolverInterface;
1920

2021
/**
2122
* Class Posts
@@ -50,6 +51,11 @@ class Posts implements ResolverInterface
5051
*/
5152
protected $filterGroupBuilder;
5253

54+
/**
55+
* @var ScopeResolverInterface
56+
*/
57+
private $scopeResolver;
58+
5359
/**
5460
* Posts constructor.
5561
* @param SearchCriteriaBuilder $searchCriteriaBuilder
@@ -58,21 +64,24 @@ class Posts implements ResolverInterface
5864
* @param DataProvider\Post $postDataProvider
5965
* @param FilterBuilder $filterBuilder
6066
* @param FilterGroupBuilder $filterGroupBuilder
67+
* @param ScopeResolverInterface $scopeResolver
6168
*/
6269
public function __construct(
6370
SearchCriteriaBuilder $searchCriteriaBuilder,
6471
PostRepositoryInterface $postRepository,
6572
SortOrderBuilder $sortOrderBuilder,
6673
DataProvider\Post $postDataProvider,
6774
FilterBuilder $filterBuilder,
68-
FilterGroupBuilder $filterGroupBuilder
75+
FilterGroupBuilder $filterGroupBuilder,
76+
ScopeResolverInterface $scopeResolver
6977
) {
7078
$this->searchCriteriaBuilder = $searchCriteriaBuilder;
7179
$this->postRepository = $postRepository;
7280
$this->sortOrderBuilder = $sortOrderBuilder;
7381
$this->postDataProvider = $postDataProvider;
7482
$this->filterBuilder = $filterBuilder;
7583
$this->filterGroupBuilder = $filterGroupBuilder;
84+
$this->scopeResolver = $scopeResolver;
7685
}
7786
/**
7887
* @inheritdoc
@@ -94,6 +103,15 @@ public function resolve(
94103
$filterGroups = $searchCriteria->getFilterGroups();
95104
$filterGroups[] = $this->filterGroupBuilder->addFilter($statusFilter)->create();
96105

106+
$scope = $this->scopeResolver->getScope()->getId();
107+
108+
$scopeFilter = $this->filterBuilder
109+
->setField('store_id')
110+
->setValue($scope)
111+
->setConditionType('eq')
112+
->create();
113+
$filterGroups[] = $this->filterGroupBuilder->addFilter($scopeFilter)->create();
114+
97115
if (isset($args['filter']['post_id']['in'])) {
98116
$postIdFilter = $this->filterBuilder
99117
->setField('post_id')

Model/Resolver/Tags.php

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
use Magento\Framework\Api\FilterBuilder;
1111
use Magento\Framework\Api\Search\FilterGroupBuilder;
12+
use Magento\Framework\App\ScopeResolverInterface;
1213
use Magento\Framework\GraphQl\Query\Resolver\Argument\SearchCriteria\Builder as SearchCriteriaBuilder;
1314
use Magento\Framework\GraphQl\Config\Element\Field;
1415
use Magento\Framework\GraphQl\Query\ResolverInterface;
@@ -43,26 +44,34 @@ class Tags implements ResolverInterface
4344
*/
4445
private $filterGroupBuilder;
4546

47+
/**
48+
* @var ScopeResolverInterface
49+
*/
50+
private $scopeResolver;
51+
4652
/**
4753
* Comments constructor.
4854
* @param SearchCriteriaBuilder $searchCriteriaBuilder
4955
* @param TagRepositoryInterface $tagRepository
5056
* @param DataProvider\Tag $tagDataProvider
5157
* @param FilterBuilder $filterBuilder
5258
* @param FilterGroupBuilder $filterGroupBuilder
59+
* @param ScopeResolverInterface $scopeResolver
5360
*/
5461
public function __construct(
5562
SearchCriteriaBuilder $searchCriteriaBuilder,
5663
TagRepositoryInterface $tagRepository,
5764
DataProvider\Tag $tagDataProvider,
5865
FilterBuilder $filterBuilder,
59-
FilterGroupBuilder $filterGroupBuilder
66+
FilterGroupBuilder $filterGroupBuilder,
67+
ScopeResolverInterface $scopeResolver
6068
) {
6169
$this->searchCriteriaBuilder = $searchCriteriaBuilder;
6270
$this->tagRepository = $tagRepository;
6371
$this->tagDataProvider = $tagDataProvider;
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->tagRepository->getList($searchCriteria);

0 commit comments

Comments
 (0)