public function index(DataTableSearch $request): JsonResponse 	{ 		$customers = Customer::with('authParent')->join('users', 'customers.id', '=', 'users.user_id') 		->select('customers.id', 'customers.created_at', 'users.active', 'users.name', 'customers.position', 'customers.phone');  		return DataTables::eloquent($customers) 		->order(static function (object $query) use ($request): void { 			$order_array = $request->get('order') ?? []; 			$columns_array = $request->columns;  			if (filled($order_array)) { 				foreach (array_column($order_array, 'dir', 'column') as $column_index => $order_direction) { 					$query->orderBy($columns_array[$column_index]['name'], $order_direction); 				} 			} else { 				$query->latest(); 			} 		}) 		->addColumn('name', static fn (Customer $row) => $row->authParent->name) 		->addColumn('position', static fn (Customer $row) => $row->position) 		->addColumn('phone', static fn (Customer $row) => $row->phone) 		->addColumn('edit', static fn (Customer $row): View => view('layouts.edit_button', ['path' => ['customers.edit' => $row->getKey()]])) 		->addColumn('created_at', static fn (Customer $row): string => '<td data-order="' . formatTimestamp($row->created_at, 'U') . '">' . formatLocalTimestamp($row->created_at) . '</td>') 		->addColumn('checkbox', static fn (Customer $row): View => view('layouts.option_buttons', ['value' => $row->getKey()])) 		->addColumn('active', static fn (Customer $row): View => view('layouts.bool_badge', ['value' => $row->authParent->active])) 		->rawColumns([ 			'edit', 			'name', 			'position', 			'phone', 			'active', 			'created_at', 			'checkbox', 		]) 		->toJson(); 	}