Files
stemcell/app/code/Stemcell/Customer/Api/LabRepositoryInterface.php
T
2026-09-15 10:26:34 +08:00

77 lines
2.1 KiB
PHP

<?php
declare(strict_types=1);
namespace Stemcell\Customer\Api;
use Magento\Framework\Api\SearchCriteriaInterface;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Exception\NoSuchEntityException;
use Stemcell\Customer\Api\Data\LabInterface;
use Stemcell\Customer\Model\ResourceModel\Lab;
interface LabRepositoryInterface
{
/**
* Save Lab
* @param \Stemcell\Customer\Api\Data\LabInterface $lab
* @return \Stemcell\Customer\Api\Data\LabInterface
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function save(
\Stemcell\Customer\Api\Data\LabInterface $lab
);
/**
* Retrieve Lab
* @param string $labId
* @return \Stemcell\Customer\Api\Data\LabInterface
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function get($labId);
/**
* Retrieve Lab matching the specified criteria.
* @param \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria
* @return \Stemcell\Customer\Api\Data\LabSearchResultsInterface
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function getList(
\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria
);
/**
* Delete Lab
* @param \Stemcell\Customer\Api\Data\LabInterface $lab
* @return bool true on success
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function delete(
\Stemcell\Customer\Api\Data\LabInterface $lab
);
/**
* Delete Lab by ID
* @param string $labId
* @return bool true on success
* @throws \Magento\Framework\Exception\NoSuchEntityException
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function deleteById($labId);
/**
* @param int $customerId
* @return Lab\Collection
* @throws LocalizedException
*/
public function getByDealerId(int $customerId);
/**
* @param $labCode \Stemcell\Customer\Model\Lab Code
* @return LabInterface
* @throws NoSuchEntityException
*/
public function getByLabCode($labCode);
}