event->visible; } /** * Determine whether the user can create models. * * @param \App\Models\User $user * @return \Illuminate\Auth\Access\Response|bool */ public function create(User $user) { return $user->isAdmin(); } /** * Determine whether the user can update the model. * * @param \App\Models\User $user * @param \App\Models\Episode $episode * @return \Illuminate\Auth\Access\Response|bool */ public function update(User $user, Episode $episode) { return $user->isAdmin(); } /** * Determine whether the user can delete the model. * * @param \App\Models\User $user * @param \App\Models\Episode $episode * @return \Illuminate\Auth\Access\Response|bool */ public function delete(User $user, Episode $episode) { return false; } /** * Determine whether the user can restore the model. * * @param \App\Models\User $user * @param \App\Models\Episode $episode * @return \Illuminate\Auth\Access\Response|bool */ public function restore(User $user, Episode $episode) { return false; } /** * Determine whether the user can permanently delete the model. * * @param \App\Models\User $user * @param \App\Models\Episode $episode * @return \Illuminate\Auth\Access\Response|bool */ public function forceDelete(User $user, Episode $episode) { return false; } /** * Determine whether the user can add restreams for the episode. * * @param \App\Models\User $user * @param \App\Models\Episode $episode * @return \Illuminate\Auth\Access\Response|bool */ public function addRestream(User $user, Episode $episode) { return $user->channel_crews() ->where('role', '=', 'admin') ->whereNotIn('channel_id', $episode->channels->pluck('id')) ->count() > 0; } /** * Determine whether the user can edit restreams from the episode. * * @param \App\Models\User $user * @param \App\Models\Episode $episode * @return \Illuminate\Auth\Access\Response|bool */ public function editRestream(User $user, Episode $episode) { return $user->channel_crews() ->where('role', '=', 'admin') ->whereIn('channel_id', $episode->channels->pluck('id')) ->count() > 0; } /** * Determine whether the user can remove restreams from the episode. * * @param \App\Models\User $user * @param \App\Models\Episode $episode * @return \Illuminate\Auth\Access\Response|bool */ public function removeRestream(User $user, Episode $episode) { return $user->channel_crews() ->where('role', '=', 'admin') ->whereIn('channel_id', $episode->channels->pluck('id')) ->count() > 0; } }