Exemplo n.º 1
0
 /**
  * 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);
 }
Exemplo n.º 2
0
 /**
  * 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);
 }