]> git.localhorst.tv Git - alttp.git/blobdiff - app/Http/Controllers/EventController.php
better schedule start
[alttp.git] / app / Http / Controllers / EventController.php
index eb742399dab1d1ba9dfd1e8c172ed8e483bda502..a0dce45abb908bbd3202753f57b36f6957ed6af6 100644 (file)
@@ -3,18 +3,36 @@
 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();
        }
 
        public function single(Request $request, Event $event) {
                $this->authorize('view', $event);
+               $event->load('description');
                return $event->toJson();
        }