src/module-elasticsuite-catalog-optimizer/Api/OptimizerRepositoryInterface.php
<?php
/**
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Smile ElasticSuite to newer
* versions in the future.
*
* @category Smile
* @package Smile\ElasticsuiteCatalogOptimizer
* @author Fanny DECLERCK <fadec@smile.fr>
* @copyright 2020 Smile
* @license Open Software License ("OSL") v. 3.0
*/
namespace Smile\ElasticsuiteCatalogOptimizer\Api;
/**
* Optimizer Repository interface
*
* @category Smile
* @package Smile\ElasticsuiteCatalogOptimizer
* @author Fanny DECLERCK <fadec@smile.fr>
*/
interface OptimizerRepositoryInterface
{
/**
* Retrieve a optimizer by its ID
*
* @param int $optimizerId Id of the optimizer.
*
* @return \Smile\ElasticsuiteCatalogOptimizer\Api\Data\OptimizerInterface
* @throws \Magento\Framework\Exception\NoSuchEntityException
*/
public function getById($optimizerId);
/**
* Retrieve list of optimizer
*
* @return \Smile\ElasticsuiteCatalogOptimizer\Api\Data\OptimizerInterface
*/
public function getList();
/**
* save a optimizer
*
* @param \Smile\ElasticsuiteCatalogOptimizer\Api\Data\OptimizerInterface $optimizer Optimizer
*
* @return \Smile\ElasticsuiteCatalogOptimizer\Api\Data\OptimizerInterface
* @throws \Magento\Framework\Exception\NoSuchEntityException
*/
public function save(\Smile\ElasticsuiteCatalogOptimizer\Api\Data\OptimizerInterface $optimizer);
/**
* delete a optimizer
*
* @param \Smile\ElasticsuiteCatalogOptimizer\Api\Data\OptimizerInterface $optimizer Optimizer
*
* @return \Smile\ElasticsuiteCatalogOptimizer\Api\Data\OptimizerInterface
* @throws \Magento\Framework\Exception\NoSuchEntityException
*/
public function delete(\Smile\ElasticsuiteCatalogOptimizer\Api\Data\OptimizerInterface $optimizer);
/**
* Remove optimizer by given ID
*
* @param int $optimizerId Id of the optimizer.
*
* @return bool
* @throws \Magento\Framework\Exception\NoSuchEntityException
* @throws \Magento\Framework\Exception\InputException
*/
public function deleteById($optimizerId);
}