attributes->get('supervisor') ?? $request->user(); $bookings = EnsureSupervisorScope::bookingsQuery($supervisor) ->when($request->filled('status'), fn ($q) => $q->where('status', $request->string('status')->toString())) ->when($request->filled('date'), fn ($q) => $q->whereDate('slot_start', $request->string('date')->toString())) ->orderByDesc('slot_start') ->paginate($request->integer('per_page', 50)); return $this->success([ 'bookings' => BookingResource::collection($bookings), 'meta' => [ 'current_page' => $bookings->currentPage(), 'last_page' => $bookings->lastPage(), 'per_page' => $bookings->perPage(), 'total' => $bookings->total(), ], ]); } }