/** * Display a listing of the recent questions. * * @return Response */ public function questionsRecent(Request $request) { $count = $request->get('count'); if (empty($count)) { $count = 3; } $where = []; $date = $request->get('date_start'); if (!empty($date)) { $where['date_start'] = $date; } $date = $request->get('date_end'); if (!empty($date)) { $where['date_end'] = $date; } /** @var \Illuminate\Pagination\LengthAwarePaginator $questions */ $questions = $this->questionService->getQuestions($count, $where); $questions = $this->addLinks($request, $questions); return Response::json($questions->items(), 200); }
/** * Display a listing of the resource. * * @return Response */ public function index(Request $request) { $folder = $request->get('folder'); $search = $request->get('search'); $tag = $request->get('tag'); /** @var \Illuminate\Pagination\LengthAwarePaginator $questions */ if (empty($search) && empty($folder) && !empty($tag)) { $questions = $this->questionService->getQuestions($request->get('page_size'), ['tag' => $tag]); } elseif (empty($search) && empty($tag) && !empty($folder)) { $questions = $this->questionService->getQuestions($request->get('page_size'), ['folder' => $folder]); } else { $questions = $this->questionService->getQuestions($request->get('page_size')); } $page = (int) Paginator::resolveCurrentPage(); if (empty($page)) { $page = 1; } if ($page !== $questions->currentPage()) { return Response::json(['error' => 'not found'], 404, [], JSON_NUMERIC_CHECK); } return Response::json([['total_entries' => $questions->total(), 'currentPage' => $questions->currentPage()], $questions->items()], 200, [], JSON_NUMERIC_CHECK); }