attributes->get('supervisor') ?? $request->user(); $machines = EnsureSupervisorScope::machinesQuery($supervisor) ->when($request->filled('status'), fn ($q) => $q->where('status', $request->string('status')->toString())) ->when($request->filled('establishment_id'), fn ($q) => $q->where('establishment_id', $request->integer('establishment_id'))) ->orderBy('name') ->paginate($request->integer('per_page', 50)); return $this->success([ 'machines' => MachineResource::collection($machines), 'meta' => [ 'current_page' => $machines->currentPage(), 'last_page' => $machines->lastPage(), 'per_page' => $machines->perPage(), 'total' => $machines->total(), ], ]); } }