Re-implement NAC as a class based module (#9573)

* Less sql queries for nac module

* Re-implement NAC as a class based module

* Update comments

* update module capture order

* Fix style issues
This commit is contained in:
Tony Murray
2018-12-20 19:50:12 -06:00
committed by GitHub
parent 272e511964
commit 587c17e215
11 changed files with 280 additions and 84 deletions

View File

@@ -25,6 +25,7 @@
namespace LibreNMS;
use App\Models\Device;
use LibreNMS\Device\WirelessSensor;
use LibreNMS\Device\YamlDiscovery;
use LibreNMS\Interfaces\Discovery\ProcessorDiscovery;
@@ -42,6 +43,7 @@ class OS implements ProcessorDiscovery
}
private $device; // annoying use of references to make sure this is in sync with global $device variable
private $device_model;
private $cache; // data cache
private $pre_cache; // pre-fetch data cache
@@ -74,6 +76,20 @@ class OS implements ProcessorDiscovery
return (int)$this->device['device_id'];
}
/**
* Get the Eloquent Device Model for the current device
*
* @return Device
*/
public function getDeviceModel()
{
if (is_null($this->device_model)) {
$this->device_model = Device::find($this->getDeviceId());
}
return $this->device_model;
}
public function preCache()
{
if (is_null($this->pre_cache)) {