New-Thanasoft/thanasoft-back/app/Repositories/ProductRepositoryInterface.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;
}