| Conditions | 7 |
| Paths | 10 |
| Total Lines | 30 |
| Code Lines | 17 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 23 | public function getResources(RequestConfiguration $requestConfiguration, RepositoryInterface $repository) |
||
| 24 | { |
||
| 25 | $method = $requestConfiguration->getRepositoryMethod(); |
||
| 26 | if (null !== $method) { |
||
| 27 | if (is_array($method) && 2 === count($method)) { |
||
| 28 | $repository = $method[0]; |
||
| 29 | $method = $method[1]; |
||
| 30 | } |
||
| 31 | |||
| 32 | $arguments = array_values($requestConfiguration->getRepositoryArguments()); |
||
| 33 | |||
| 34 | return $repository->$method(...$arguments); |
||
| 35 | } |
||
| 36 | |||
| 37 | $criteria = []; |
||
| 38 | if ($requestConfiguration->isFilterable()) { |
||
| 39 | $criteria = $requestConfiguration->getCriteria(); |
||
| 40 | } |
||
| 41 | |||
| 42 | $sorting = []; |
||
| 43 | if ($requestConfiguration->isSortable()) { |
||
| 44 | $sorting = $requestConfiguration->getSorting(); |
||
| 45 | } |
||
| 46 | |||
| 47 | if ($requestConfiguration->isPaginated()) { |
||
| 48 | return $repository->createPaginator($criteria, $sorting); |
||
| 49 | } |
||
| 50 | |||
| 51 | return $repository->findBy($criteria, $sorting, $requestConfiguration->getLimit()); |
||
| 52 | } |
||
| 53 | } |
||
| 54 |