public function postAdminStreamControlStreamState($id) { Auth::getUser()->hasPermissionOr401(Config::get("permissions.mediaItems"), 1); $mediaItem = MediaItem::with("liveStreamItem", "liveStreamItem.stateDefinition")->find($id); if (is_null($mediaItem)) { App::abort(404); } $liveStreamItem = $mediaItem->liveStreamItem; if (is_null($liveStreamItem)) { App::abort(404); } // should receive stream_state which is the value that the stream_state should be set to. $requestedState = null; if (isset($_POST['stream_state'])) { $requestedState = intval($_POST['stream_state']); } $stateDefinition = !is_null($requestedState) ? LiveStreamStateDefinition::find($requestedState) : null; if (is_null($stateDefinition)) { throw new Exception("Invalid stream state."); } $liveStreamItem->stateDefinition()->associate($stateDefinition); $liveStreamItem->save(); $resp = array("streamState" => intval($liveStreamItem->stateDefinition->id)); return Response::json($resp); }
public function hasJustLeftNotLive() { return !$this->isNotLive() && $this->exists && $this->isNotLive(LiveStreamStateDefinition::find($this->getOriginal("state_id", 1))); }