mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Refactor eloquent base (#9716)
* extract PortRelatedModel and DeviceRelatedModel * add scope for inDeviceGroup * handle null device group
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Application extends BaseModel
|
||||
class Application extends DeviceRelatedModel
|
||||
{
|
||||
/**
|
||||
* Indicates if the model should be timestamped.
|
||||
@@ -77,18 +77,4 @@ class Application extends BaseModel
|
||||
return collect(self::$display_name)
|
||||
->get($this->app_type, ucwords(str_replace(['_', '-'], ' ', $this->app_type)));
|
||||
}
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class BgpPeer extends BaseModel
|
||||
class BgpPeer extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $table = 'bgpPeers';
|
||||
@@ -43,16 +43,4 @@ class BgpPeer extends BaseModel
|
||||
->orWhere('bgpPeerAdminStatus', 'running');
|
||||
})->where('bgpPeerState', '!=', 'established');
|
||||
}
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,24 +25,9 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class CefSwitching extends BaseModel
|
||||
class CefSwitching extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $table = 'cef_switching';
|
||||
protected $primaryKey = 'cef_switching_id';
|
||||
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,22 +25,8 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Component extends BaseModel
|
||||
class Component extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $table = 'component';
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class DevicePerf extends BaseModel
|
||||
class DevicePerf extends DeviceRelatedModel
|
||||
{
|
||||
protected $table = 'device_perf';
|
||||
protected $fillable = ['device_id', 'timestamp', 'xmt', 'rcv', 'loss', 'min', 'max', 'avg'];
|
||||
@@ -55,11 +55,4 @@ class DevicePerf extends BaseModel
|
||||
$model->timestamp = $model->freshTimestamp();
|
||||
});
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
51
app/Models/DeviceRelatedModel.php
Normal file
51
app/Models/DeviceRelatedModel.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
/**
|
||||
* DeviceRelatedModel.php
|
||||
*
|
||||
* -Description-
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package LibreNMS
|
||||
* @link http://librenms.org
|
||||
* @copyright 2019 Tony Murray
|
||||
* @author Tony Murray <murraytony@gmail.com>
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class DeviceRelatedModel extends BaseModel
|
||||
{
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
public function scopeInDeviceGroup($query, $deviceGroup)
|
||||
{
|
||||
$groups = $deviceGroup instanceof DeviceGroup ? $deviceGroup->devices()->pluck('devices.device_id') : [];
|
||||
return $query->whereIn($this->getTable() . '.device_id', $groups);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id', 'device_id');
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,7 @@ namespace App\Models;
|
||||
|
||||
use Carbon\Carbon;
|
||||
|
||||
class Eventlog extends BaseModel
|
||||
class Eventlog extends DeviceRelatedModel
|
||||
{
|
||||
protected $table = 'eventlog';
|
||||
protected $primaryKey = 'event_id';
|
||||
@@ -63,24 +63,8 @@ class Eventlog extends BaseModel
|
||||
}
|
||||
}
|
||||
|
||||
// ---- Query scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
/**
|
||||
* Returns the device this entry belongs to.
|
||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
|
||||
*/
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
|
||||
public function related()
|
||||
{
|
||||
return $this->morphTo('related', 'type', 'reference');
|
||||
|
||||
@@ -25,22 +25,8 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Ipv4Address extends BaseModel
|
||||
class Ipv4Address extends PortRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'ipv4_address_id';
|
||||
|
||||
// ---- Query scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasPortAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function port()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Port', 'port_id', 'port_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,10 +2,15 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Ipv4Mac extends Model
|
||||
class Ipv4Mac extends PortRelatedModel
|
||||
{
|
||||
protected $table = 'ipv4_mac';
|
||||
public $timestamps = false;
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,22 +25,8 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Ipv6Address extends BaseModel
|
||||
class Ipv6Address extends PortRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'ipv6_address_id';
|
||||
|
||||
// ---- Query scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasPortAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function port()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Port', 'port_id', 'port_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,24 +2,10 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Mempool extends BaseModel
|
||||
class Mempool extends DeviceRelatedModel
|
||||
{
|
||||
|
||||
protected $table = 'mempools';
|
||||
|
||||
protected $primaryKey = 'mempool_id';
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,22 +25,8 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class MuninPlugin extends BaseModel
|
||||
class MuninPlugin extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'mplug_id';
|
||||
|
||||
// ---- Query scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class OspfArea extends BaseModel
|
||||
class OspfArea extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $fillable = [
|
||||
@@ -42,18 +42,4 @@ class OspfArea extends BaseModel
|
||||
'ospfAreaSummary',
|
||||
'ospfAreaStatus',
|
||||
];
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class OspfInstance extends BaseModel
|
||||
class OspfInstance extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $fillable = [
|
||||
@@ -47,18 +47,4 @@ class OspfInstance extends BaseModel
|
||||
'ospfExitOverflowInterval',
|
||||
'ospfDemandExtensions',
|
||||
];
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class OspfNbr extends BaseModel
|
||||
class OspfNbr extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $fillable = [
|
||||
@@ -45,18 +45,4 @@ class OspfNbr extends BaseModel
|
||||
'ospfNbmaNbrPermanence',
|
||||
'ospfNbrHelloSuppressed',
|
||||
];
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class OspfPort extends BaseModel
|
||||
class OspfPort extends PortRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $fillable = [
|
||||
@@ -55,13 +55,6 @@ class OspfPort extends BaseModel
|
||||
'ospfIfAuthType',
|
||||
];
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
|
||||
@@ -25,22 +25,8 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Package extends BaseModel
|
||||
class Package extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'pkg_id';
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->hasOne('App/Models/Device', 'device_id', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
43
app/Models/PortRelatedModel.php
Normal file
43
app/Models/PortRelatedModel.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* PortRelatedModel.php
|
||||
*
|
||||
* -Description-
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package LibreNMS
|
||||
* @link http://librenms.org
|
||||
* @copyright 2019 Tony Murray
|
||||
* @author Tony Murray <murraytony@gmail.com>
|
||||
*/
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
abstract class PortRelatedModel extends BaseModel
|
||||
{
|
||||
// ---- Query scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasPortAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function port()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Port', 'port_id', 'port_id');
|
||||
}
|
||||
}
|
||||
@@ -2,17 +2,12 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class PortsFdb extends BaseModel
|
||||
class PortsFdb extends PortRelatedModel
|
||||
{
|
||||
protected $table = 'ports_fdb';
|
||||
protected $primaryKey = 'ports_fdb_id';
|
||||
public $timestamps = false;
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasPortAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
@@ -20,11 +15,6 @@ class PortsFdb extends BaseModel
|
||||
return $this->belongsTo('App\Models\Device', 'device_id', 'device_id');
|
||||
}
|
||||
|
||||
public function port()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Port', 'port_id', 'port_id');
|
||||
}
|
||||
|
||||
public function vlan()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Vlan', 'vlan_id', 'vlan_id');
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class PortsNac extends BaseModel
|
||||
class PortsNac extends PortRelatedModel
|
||||
{
|
||||
protected $table = 'ports_nac';
|
||||
protected $primaryKey = 'ports_nac_id';
|
||||
@@ -49,20 +49,10 @@ class PortsNac extends BaseModel
|
||||
'time_elapsed',
|
||||
];
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasPortAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id', 'device_id');
|
||||
}
|
||||
|
||||
public function port()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Port', 'port_id', 'port_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Processor extends BaseModel
|
||||
class Processor extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'processor_id';
|
||||
@@ -32,18 +32,4 @@ class Processor extends BaseModel
|
||||
|
||||
return $descr;
|
||||
}
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,13 +25,8 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Pseudowire extends BaseModel
|
||||
class Pseudowire extends PortRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'pseudowire_id';
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasPortAccess($query, $user);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Sensor extends BaseModel
|
||||
class Sensor extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'sensor_id';
|
||||
@@ -60,20 +60,7 @@ class Sensor extends BaseModel
|
||||
return self::$icons;
|
||||
}
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
|
||||
public function events()
|
||||
{
|
||||
return $this->morphMany(Eventlog::class, 'events', 'type', 'reference');
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class Service extends BaseModel
|
||||
class Service extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'service_id';
|
||||
@@ -57,16 +57,4 @@ class Service extends BaseModel
|
||||
{
|
||||
return $query->where('service_disabled', 1);
|
||||
}
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,24 +2,8 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Storage extends BaseModel
|
||||
class Storage extends DeviceRelatedModel
|
||||
{
|
||||
|
||||
protected $table = 'storage';
|
||||
|
||||
protected $primaryKey = 'storage_id';
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,23 +25,9 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Syslog extends BaseModel
|
||||
class Syslog extends DeviceRelatedModel
|
||||
{
|
||||
protected $table = 'syslog';
|
||||
protected $primaryKey = 'seq';
|
||||
public $timestamps = false;
|
||||
|
||||
// ---- Query scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Vlan extends Model
|
||||
class Vlan extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
}
|
||||
|
||||
@@ -25,23 +25,9 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class Vrf extends BaseModel
|
||||
class Vrf extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $table = 'vrfs';
|
||||
protected $primaryKey = 'vrf_id';
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class WirelessSensor extends BaseModel
|
||||
class WirelessSensor extends DeviceRelatedModel
|
||||
{
|
||||
public $timestamps = false;
|
||||
protected $primaryKey = 'sensors_id';
|
||||
@@ -45,18 +45,4 @@ class WirelessSensor extends BaseModel
|
||||
->get($this->sensor_class, []))
|
||||
->get('icon', 'signal');
|
||||
}
|
||||
|
||||
// ---- Query Scopes ----
|
||||
|
||||
public function scopeHasAccess($query, User $user)
|
||||
{
|
||||
return $this->hasDeviceAccess($query, $user);
|
||||
}
|
||||
|
||||
// ---- Define Relationships ----
|
||||
|
||||
public function device()
|
||||
{
|
||||
return $this->belongsTo('App\Models\Device', 'device_id');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user