/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { try { $removed = $this->questionService->removeVote($id); } catch (QuestionServiceException $e) { return Response::json(['error' => $e->getMessage()], 406); } return Response::json($removed, 200, [], JSON_NUMERIC_CHECK); }
public function foldersForCrud(Request $request) { try { $folders = $this->questionService->getFoldersForCrud($request->get('page_size')); } catch (QuestionServiceException $e) { return Response::json(['error' => $e->getMessage()], 404); } $page = (int) Paginator::resolveCurrentPage(); if ($page !== $folders->currentPage()) { return Response::json(['error' => 'not found'], 404, [], JSON_NUMERIC_CHECK); } return Response::json([['total_entries' => $folders->total(), 'currentPage' => $folders->currentPage()], $folders->items()], 200, [], JSON_NUMERIC_CHECK); }
public function destroy($id) { try { $question = $this->questionService->removeQuestion($id); } catch (QuestionServiceException $e) { return Response::json(['error' => $e->getMessage()], 404); } return Response::json([$question], 200); }
/** * Display a listing of the resource. * * @return Response */ public function index(Request $request) { $type = $request->get('type'); if (empty($type)) { $type = 'list'; } switch ($type) { case 'popular': $tags = $this->questionService->getTagsPopular($request->get('page_size')); $page = (int) Paginator::resolveCurrentPage(); if (empty($page)) { $page = 1; } if ($page !== $tags->currentPage()) { return Response::json(['error' => 'not found'], 404, [], JSON_NUMERIC_CHECK); } $result = $tags->items(); break; case 'search': $result = $this->questionService->getTags($request->get('page_size')); break; case 'list': $tags = $this->questionService->getTagsPopular($request->get('page_size'), $request->get('search')); $page = (int) Paginator::resolveCurrentPage(); if (empty($page)) { $page = 1; } if ($page !== $tags->currentPage()) { return Response::json(['error' => 'not found'], 404, [], JSON_NUMERIC_CHECK); } $result = [['total_entries' => $tags->total(), 'currentPage' => $tags->currentPage()], $tags->items()]; break; default: $result = []; } return Response::json($result, 200, [], JSON_NUMERIC_CHECK); }
/** * Display a listing of the upvoted questions. * * @return Response */ public function questionsCommented(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->getQuestionsTopCommented($count, $where); $questions = $this->addLinks($request, $questions); return Response::json($questions, 200, [], JSON_NUMERIC_CHECK); }