/**
  * @api            {get} /tasks Search Tasks
  * @apiGroup       Tasks
  * @apiDescription Find tasks.
  *
  * @param Request $request
  *
  * @return \Illuminate\Http\Response
  */
 public function index(Request $request)
 {
     $this->validate($request, ['cost' => 'integer|between:1,5', 'time' => 'integer|between:1,5']);
     $tasks = Task::query();
     if ($cost = $request->input('cost')) {
         $tasks->where('cost', '<=', $cost);
     }
     if ($time = $request->input('time')) {
         $tasks->where('cost', '<=', $time);
     }
     $tasks->orderByRaw("RAND()");
     $tasks->take('1');
     $task = $tasks->first();
     if ($task) {
         $taskArray = $task->toArray();
         $taskArray['sticker'] = $task->getSticker();
     } else {
         throw new NotFoundHttpException("No tasks matching those criteria were found.");
     }
     return $this->response(['task' => $taskArray]);
 }
 protected function getSearchableList()
 {
     return Task::query();
 }