12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- declare(strict_types=1);
- namespace Magento\InventoryApi\Api;
- /**
- * In Magento 2 Repository considered as an implementation of Facade pattern which provides a simplified interface
- * to a larger body of code responsible for Domain Entity management
- *
- * The main intention is to make API more readable and reduce dependencies of business logic code on the inner workings
- * of a module, since most code uses the facade, thus allowing more flexibility in developing the system
- *
- * Along with this such approach helps to segregate two responsibilities:
- * 1. Repository now could be considered as an API - Interface for usage (calling) in the business logic
- * 2. Separate class-commands to which Repository proxies initial call (like, Get Save GetList Delete) could be
- * considered as SPI - Interfaces that you should extend and implement to customize current behaviour
- *
- * The method save is absent, due to different semantic (save multiple)
- * @see SourceItemsSaveInterface
- *
- * There is no get method because SourceItem identifies by compound identifier (sku and source_code),
- * so need to use getList() method
- *
- * Used fully qualified namespaces in annotations for proper work of WebApi request parser
- *
- * @api
- */
- interface SourceItemRepositoryInterface
- {
- /**
- * Find SourceItems by SearchCriteria
- *
- * We need to have this method for direct work with SourceItems because this object contains
- * additional data like as qty, status (for example can be searchable by additional field)
- *
- * @param \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria
- * @return \Magento\InventoryApi\Api\Data\SourceItemSearchResultsInterface
- */
- public function getList(
- \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria
- ): \Magento\InventoryApi\Api\Data\SourceItemSearchResultsInterface;
- }
|