]> git.localhorst.tv Git - alttp.git/blobdiff - app/Http/Controllers/EpisodeController.php
pull crew user
[alttp.git] / app / Http / Controllers / EpisodeController.php
index d4ca78d44b27bf3b6e5b02cc9485edc2ca7853c0..d1e7e85612d08c7c1417fdda2df2f07f4a0bbaef 100644 (file)
@@ -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();
        }