Rewrite agent packages parsing code (#13840)

* Rewrite agent packages parsing code
but less crazy

* fixes

* remove commented code

* alphabetical

* Less code duplication

* fix style
This commit is contained in:
Tony Murray
2022-03-12 14:39:58 -06:00
committed by GitHub
parent 19e0ad604a
commit 964cdfbbc3
4 changed files with 159 additions and 152 deletions

View File

@@ -25,8 +25,29 @@
namespace App\Models;
class Package extends DeviceRelatedModel
use LibreNMS\Interfaces\Models\Keyable;
class Package extends DeviceRelatedModel implements Keyable
{
public $timestamps = false;
protected $primaryKey = 'pkg_id';
protected $fillable = [
'name',
'manager',
'status',
'version',
'build',
'arch',
'size',
];
public function getCompositeKey()
{
return "$this->manager-$this->name-$this->arch";
}
public function __toString()
{
return $this->name . ' (' . $this->arch . ') version ' . $this->version . ($this->build ? "-$this->build" : '');
}
}

View File

@@ -0,0 +1,70 @@
<?php
namespace App\Observers;
use App\Models\Package;
use Log;
class PackageObserver
{
/**
* Handle the Package "created" event.
*
* @param \App\Models\Package $package
* @return void
*/
public function created(Package $package)
{
Log::event('Package installed: ' . $package, $package->device_id, 'package', 3);
Log::info("+ $package");
}
/**
* Handle the Package "updated" event.
*
* @param \App\Models\Package $package
* @return void
*/
public function updated(Package $package)
{
if ($package->getOriginal('version') !== $package->version || $package->getOriginal('build') !== $package->build) {
$message = $package . ' from ' . $package->getOriginal('version') . ($package->getOriginal('build') ? '-' . $package->getOriginal('build') : '');
Log::event('Package updated: ' . $message, $package->device_id, 'package', 3);
Log::info("u $message");
}
}
/**
* Handle the Package "deleted" event.
*
* @param \App\Models\Package $package
* @return void
*/
public function deleted(Package $package)
{
Log::event('Package removed: ' . $package, $package->device_id, 'package', 3);
Log::info("- $package");
}
/**
* Handle the Package "restored" event.
*
* @param \App\Models\Package $package
* @return void
*/
public function restored(Package $package)
{
//
}
/**
* Handle the Package "force deleted" event.
*
* @param \App\Models\Package $package
* @return void
*/
public function forceDeleted(Package $package)
{
//
}
}

View File

@@ -132,9 +132,10 @@ class AppServiceProvider extends ServiceProvider
private function bootObservers()
{
\App\Models\Device::observe(\App\Observers\DeviceObserver::class);
\App\Models\Package::observe(\App\Observers\PackageObserver::class);
\App\Models\Service::observe(\App\Observers\ServiceObserver::class);
\App\Models\User::observe(\App\Observers\UserObserver::class);
\App\Models\Stp::observe(\App\Observers\StpObserver::class);
\App\Models\User::observe(\App\Observers\UserObserver::class);
}
private function bootCustomValidators()