/** * @param ExperienceManager $experienceManager * @return JsonResponse */ public function updateWatching(ExperienceManager $experienceManager) { $validator = Validator::make(Request::all(), ['token' => 'required', 'streamer' => 'required']); if ($validator->fails()) { return new JsonResponse($validator->errors(), 422); } if ($this->streamingUser->has(Request::input('streamer'))) { $data = $experienceManager->processExpRequest(Request::all()); switch ($data) { case ExperienceManager::NEED_RESYNC: $status = 400; break; default: $status = 200; break; } // TODO : check data returned to see if it's ok or need resync } else { // Error : no streaming in progress $status = 400; } return new JsonResponse($data, $status); }