| @@ 59-78 (lines=20) @@ | ||
| 56 | return $this->findCount($analysedQuery); |
|
| 57 | } |
|
| 58 | ||
| 59 | private function buildResult(AnalysedQuery $analysedQuery, Pager $pager) |
|
| 60 | { |
|
| 61 | $items = $this->findItems($analysedQuery, $pager); |
|
| 62 | ||
| 63 | if (count($items) === 0) { |
|
| 64 | return $this->buildResultForEmptyItems($analysedQuery, $pager); |
|
| 65 | } |
|
| 66 | ||
| 67 | $orderingConfigurations = $analysedQuery->getOrderingConfigurations(); |
|
| 68 | $previousCursor = $this->cursorBuilder->getCursorFromItem($items[0], $orderingConfigurations); |
|
| 69 | $nextCursor = $this->cursorBuilder->getCursorFromItem($items[count($items) - 1], $orderingConfigurations); |
|
| 70 | ||
| 71 | return (new Result()) |
|
| 72 | ->setItems($items) |
|
| 73 | ->setPreviousCursor($previousCursor) |
|
| 74 | ->setNextCursor($nextCursor) |
|
| 75 | ->setHasPrevious($this->existsBeforeCursor($previousCursor, $analysedQuery)) |
|
| 76 | ->setHasNext($this->existsAfterCursor($nextCursor, $analysedQuery)) |
|
| 77 | ; |
|
| 78 | } |
|
| 79 | ||
| 80 | private function findItems(AnalysedQuery $analysedQuery, Pager $pager) |
|
| 81 | { |
|
| @@ 53-72 (lines=20) @@ | ||
| 50 | // return $this->findCount($analysedQuery); |
|
| 51 | // } |
|
| 52 | ||
| 53 | private function buildResult(AnalysedQuery $analysedQuery, Pager $pager) |
|
| 54 | { |
|
| 55 | $items = $this->findItems($analysedQuery, $pager); |
|
| 56 | ||
| 57 | if (count($items) === 0) { |
|
| 58 | return $this->buildResultForEmptyItems($analysedQuery, $pager); |
|
| 59 | } |
|
| 60 | ||
| 61 | $orderingConfigurations = $analysedQuery->getOrderingConfigurations(); |
|
| 62 | $previousCursor = $this->cursorBuilder->getCursorFromItem($items[0], $orderingConfigurations); |
|
| 63 | $nextCursor = $this->cursorBuilder->getCursorFromItem($items[count($items) - 1], $orderingConfigurations); |
|
| 64 | ||
| 65 | return (new Result()) |
|
| 66 | ->setItems($items) |
|
| 67 | ->setPreviousCursor($previousCursor) |
|
| 68 | ->setNextCursor($nextCursor) |
|
| 69 | ->setHasPrevious($this->existsBeforeCursor($previousCursor, $analysedQuery)) |
|
| 70 | ->setHasNext($this->existsAfterCursor($nextCursor, $analysedQuery)) |
|
| 71 | ; |
|
| 72 | } |
|
| 73 | ||
| 74 | private function findItems(AnalysedQuery $analysedQuery, Pager $pager) |
|
| 75 | { |
|