New-Thanasoft/thanasoft-back/app/Repositories/ProductRepositoryInterface.php
2026-05-13 10:07:03 +03:00

25 lines
761 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 getStatistics(): array;
public function findInterventionProduct(): ?\App\Models\Product;
}