47 lines
1.5 KiB
PHP
47 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Ulmus\SearchRequest;
|
|
|
|
use Ulmus\Repository;
|
|
|
|
interface SearchRequestInterface {
|
|
public const SEARCH_REQUEST_OPERATORS = "searchRequest:operators";
|
|
public const SEARCH_REQUEST_OPERATOR_LIKE = "LIKE";
|
|
public const SEARCH_REQUEST_OPERATOR_EQUAL = "=";
|
|
public const SEARCH_REQUEST_OPERATOR_NOT_EQUAL = "!=";
|
|
public const SEARCH_REQUEST_OPERATOR_GREATER_THAN = ">";
|
|
public const SEARCH_REQUEST_OPERATOR_GREATER_OR_EQUAL_THAN = ">=";
|
|
public const SEARCH_REQUEST_OPERATOR_SMALLER_THAN = "<";
|
|
public const SEARCH_REQUEST_OPERATOR_SMALLER_OR_EQUAL_THAN = "<=";
|
|
|
|
public const SEARCH_REQUEST_CONDITIONS = "searchRequest:conditions";
|
|
public const SEARCH_REQUEST_CONDITION_AND = "AND";
|
|
public const SEARCH_REQUEST_CONDITION_OR= "OR";
|
|
|
|
public function filter(Repository $repository) : Repository;
|
|
|
|
public function wheres() : iterable;
|
|
|
|
public function wheresConditions() : iterable;
|
|
|
|
public function wheresOperators() : iterable;
|
|
|
|
public function likes() : iterable;
|
|
|
|
public function likesConditions() : iterable;
|
|
|
|
public function likesOperators() : iterable;
|
|
|
|
public function orders() : iterable;
|
|
|
|
public function groups() : iterable;
|
|
|
|
public function limit() : int;
|
|
|
|
public function offset() : int;
|
|
|
|
public function applyCount(Repository\RepositoryInterface $repository) : SearchRequestInterface;
|
|
|
|
public function apply(Repository\RepositoryInterface $repository) : SearchRequestInterface;
|
|
}
|