parent::__construct($repository, 'r', $paginator); | parent::__construct($repository, 'r', $paginator); | ||||
} | } | ||||
public function filterBase($params = []) | |||||
{ | |||||
$this->filterDone(); | |||||
if(array_key_exists('user', $params)) { | |||||
$this->filterUser($params['user']); | |||||
} | |||||
if(array_key_exists('crudAction', $params)) { | |||||
$this->filterCrudAction($params['crudAction']); | |||||
} | |||||
if(array_key_exists('crudControllerFqcn', $params)) { | |||||
$this->filterCrudControllerFqcn($params['crudControllerFqcn']); | |||||
} | |||||
if(array_key_exists('entityId', $params)) { | |||||
$this->filterEntityId($params['entityId']); | |||||
} | |||||
$this->orderDefault(); | |||||
return $this; | |||||
} | |||||
public function filterDone($done = false) | public function filterDone($done = false) | ||||
{ | { | ||||
return $this | return $this |
$this->query = $query; | $this->query = $query; | ||||
} | } | ||||
public function get($params = []) | |||||
public function get($params = [], $query = null) | |||||
{ | { | ||||
$query = $this->query->create(); | |||||
$query->filterBase($params) ; | |||||
if(is_null($query)) { | |||||
$query = $this->query->create(); | |||||
} | |||||
$query->filterDone(); | |||||
if(array_key_exists('user', $params)) { | |||||
$query->filterUser($params['user']); | |||||
} | |||||
if(array_key_exists('crudAction', $params)) { | |||||
$query->filterCrudAction($params['crudAction']); | |||||
} | |||||
if(array_key_exists('crudControllerFqcn', $params)) { | |||||
$query->filterCrudControllerFqcn($params['crudControllerFqcn']); | |||||
} | |||||
if(array_key_exists('entityId', $params)) { | |||||
$query->filterEntityId($params['entityId']); | |||||
} | |||||
$query->orderDefault(); | |||||
return $query->find(); | return $query->find(); | ||||
} | } | ||||