X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FHttp%2FControllers%2FEpisodeController.php;h=d1e7e85612d08c7c1417fdda2df2f07f4a0bbaef;hb=6a5969b5d9bc6f68cdd85429251182bdd0e1d852;hp=d4ca78d44b27bf3b6e5b02cc9485edc2ca7853c0;hpb=dec43db11e9433f5bfcfaa091518082559cb3169;p=alttp.git diff --git a/app/Http/Controllers/EpisodeController.php b/app/Http/Controllers/EpisodeController.php index d4ca78d..d1e7e85 100644 --- a/app/Http/Controllers/EpisodeController.php +++ b/app/Http/Controllers/EpisodeController.php @@ -16,14 +16,25 @@ class EpisodeController extends Controller ]); $after = isset($validatedData['after']) ? $validatedData['after'] : Carbon::now()->sub(2, 'hours'); $before = isset($validatedData['before']) ? $validatedData['before'] : Carbon::now()->add(1, 'days'); - $episodes = Episode::with(['event', 'players', 'players.user']) + $episodes = Episode::with(['channels', 'event', 'players', 'players.user']) ->select('episodes.*') ->join('events', 'episodes.event_id', '=', 'events.id') ->where('episodes.confirmed', '=', true) ->where('episodes.start', '>=', $after) ->where('episodes.start', '<=', $before) ->where('events.visible', '=', true) + ->orderBy('episodes.start') ->limit(1000); + if ($request->user() && $request->user()->isPrivileged()) { + $episodes = $episodes->with(['crew', 'crew.user']); + } else { + $episodes = $episodes->with([ + 'crew' => function ($query) { + $query->where('confirmed', true); + }, + 'crew.user', + ]); + } return $episodes->get()->toJson(); }