$validatedData = $request->validate([
'after' => 'nullable|date',
'before' => 'nullable|date',
+ 'event' => 'nullable|array',
+ 'event.*' => 'numeric',
]);
$after = isset($validatedData['after']) ? $validatedData['after'] : Carbon::now()->sub(2, 'hours');
$before = isset($validatedData['before']) ? $validatedData['before'] : Carbon::now()->add(1, 'days');
->where('events.visible', '=', true)
->orderBy('episodes.start')
->limit(1000);
- if ($request->user() && $request->user()->isAdmin()) {
- $episodes = $episodes->with('crew');
+ if (!empty($validatedData['event'])) {
+ $episodes = $episodes->whereIn('episodes.event_id', $validatedData['event']);
+ }
+ 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();