Skip to content

Commit 1d5b8e0

Browse files
committed
Add posts filter by store
1 parent aa34cd3 commit 1d5b8e0

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

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')

0 commit comments

Comments
 (0)