/** * {@inheritdoc} */ public function getAction(RestRequest $restRequest, $id = null) { if ($id !== null) { $data = $restRequest->getRepository()->find($id, Repository::RESULTS_ARRAY); if ($data === null) { return $this->renderRest(null, Response::HTTP_NOT_FOUND); } } else { $search = new Search(); !$restRequest->query->has('from') ?: $search->setFrom($restRequest->query->get('from')); !$restRequest->query->has('size') ?: $search->setSize($restRequest->query->get('size')); $data = $restRequest->getRepository()->execute($search, Repository::RESULTS_ARRAY); } return $this->renderRest($data); }
/** * {@inheritdoc} */ public function modifySearch(Search $search, FilterState $state = null, SearchRequest $request = null) { if ($state && $state->isActive()) { $search->setFrom($this->countPerPage * ($state->getValue() - 1)); } $search->setSize($this->countPerPage); }