X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FHttp%2FControllers%2FEventController.php;h=bfe9efd82eaa854f0f4836637f711264dfb0e379;hb=b3beaab812bf23fec423d1d0823b2a25b137ccae;hp=eb742399dab1d1ba9dfd1e8c172ed8e483bda502;hpb=071885a30f24b980699b337d9cdb65952f8c6c42;p=alttp.git diff --git a/app/Http/Controllers/EventController.php b/app/Http/Controllers/EventController.php index eb74239..bfe9efd 100644 --- a/app/Http/Controllers/EventController.php +++ b/app/Http/Controllers/EventController.php @@ -3,13 +3,30 @@ namespace App\Http\Controllers; use App\Models\Event; +use Carbon\Carbon; use Illuminate\Http\Request; class EventController extends Controller { public function search(Request $request) { + $validatedData = $request->validate([ + 'after' => 'nullable|date', + 'before' => 'nullable|date', + ]); $events = Event::where('visible', '=', true); + if (isset($validatedData['before'])) { + $events = $events->where(function ($query) use ($validatedData) { + $query->whereNull('start'); + $query->orWhere('start', '<', $validatedData['before']); + }); + } + if (isset($validatedData['after'])) { + $events = $events->where(function ($query) use ($validatedData) { + $query->whereNull('end'); + $query->orWhere('end', '>', $validatedData['after']); + }); + } return $events->get()->toJson(); }