23 lines
716 B
PHP
23 lines
716 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(int $categoryId, int $perPage = 15): LengthAwarePaginator;
|
|
|
|
public function getProductsByFournisseur(int $fournisseurId): LengthAwarePaginator;
|
|
|
|
public function findInterventionProduct(): ?\App\Models\Product;
|
|
}
|