/home/brandsfa/annurbd.com/app/Contracts/Repositories/ProductRepositoryInterface.php
<?php
namespace App\Contracts\Repositories;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Pagination\LengthAwarePaginator;
/**
*
*/
interface ProductRepositoryInterface extends RepositoryInterface
{
/**
* @param array $params
* @param array $relations
* @return Model|null
*/
public function getFirstWhereActive(array $params, array $relations = []): ?Model;
/**
* @param array $params
* @param array $relations
* @param array $withCount
* @return Model|null
*/
public function getWebFirstWhereActive(array $params, array $relations = [], array $withCount = []): ?Model;
/**
* @param array $params
* @param array $relations
* @return Model|null
*/
public function getFirstWhereWithoutGlobalScope(array $params, array $relations = []): ?Model;
/**
* @param array $orderBy
* @param string|null $searchValue
* @param array $filters
* @param array $withCount
* @param array $relations
* @param int|string $dataLimit
* @param int|null $offset
* @return Collection|LengthAwarePaginator
*/
public function getStockLimitListWhere(array $orderBy=[], string $searchValue = null, array $filters = [], array $withCount = [], array $relations = [], int|string $dataLimit = DEFAULT_DATA_LIMIT, int $offset = null): Collection|LengthAwarePaginator;
/**
* @param array $data
* @return bool
*/
public function addArray(array $data): bool;
/**
* @param array $filters
* @param array $whereNotIn
* @param array $relations
* @param int|string $dataLimit
* @param int|null $offset
* @return Collection|LengthAwarePaginator
*/
public function getListWhereNotIn(array $filters = [], array $whereNotIn = [], array $relations = [], int|string $dataLimit = DEFAULT_DATA_LIMIT, int $offset = null): Collection|LengthAwarePaginator;
/**
* @param array $orderBy
* @param string|null $searchValue
* @param string|null $scope
* @param array $filters
* @param array $whereIn
* @param array $whereNotIn
* @param array $relations
* @param array $withCount
* @param int|string $dataLimit
* @param int|null $offset
* @return Collection|LengthAwarePaginator
*/
public function getListWithScope(array $orderBy = [], string $searchValue = null, string $scope = null, array $filters = [], array $whereIn = [], array $whereNotIn = [], array $relations = [], array $withCount = [], int|string $dataLimit = DEFAULT_DATA_LIMIT, int $offset = null): Collection|LengthAwarePaginator;
/**
* @param array $orderBy
* @param string|null $searchValue
* @param string|null $scope
* @param array $filters
* @param array $whereHas
* @param array $whereIn
* @param array $whereNotIn
* @param array $relations
* @param array $withCount
* @param array $withSum
* @param int|string $dataLimit
* @param int|null $offset
* @return Collection|LengthAwarePaginator
*/
public function getWebListWithScope(array $orderBy = [], string $searchValue = null, string $scope = null, array $filters = [], array $whereHas = [], array $whereIn = [], array $whereNotIn = [], array $relations = [], array $withCount = [], array $withSum = [], int|string $dataLimit = DEFAULT_DATA_LIMIT, int $offset = null): Collection|LengthAwarePaginator;
/**
* @param array $filters
* @param array $relations
* @param int|string $dataLimit
* @param int|null $offset
* @return Collection|LengthAwarePaginator
*/
public function getTopRatedList(array $filters = [] , array $relations = [], int|string $dataLimit = DEFAULT_DATA_LIMIT, int $offset = null): Collection|LengthAwarePaginator;
/**
* @param array $filters
* @param array $relations
* @param int|string $dataLimit
* @param int|null $offset
* @return Collection|LengthAwarePaginator
*/
public function getTopSellList(array $filters = [] ,array $relations = [], int|string $dataLimit = DEFAULT_DATA_LIMIT, int $offset = null): Collection|LengthAwarePaginator ;
/**
* @param array $params
* @param array $withCount
* @param array $relations
* @return Model|null
*/
public function getFirstWhereWithCount(array $params, array $withCount = [] , array $relations = []): ?Model;
/**
* @param array $filters
* @return Collection|array
*/
public function getProductIds(array $filters = []): \Illuminate\Support\Collection|array;
public function updateByParams(array $params, array $data): bool;
}