Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Attributes
BookmarkManagement Class Reference
Inheritance diagram for BookmarkManagement:
BookmarkManagementInterface

Public Member Functions

 __construct (\Magento\Ui\Api\BookmarkRepositoryInterface $bookmarkRepository, \Magento\Framework\Api\FilterBuilder $filterBuilder, \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, \Magento\Authorization\Model\UserContextInterface $userContext)
 
 loadByNamespace ($namespace)
 
 getByIdentifierNamespace ($identifier, $namespace)
 

Protected Attributes

 $bookmarkRepository
 
 $searchCriteriaBuilder
 
 $filterBuilder
 
 $userContext
 

Detailed Description

Definition at line 9 of file BookmarkManagement.php.

Constructor & Destructor Documentation

◆ __construct()

Parameters
\Magento\Ui\Api\BookmarkRepositoryInterface$bookmarkRepository
\Magento\Framework\Api\FilterBuilder$filterBuilder
\Magento\Framework\Api\SearchCriteriaBuilder$searchCriteriaBuilder
\Magento\Authorization\Model\UserContextInterface$userContext

Definition at line 37 of file BookmarkManagement.php.

42  {
43  $this->bookmarkRepository = $bookmarkRepository;
44  $this->searchCriteriaBuilder = $searchCriteriaBuilder;
45  $this->filterBuilder = $filterBuilder;
46  $this->userContext = $userContext;
47  }

Member Function Documentation

◆ getByIdentifierNamespace()

getByIdentifierNamespace (   $identifier,
  $namespace 
)

{Retrieve bookmark by identifier and namespace

Parameters
string$identifier
string$namespace
Returns
\Magento\Ui\Api\Data\BookmarkInterface
}

Implements BookmarkManagementInterface.

Definition at line 77 of file BookmarkManagement.php.

78  {
79  $userIdFilter = $this->filterBuilder
80  ->setField('user_id')
81  ->setConditionType('eq')
82  ->setValue($this->userContext->getUserId())
83  ->create();
84  $identifierFilter = $this->filterBuilder
85  ->setField('identifier')
86  ->setConditionType('eq')
87  ->setValue($identifier)
88  ->create();
89  $namespaceFilter = $this->filterBuilder
90  ->setField('namespace')
91  ->setConditionType('eq')
92  ->setValue($namespace)
93  ->create();
94 
95  $this->searchCriteriaBuilder->addFilters([$userIdFilter]);
96  $this->searchCriteriaBuilder->addFilters([$identifierFilter]);
97  $this->searchCriteriaBuilder->addFilters([$namespaceFilter]);
98 
99  $searchCriteria = $this->searchCriteriaBuilder->create();
100  $searchResults = $this->bookmarkRepository->getList($searchCriteria);
101  if ($searchResults->getTotalCount() > 0) {
102  foreach ($searchResults->getItems() as $searchResult) {
103  $bookmark = $this->bookmarkRepository->getById($searchResult->getId());
104  return $bookmark;
105  }
106  }
107 
108  return null;
109  }
$searchCriteria

◆ loadByNamespace()

loadByNamespace (   $namespace)

{Retrieve list of bookmarks by namespace

Parameters
string$namespace
Returns
\Magento\Ui\Api\Data\BookmarkInterface[]
}

Implements BookmarkManagementInterface.

Definition at line 52 of file BookmarkManagement.php.

53  {
54  $userIdFilter = $this->filterBuilder
55  ->setField('user_id')
56  ->setConditionType('eq')
57  ->setValue($this->userContext->getUserId())
58  ->create();
59  $namespaceFilter = $this->filterBuilder
60  ->setField('namespace')
61  ->setConditionType('eq')
62  ->setValue($namespace)
63  ->create();
64 
65  $this->searchCriteriaBuilder->addFilters([$userIdFilter]);
66  $this->searchCriteriaBuilder->addFilters([$namespaceFilter]);
67 
68  $searchCriteria = $this->searchCriteriaBuilder->create();
69  $searchResults = $this->bookmarkRepository->getList($searchCriteria);
70 
71  return $searchResults;
72  }
$searchCriteria

Field Documentation

◆ $bookmarkRepository

$bookmarkRepository
protected

Definition at line 14 of file BookmarkManagement.php.

◆ $filterBuilder

$filterBuilder
protected

Definition at line 24 of file BookmarkManagement.php.

◆ $searchCriteriaBuilder

$searchCriteriaBuilder
protected

Definition at line 19 of file BookmarkManagement.php.

◆ $userContext

$userContext
protected

Definition at line 29 of file BookmarkManagement.php.


The documentation for this class was generated from the following file: