/** * @param ExperienceManager $experienceManager * @return JsonResponse */ public function startWatching(ExperienceManager $experienceManager) { $validator = Validator::make(Request::all(), ['streamer' => 'required']); if ($validator->fails()) { return new JsonResponse($validator->errors(), 422); } if ($this->streamingUser->has(Request::input('streamer'))) { $data = $experienceManager->startWatching(); $status = 200; } else { // Error : no streaming in progress $status = 400; } return new JsonResponse($data, $status); }