MPLS Services (#10421)

* initial database migrations

* first part, discovery

* second part, polling

* add SAP polling and discovery

* style checks

* rename variables in more generic way

* html global pages for sdp and sdp binds

* add Services and SAPs

* port links, database, etc.

* html device routing pages

* add tests

* checks

* rework database id relationship

* scruntinizer inspection

* fix unit test for new mpls tables
This commit is contained in:
Vitali Kari
2019-07-28 06:11:04 +02:00
committed by Tony Murray
parent 60c538ad8c
commit 1de640c3aa
20 changed files with 6774 additions and 43 deletions

50
app/Models/MplsSap.php Normal file
View File

@@ -0,0 +1,50 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use LibreNMS\Interfaces\Models\Keyable;
class MplsSap extends Model implements Keyable
{
protected $primaryKey = 'sap_id';
public $timestamps = false;
protected $fillable = [
'svc_id',
'svc_oid',
'sapPortId',
'ifName',
'sapEncapValue',
'device_id',
'sapRowStatus',
'sapType',
'sapDescription',
'sapAdminStatus',
'sapOperStatus',
'sapLastMgmtChange',
'sapLastStatusChange',
];
// ---- Helper Functions ----
/**
* Get a string that can identify a unique instance of this model
* @return string
*/
public function getCompositeKey()
{
return $this->svc_oid . '-' . $this->sapPortId . '-' . $this->sapEncapValue;
}
// ---- Define Relationships ----
public function binds()
{
return $this->hasMany('App\Models\MplsSdpBind', 'svc_id');
}
public function services()
{
return $this->hasMany('App\Models\MplsService', 'svc_id');
}
}