json(DataTableFacade::run( CMMSMachine::query(), $request, allowedFilters: ['*'], allowedSortings: ['*'], allowedSelects: ['machine_code', 'id', 'plak_number', 'car_name', 'car_type', 'status', 'province_id', 'city_id', 'station_id', 'status','driver_name'], )); } public function list(): JsonResponse { $machinesList = CMMSMachine::query()->get(['machine_code', 'id', 'plak_number', 'car_name', 'car_type', 'status']); return $this->successResponse($machinesList); } public function search(Request $request): JsonResponse { $matchedSearchedMachines = CMMSMachine::query() ->where('machine_code', 'LIKE', "%{$request->machine_code}%") ->get(['machine_code', 'id', 'plak_number', 'car_name', 'status']); return $this->successResponse($matchedSearchedMachines); } public function carTypes(): Collection { return DB::table('cmms_machines') ->distinct() ->pluck('car_type'); } public function update(UpdateRequest $request , CMMSMachine $machine): JsonResponse { $machine->update([ 'status' => $request->status, 'province_id' => $request->province_id, 'city_id' => $request->city_id, 'station_id' => $request->station_id, ]); return $this->successResponse(); } }