mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
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:
@@ -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" : '');
|
||||
}
|
||||
}
|
||||
|
70
app/Observers/PackageObserver.php
Normal file
70
app/Observers/PackageObserver.php
Normal 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)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
@@ -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()
|
||||
|
Reference in New Issue
Block a user