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();
}