21 lines
647 B
PHP
21 lines
647 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Repositories;
|
|
|
|
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
|
|
|
interface ProductRepositoryInterface extends BaseRepositoryInterface
|
|
{
|
|
public function paginate(int $perPage = 15, array $filters = []): LengthAwarePaginator;
|
|
|
|
public function getLowStockProducts(int $perPage = 15): LengthAwarePaginator;
|
|
|
|
public function searchByName(string $name, int $perPage = 15, bool $exactMatch = false);
|
|
|
|
public function getByCategory(string $category, int $perPage = 15): LengthAwarePaginator;
|
|
|
|
public function getProductsByFournisseur(int $fournisseurId): LengthAwarePaginator;
|
|
}
|