if (isset($validatedData['before'])) {
$episodes = $episodes->where('episodes.start', '<=', $validatedData['before']);
}
- $privIDs = $this->getUserPrivilegedEvents($request);
- if (!empty($privIDs)) {
- $episodes->where(function (Builder $query) use ($privIDs) {
- $query->where('episodes.confirmed', '=', true);
- $query->orWhereIn('episodes.event_id', $privIDs);
- });
- } else {
- $episodes->where('episodes.confirmed', '=', true);
+ if (!$this->userMaySeeAllEvents($request)) {
+ $privIDs = $this->getUserPrivilegedEvents($request);
+ if (!empty($privIDs)) {
+ $episodes->where(function (Builder $query) use ($privIDs) {
+ $query->where('episodes.confirmed', '=', true);
+ $query->orWhereIn('episodes.event_id', $privIDs);
+ });
+ } else {
+ $episodes->where('episodes.confirmed', '=', true);
+ }
}
if (!empty($validatedData['event'])) {
if (isset($validatedData['eventInvert']) && $validatedData['eventInvert']) {
return $episode->toJson();
}
+ private function userMaySeeAllEvents(Request $request) {
+ if (!$request->user()) {
+ return false;
+ }
+ return $request->user()->isPrivileged();
+ }
+
private function getUserPrivilegedEvents(Request $request): array {
if (!$request->user()) {
return [];