123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- declare(strict_types=1);
- namespace Magento\InventoryCatalog\Model;
- use Magento\Framework\Api\SearchCriteriaBuilder;
- use Magento\InventoryApi\Api\Data\SourceInterface;
- use Magento\InventoryApi\Api\SourceRepositoryInterface;
- use Magento\InventoryCatalogApi\Model\IsSingleSourceModeInterface;
- /**
- * @inheritdoc
- */
- class IsSingleSourceMode implements IsSingleSourceModeInterface
- {
- /**
- * @var SearchCriteriaBuilder
- */
- private $searchCriteriaBuilder;
- /**
- * @var SourceRepositoryInterface
- */
- private $sourceRepository;
- /**
- * @param SourceRepositoryInterface $sourceRepository
- * @param SearchCriteriaBuilder $searchCriteriaBuilder
- */
- public function __construct(
- SourceRepositoryInterface $sourceRepository,
- SearchCriteriaBuilder $searchCriteriaBuilder
- ) {
- $this->sourceRepository = $sourceRepository;
- $this->searchCriteriaBuilder = $searchCriteriaBuilder;
- }
- /**
- * @inheritdoc
- */
- public function execute(): bool
- {
- $searchCriteria = $this->searchCriteriaBuilder
- ->addFilter(SourceInterface::ENABLED, true)
- ->create();
- $searchResult = $this->sourceRepository->getList($searchCriteria);
- return $searchResult->getTotalCount() < 2;
- }
- }
|