77 lines
2.1 KiB
PHP
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);
|
|
}
|
|
|