mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 02:18:39 +00:00
Laravel 10.x Shift (#14995)
* Apply code style * Remove explicit call to register policies * Shift core files * Shift config files * Default config files In an effort to make upgrading the constantly changing config files easier, Shift defaulted them and merged your true customizations - where ENV variables may not be used. * Bump Laravel dependencies * Add type hints for Laravel 10 * Shift cleanup * wip * wip * sync translation * Sync back config * Public Path Binding * QueryException * monolog * db::raw * monolog * db::raw * fix larastan collections * fix phpstan bug looping forever * larastan errors * larastan: fix column type * styleci * initialize array * fixes * fixes --------- Co-authored-by: Shift <shift@laravelshift.com>
This commit is contained in:
parent
dd3ed41319
commit
2b3575a5e9
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -167,7 +167,7 @@ jobs:
|
|||||||
mysql -h"127.0.0.1" -P"$PORT" --user=librenms --password=librenms -e 'ALTER DATABASE librenms_phpunit_78hunjuybybh CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
|
mysql -h"127.0.0.1" -P"$PORT" --user=librenms --password=librenms -e 'ALTER DATABASE librenms_phpunit_78hunjuybybh CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
|
||||||
-
|
-
|
||||||
name: Setup SQLite
|
name: Setup SQLite
|
||||||
run: sqlite3 storage/testing.sqlite ""
|
run: sqlite3 database/testing.sqlite ""
|
||||||
-
|
-
|
||||||
name: Artisan serve
|
name: Artisan serve
|
||||||
if: matrix.skip-web-check != '1'
|
if: matrix.skip-web-check != '1'
|
||||||
|
@ -83,7 +83,7 @@ class AlertDB
|
|||||||
//Our first table has no valid glue, append the 'devices' table to it!
|
//Our first table has no valid glue, append the 'devices' table to it!
|
||||||
array_unshift($tables, 'devices');
|
array_unshift($tables, 'devices');
|
||||||
}
|
}
|
||||||
$x = sizeof($tables) - 1;
|
$x = count($tables) - 1;
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$join = '';
|
$join = '';
|
||||||
while ($i < $x) {
|
while ($i < $x) {
|
||||||
|
@ -76,7 +76,7 @@ class AlertRules
|
|||||||
$qry[$i]['ip'] = inet6_ntop($qry[$i]['ip']);
|
$qry[$i]['ip'] = inet6_ntop($qry[$i]['ip']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$s = sizeof($qry);
|
$s = count($qry);
|
||||||
if ($s == 0 && $inv === false) {
|
if ($s == 0 && $inv === false) {
|
||||||
$doalert = false;
|
$doalert = false;
|
||||||
} elseif ($s > 0 && $inv === false) {
|
} elseif ($s > 0 && $inv === false) {
|
||||||
|
@ -300,8 +300,8 @@ class RunAlerts
|
|||||||
$chk[$i]['ip'] = inet6_ntop($chk[$i]['ip']);
|
$chk[$i]['ip'] = inet6_ntop($chk[$i]['ip']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$o = sizeof($alert['details']['rule']);
|
$o = count($alert['details']['rule']);
|
||||||
$n = sizeof($chk);
|
$n = count($chk);
|
||||||
$ret = 'Alert #' . $alert['id'];
|
$ret = 'Alert #' . $alert['id'];
|
||||||
$state = AlertState::CLEAR;
|
$state = AlertState::CLEAR;
|
||||||
if ($n > $o) {
|
if ($n > $o) {
|
||||||
|
@ -25,8 +25,8 @@
|
|||||||
|
|
||||||
namespace LibreNMS\Alerting;
|
namespace LibreNMS\Alerting;
|
||||||
|
|
||||||
use DB;
|
|
||||||
use Illuminate\Database\Query\Builder;
|
use Illuminate\Database\Query\Builder;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Log;
|
use Log;
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ class LdapAuthorizationAuthorizer extends AuthorizerBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Find all defined groups $username is in
|
// Find all defined groups $username is in
|
||||||
$filter = '(&(|(cn=' . join(')(cn=', array_keys(Config::get('auth_ldap_groups'))) . '))(' . Config::get('auth_ldap_groupmemberattr') . '=' . $this->getMembername($username) . '))';
|
$filter = '(&(|(cn=' . implode(')(cn=', array_keys(Config::get('auth_ldap_groups'))) . '))(' . Config::get('auth_ldap_groupmemberattr') . '=' . $this->getMembername($username) . '))';
|
||||||
$search = ldap_search($this->ldap_connection, Config::get('auth_ldap_groupbase'), $filter);
|
$search = ldap_search($this->ldap_connection, Config::get('auth_ldap_groupbase'), $filter);
|
||||||
$entries = ldap_get_entries($this->ldap_connection, $search);
|
$entries = ldap_get_entries($this->ldap_connection, $search);
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
namespace LibreNMS\Authentication;
|
namespace LibreNMS\Authentication;
|
||||||
|
|
||||||
use ErrorException;
|
use ErrorException;
|
||||||
|
use LDAP\Connection;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
use LibreNMS\Exceptions\AuthenticationException;
|
use LibreNMS\Exceptions\AuthenticationException;
|
||||||
use LibreNMS\Exceptions\LdapMissingException;
|
use LibreNMS\Exceptions\LdapMissingException;
|
||||||
|
@ -211,7 +211,7 @@ class SSOAuthorizer extends MysqlAuthorizer
|
|||||||
if (isset($config_map[$value])) {
|
if (isset($config_map[$value])) {
|
||||||
$map = $config_map[$value];
|
$map = $config_map[$value];
|
||||||
|
|
||||||
if (is_integer($map) && $level < $map) {
|
if (is_int($map) && $level < $map) {
|
||||||
$level = $map;
|
$level = $map;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,7 @@ class TwoFactor
|
|||||||
$bin = str_split($bin, 5);
|
$bin = str_split($bin, 5);
|
||||||
$ret = '';
|
$ret = '';
|
||||||
$x = -1;
|
$x = -1;
|
||||||
while (++$x < sizeof($bin)) {
|
while (++$x < count($bin)) {
|
||||||
$ret .= self::$base32_enc[(int) base_convert(str_pad($bin[$x], 5, '0'), 2, 10)];
|
$ret .= self::$base32_enc[(int) base_convert(str_pad($bin[$x], 5, '0'), 2, 10)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,8 +28,8 @@ use App\Models\Bill;
|
|||||||
use App\Models\Device;
|
use App\Models\Device;
|
||||||
use App\Models\Port;
|
use App\Models\Port;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use DB;
|
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
|
|
||||||
class PermissionsCache
|
class PermissionsCache
|
||||||
|
@ -25,8 +25,8 @@
|
|||||||
|
|
||||||
namespace LibreNMS\DB;
|
namespace LibreNMS\DB;
|
||||||
|
|
||||||
use DB;
|
|
||||||
use Illuminate\Database\Connection;
|
use Illuminate\Database\Connection;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use LibreNMS\Util\Laravel;
|
use LibreNMS\Util\Laravel;
|
||||||
use PDOException;
|
use PDOException;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
namespace LibreNMS\DB;
|
namespace LibreNMS\DB;
|
||||||
|
|
||||||
use DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
use LibreNMS\Util\Version;
|
use LibreNMS\Util\Version;
|
||||||
@ -349,9 +349,9 @@ class Schema
|
|||||||
|
|
||||||
DB::statement("SET TIME_ZONE='+00:00'"); // set timezone to UTC to avoid timezone issues
|
DB::statement("SET TIME_ZONE='+00:00'"); // set timezone to UTC to avoid timezone issues
|
||||||
|
|
||||||
foreach (DB::connection($connection)->select(DB::raw("SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = '$db_name' ORDER BY TABLE_NAME;")) as $table) {
|
foreach (DB::connection($connection)->select(DB::raw("SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = '$db_name' ORDER BY TABLE_NAME;")->getValue(DB::connection($connection)->getQueryGrammar())) as $table) {
|
||||||
$table = $table->TABLE_NAME;
|
$table = $table->TABLE_NAME;
|
||||||
foreach (DB::connection($connection)->select(DB::raw("SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$db_name' AND TABLE_NAME='$table' ORDER BY ORDINAL_POSITION")) as $data) {
|
foreach (DB::connection($connection)->select(DB::raw("SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$db_name' AND TABLE_NAME='$table' ORDER BY ORDINAL_POSITION")->getValue(DB::connection($connection)->getQueryGrammar())) as $data) {
|
||||||
$def = [
|
$def = [
|
||||||
'Field' => $data->COLUMN_NAME,
|
'Field' => $data->COLUMN_NAME,
|
||||||
'Type' => preg_replace('/int\([0-9]+\)/', 'int', $data->COLUMN_TYPE),
|
'Type' => preg_replace('/int\([0-9]+\)/', 'int', $data->COLUMN_TYPE),
|
||||||
@ -371,7 +371,7 @@ class Schema
|
|||||||
$output[$table]['Columns'][] = $def;
|
$output[$table]['Columns'][] = $def;
|
||||||
}
|
}
|
||||||
|
|
||||||
$keys = DB::connection($connection)->select(DB::raw("SHOW INDEX FROM `$table`"));
|
$keys = DB::connection($connection)->select(DB::raw("SHOW INDEX FROM `$table`")->getValue(DB::connection($connection)->getQueryGrammar()));
|
||||||
usort($keys, function ($a, $b) {
|
usort($keys, function ($a, $b) {
|
||||||
return $a->Key_name <=> $b->Key_name;
|
return $a->Key_name <=> $b->Key_name;
|
||||||
});
|
});
|
||||||
@ -389,7 +389,7 @@ class Schema
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$create = DB::connection($connection)->select(DB::raw("SHOW CREATE TABLE `$table`"))[0];
|
$create = DB::connection($connection)->select(DB::raw("SHOW CREATE TABLE `$table`")->getValue(DB::connection($connection)->getQueryGrammar()))[0];
|
||||||
|
|
||||||
if (isset($create->{'Create Table'})) {
|
if (isset($create->{'Create Table'})) {
|
||||||
$constraint_regex = '/CONSTRAINT `(?<name>[A-Za-z_0-9]+)` FOREIGN KEY \(`(?<foreign_key>[A-Za-z_0-9]+)`\) REFERENCES `(?<table>[A-Za-z_0-9]+)` \(`(?<key>[A-Za-z_0-9]+)`\) ?(?<extra>[ A-Z]+)?/';
|
$constraint_regex = '/CONSTRAINT `(?<name>[A-Za-z_0-9]+)` FOREIGN KEY \(`(?<foreign_key>[A-Za-z_0-9]+)`\) REFERENCES `(?<table>[A-Za-z_0-9]+)` \(`(?<key>[A-Za-z_0-9]+)`\) ?(?<extra>[ A-Z]+)?/';
|
||||||
|
@ -28,6 +28,7 @@ namespace LibreNMS\Data\Store;
|
|||||||
|
|
||||||
use App\Polling\Measure\Measurement;
|
use App\Polling\Measure\Measurement;
|
||||||
use InfluxDB\Client;
|
use InfluxDB\Client;
|
||||||
|
use InfluxDB\Database;
|
||||||
use InfluxDB\Driver\UDP;
|
use InfluxDB\Driver\UDP;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
use Log;
|
use Log;
|
||||||
@ -37,7 +38,7 @@ class InfluxDB extends BaseDatastore
|
|||||||
/** @var \InfluxDB\Database */
|
/** @var \InfluxDB\Database */
|
||||||
private $connection;
|
private $connection;
|
||||||
|
|
||||||
public function __construct(\InfluxDB\Database $influx)
|
public function __construct(Database $influx)
|
||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
$this->connection = $influx;
|
$this->connection = $influx;
|
||||||
|
@ -272,13 +272,13 @@ class Rrd extends BaseDatastore
|
|||||||
*/
|
*/
|
||||||
public function proxmoxName($pmxcluster, $vmid, $vmport)
|
public function proxmoxName($pmxcluster, $vmid, $vmport)
|
||||||
{
|
{
|
||||||
$pmxcdir = join('/', [$this->rrd_dir, 'proxmox', self::safeName($pmxcluster)]);
|
$pmxcdir = implode('/', [$this->rrd_dir, 'proxmox', self::safeName($pmxcluster)]);
|
||||||
// this is not needed for remote rrdcached
|
// this is not needed for remote rrdcached
|
||||||
if (! is_dir($pmxcdir)) {
|
if (! is_dir($pmxcdir)) {
|
||||||
mkdir($pmxcdir, 0775, true);
|
mkdir($pmxcdir, 0775, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
return join('/', [$pmxcdir, self::safeName($vmid . '_netif_' . $vmport . '.rrd')]);
|
return implode('/', [$pmxcdir, self::safeName($vmid . '_netif_' . $vmport . '.rrd')]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
namespace LibreNMS\Exceptions;
|
namespace LibreNMS\Exceptions;
|
||||||
|
|
||||||
use Illuminate\Database\QueryException;
|
use Illuminate\Database\QueryException;
|
||||||
|
use Illuminate\Http\Response;
|
||||||
use LibreNMS\Interfaces\Exceptions\UpgradeableException;
|
use LibreNMS\Interfaces\Exceptions\UpgradeableException;
|
||||||
|
|
||||||
class DatabaseConnectException extends \Exception implements UpgradeableException
|
class DatabaseConnectException extends \Exception implements UpgradeableException
|
||||||
|
@ -30,6 +30,6 @@ class InvalidTableColumnException extends ApiException
|
|||||||
public function __construct(
|
public function __construct(
|
||||||
public readonly array $columns
|
public readonly array $columns
|
||||||
) {
|
) {
|
||||||
parent::__construct('Invalid columns: ' . join(',', $this->columns));
|
parent::__construct('Invalid columns: ' . implode(',', $this->columns));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -150,7 +150,7 @@ class IRCBot
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->log('Cached ' . sizeof($this->external) . ' commands.');
|
return $this->log('Cached ' . count($this->external) . ' commands.');
|
||||||
}
|
}
|
||||||
|
|
||||||
//end load_external()
|
//end load_external()
|
||||||
@ -683,7 +683,7 @@ class IRCBot
|
|||||||
|
|
||||||
private function ircRaw($params)
|
private function ircRaw($params)
|
||||||
{
|
{
|
||||||
return fputs($this->socket['irc'], $params . "\r\n");
|
return fwrite($this->socket['irc'], $params . "\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
//end irc_raw()
|
//end irc_raw()
|
||||||
@ -780,9 +780,9 @@ class IRCBot
|
|||||||
|
|
||||||
private function _help($params)
|
private function _help($params)
|
||||||
{
|
{
|
||||||
$msg = join(', ', $this->commands);
|
$msg = implode(', ', $this->commands);
|
||||||
if (count($this->external) > 0) {
|
if (count($this->external) > 0) {
|
||||||
$msg .= ', ' . join(', ', array_keys($this->external));
|
$msg .= ', ' . implode(', ', array_keys($this->external));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->respond("Available commands: $msg");
|
return $this->respond("Available commands: $msg");
|
||||||
|
@ -25,11 +25,15 @@
|
|||||||
|
|
||||||
namespace LibreNMS\Interfaces\Discovery;
|
namespace LibreNMS\Interfaces\Discovery;
|
||||||
|
|
||||||
|
use Illuminate\Support\Collection;
|
||||||
|
|
||||||
interface SlaDiscovery
|
interface SlaDiscovery
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Discover additional information about the OS.
|
* Discover additional information about the OS.
|
||||||
* Primarily this is just version, hardware, features, serial, but could be anything
|
* Primarily this is just version, hardware, features, serial, but could be anything
|
||||||
|
*
|
||||||
|
* @return Collection<int, \App\Models\Sla>
|
||||||
*/
|
*/
|
||||||
public function discoverSlas();
|
public function discoverSlas(): Collection;
|
||||||
}
|
}
|
||||||
|
@ -25,11 +25,13 @@
|
|||||||
|
|
||||||
namespace LibreNMS\Interfaces\Polling;
|
namespace LibreNMS\Interfaces\Polling;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Collection;
|
||||||
|
|
||||||
interface IsIsPolling
|
interface IsIsPolling
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param \Illuminate\Support\Collection $adjacencies \App\Models\IsIsAdjacency
|
* @param Collection<int, \App\Models\IsisAdjacency> $adjacencies
|
||||||
* @return \Illuminate\Support\Collection \App\Models\IsIsAdjacency
|
* @return Collection<int, \App\Models\IsisAdjacency>
|
||||||
*/
|
*/
|
||||||
public function pollIsIs($adjacencies);
|
public function pollIsIs(Collection $adjacencies);
|
||||||
}
|
}
|
||||||
|
@ -25,11 +25,13 @@
|
|||||||
|
|
||||||
namespace LibreNMS\Interfaces\Polling;
|
namespace LibreNMS\Interfaces\Polling;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Collection;
|
||||||
|
|
||||||
interface MempoolsPolling
|
interface MempoolsPolling
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param \Illuminate\Support\Collection $mempools \App\Models\Mempool
|
* @param Collection<int, \App\Models\Mempool> $mempools
|
||||||
* @return \Illuminate\Support\Collection \App\Models\Mempool
|
* @return Collection<int, \App\Models\Mempool>
|
||||||
*/
|
*/
|
||||||
public function pollMempools($mempools);
|
public function pollMempools(Collection $mempools);
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ interface SlaPolling
|
|||||||
/**
|
/**
|
||||||
* Poll Sla data for Sla in database.
|
* Poll Sla data for Sla in database.
|
||||||
*
|
*
|
||||||
* @param Collection $slas
|
* @param Collection<int, \App\Models\Sla> $slas
|
||||||
*/
|
*/
|
||||||
public function pollSlas(Collection $slas);
|
public function pollSlas(Collection $slas): void;
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,7 @@ class ArubaInstant extends OS implements
|
|||||||
// fetch the MAC addresses of currently connected clients, then count them to get an overall total
|
// fetch the MAC addresses of currently connected clients, then count them to get an overall total
|
||||||
$client_data = $this->getCacheTable('aiClientMACAddress', $ai_mib);
|
$client_data = $this->getCacheTable('aiClientMACAddress', $ai_mib);
|
||||||
|
|
||||||
$total_clients = sizeof($client_data);
|
$total_clients = count($client_data);
|
||||||
|
|
||||||
$combined_oid = sprintf('%s::%s', $ai_mib, 'aiClientMACAddress');
|
$combined_oid = sprintf('%s::%s', $ai_mib, 'aiClientMACAddress');
|
||||||
$oid = snmp_translate($combined_oid, 'ALL', 'arubaos', '-On');
|
$oid = snmp_translate($combined_oid, 'ALL', 'arubaos', '-On');
|
||||||
@ -161,7 +161,7 @@ class ArubaInstant extends OS implements
|
|||||||
$ai_mib = 'AI-AP-MIB';
|
$ai_mib = 'AI-AP-MIB';
|
||||||
$ap_data = $this->getCacheTable('aiAPSerialNum', $ai_mib);
|
$ap_data = $this->getCacheTable('aiAPSerialNum', $ai_mib);
|
||||||
|
|
||||||
$total_aps = sizeof($ap_data);
|
$total_aps = count($ap_data);
|
||||||
|
|
||||||
$combined_oid = sprintf('%s::%s', $ai_mib, 'aiAPSerialNum');
|
$combined_oid = sprintf('%s::%s', $ai_mib, 'aiAPSerialNum');
|
||||||
$oid = snmp_translate($combined_oid, 'ALL', 'arubaos', '-On');
|
$oid = snmp_translate($combined_oid, 'ALL', 'arubaos', '-On');
|
||||||
@ -311,14 +311,14 @@ class ArubaInstant extends OS implements
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// version is lower than 8.4.0.0
|
// version is lower than 8.4.0.0
|
||||||
if (! empty($sensors) && sizeof($sensors) == 1) {
|
if (! empty($sensors) && count($sensors) == 1) {
|
||||||
$ai_mib = 'AI-AP-MIB';
|
$ai_mib = 'AI-AP-MIB';
|
||||||
$client_data = $this->getCacheTable('aiClientMACAddress', $ai_mib);
|
$client_data = $this->getCacheTable('aiClientMACAddress', $ai_mib);
|
||||||
|
|
||||||
if (empty($client_data)) {
|
if (empty($client_data)) {
|
||||||
$total_clients = 0;
|
$total_clients = 0;
|
||||||
} else {
|
} else {
|
||||||
$total_clients = sizeof($client_data);
|
$total_clients = count($client_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
$data[$sensors[0]['sensor_id']] = $total_clients;
|
$data[$sensors[0]['sensor_id']] = $total_clients;
|
||||||
@ -339,14 +339,14 @@ class ArubaInstant extends OS implements
|
|||||||
public function pollWirelessApCount(array $sensors)
|
public function pollWirelessApCount(array $sensors)
|
||||||
{
|
{
|
||||||
$data = [];
|
$data = [];
|
||||||
if (! empty($sensors) && sizeof($sensors) == 1) {
|
if (! empty($sensors) && count($sensors) == 1) {
|
||||||
$ai_mib = 'AI-AP-MIB';
|
$ai_mib = 'AI-AP-MIB';
|
||||||
$ap_data = $this->getCacheTable('aiAPSerialNum', $ai_mib);
|
$ap_data = $this->getCacheTable('aiAPSerialNum', $ai_mib);
|
||||||
|
|
||||||
$total_aps = 0;
|
$total_aps = 0;
|
||||||
|
|
||||||
if (! empty($ap_data)) {
|
if (! empty($ap_data)) {
|
||||||
$total_aps = sizeof($ap_data);
|
$total_aps = count($ap_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
$data[$sensors[0]['sensor_id']] = $total_aps;
|
$data[$sensors[0]['sensor_id']] = $total_aps;
|
||||||
|
@ -27,8 +27,7 @@ use App\Models\Device;
|
|||||||
use LibreNMS\Interfaces\Discovery\OSDiscovery;
|
use LibreNMS\Interfaces\Discovery\OSDiscovery;
|
||||||
use LibreNMS\OS;
|
use LibreNMS\OS;
|
||||||
|
|
||||||
class Beagleboard extends OS implements
|
class Beagleboard extends OS implements OSDiscovery
|
||||||
OSDiscovery
|
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Retrieve basic information about the OS / device
|
* Retrieve basic information about the OS / device
|
||||||
|
@ -130,7 +130,7 @@ class Iosxe extends Ciscowlc implements
|
|||||||
|
|
||||||
$uptime = SnmpQuery::walk('CISCO-IETF-ISIS-MIB::ciiISAdjLastUpTime')->values();
|
$uptime = SnmpQuery::walk('CISCO-IETF-ISIS-MIB::ciiISAdjLastUpTime')->values();
|
||||||
|
|
||||||
return $adjacencies->each(function (IsisAdjacency $adjacency) use ($states, $uptime) {
|
return $adjacencies->each(function ($adjacency) use ($states, $uptime) {
|
||||||
$adjacency->isisISAdjState = $states['CISCO-IETF-ISIS-MIB::ciiISAdjState' . $adjacency->index] ?? $adjacency->isisISAdjState;
|
$adjacency->isisISAdjState = $states['CISCO-IETF-ISIS-MIB::ciiISAdjState' . $adjacency->index] ?? $adjacency->isisISAdjState;
|
||||||
$adjacency->isisISAdjLastUpTime = $this->parseAdjacencyTime($uptime['CISCO-IETF-ISIS-MIB::ciiISAdjLastUpTime' . $adjacency->index] ?? 0);
|
$adjacency->isisISAdjLastUpTime = $this->parseAdjacencyTime($uptime['CISCO-IETF-ISIS-MIB::ciiISAdjLastUpTime' . $adjacency->index] ?? 0);
|
||||||
});
|
});
|
||||||
|
@ -70,7 +70,7 @@ class Junos extends \LibreNMS\OS implements SlaDiscovery, OSPolling, SlaPolling
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function discoverSlas()
|
public function discoverSlas(): Collection
|
||||||
{
|
{
|
||||||
$slas = new Collection();
|
$slas = new Collection();
|
||||||
$sla_table = snmpwalk_group($this->getDeviceArray(), 'pingCtlTable', 'DISMAN-PING-MIB', 2, snmpFlags: '-OQUstX');
|
$sla_table = snmpwalk_group($this->getDeviceArray(), 'pingCtlTable', 'DISMAN-PING-MIB', 2, snmpFlags: '-OQUstX');
|
||||||
@ -96,7 +96,7 @@ class Junos extends \LibreNMS\OS implements SlaDiscovery, OSPolling, SlaPolling
|
|||||||
return $slas;
|
return $slas;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function pollSlas($slas)
|
public function pollSlas($slas): void
|
||||||
{
|
{
|
||||||
$device = $this->getDeviceArray();
|
$device = $this->getDeviceArray();
|
||||||
|
|
||||||
|
@ -316,7 +316,7 @@ class Cisco extends OS implements
|
|||||||
return $processors;
|
return $processors;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function discoverSlas()
|
public function discoverSlas(): Collection
|
||||||
{
|
{
|
||||||
$slas = new Collection();
|
$slas = new Collection();
|
||||||
|
|
||||||
@ -414,7 +414,7 @@ class Cisco extends OS implements
|
|||||||
return $nac;
|
return $nac;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function pollSlas($slas)
|
public function pollSlas($slas): void
|
||||||
{
|
{
|
||||||
$device = $this->getDeviceArray();
|
$device = $this->getDeviceArray();
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ class Stellar extends OS implements
|
|||||||
if (empty($client_ws_data)) {
|
if (empty($client_ws_data)) {
|
||||||
$total_clients = 0;
|
$total_clients = 0;
|
||||||
} else {
|
} else {
|
||||||
$total_clients = sizeof($client_ws_data);
|
$total_clients = count($client_ws_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
$combined_oid = sprintf('%s::%s', $device['hardware'], 'apClientWlanService');
|
$combined_oid = sprintf('%s::%s', $device['hardware'], 'apClientWlanService');
|
||||||
@ -75,7 +75,7 @@ class Stellar extends OS implements
|
|||||||
if (empty($client_ws_data)) {
|
if (empty($client_ws_data)) {
|
||||||
$total_clients = 0;
|
$total_clients = 0;
|
||||||
} else {
|
} else {
|
||||||
$total_clients = sizeof($client_ws_data);
|
$total_clients = count($client_ws_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($sensors as $sensor) {
|
foreach ($sensors as $sensor) {
|
||||||
|
@ -227,7 +227,7 @@ class Vrp extends OS implements
|
|||||||
|
|
||||||
$foundid = 0;
|
$foundid = 0;
|
||||||
|
|
||||||
for ($z = 0; $z < sizeof($ap_db); $z++) {
|
for ($z = 0; $z < count($ap_db); $z++) {
|
||||||
if ($ap_db[$z]['name'] == $name && $ap_db[$z]['radio_number'] == $radionum) {
|
if ($ap_db[$z]['name'] == $name && $ap_db[$z]['radio_number'] == $radionum) {
|
||||||
$foundid = $ap_db[$z]['accesspoint_id'];
|
$foundid = $ap_db[$z]['accesspoint_id'];
|
||||||
$ap_db[$z]['seen'] = 1;
|
$ap_db[$z]['seen'] = 1;
|
||||||
@ -277,7 +277,7 @@ class Vrp extends OS implements
|
|||||||
}//end foreach 1
|
}//end foreach 1
|
||||||
}//end foreach 2
|
}//end foreach 2
|
||||||
|
|
||||||
for ($z = 0; $z < sizeof($ap_db); $z++) {
|
for ($z = 0; $z < count($ap_db); $z++) {
|
||||||
if (! isset($ap_db[$z]['seen']) && $ap_db[$z]['deleted'] == 0) {
|
if (! isset($ap_db[$z]['seen']) && $ap_db[$z]['deleted'] == 0) {
|
||||||
dbUpdate(['deleted' => 1], 'access_points', '`accesspoint_id` = ?', [$ap_db[$z]['accesspoint_id']]);
|
dbUpdate(['deleted' => 1], 'access_points', '`accesspoint_id` = ?', [$ap_db[$z]['accesspoint_id']]);
|
||||||
}
|
}
|
||||||
@ -482,7 +482,7 @@ class Vrp extends OS implements
|
|||||||
return $sensors;
|
return $sensors;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function discoverSlas()
|
public function discoverSlas(): Collection
|
||||||
{
|
{
|
||||||
$slas = new Collection();
|
$slas = new Collection();
|
||||||
// Get the index of the last finished test
|
// Get the index of the last finished test
|
||||||
@ -513,7 +513,7 @@ class Vrp extends OS implements
|
|||||||
return $slas;
|
return $slas;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function pollSlas($slas)
|
public function pollSlas($slas): void
|
||||||
{
|
{
|
||||||
$device = $this->getDeviceArray();
|
$device = $this->getDeviceArray();
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ class ObjectCache implements ArrayAccess
|
|||||||
return $GLOBALS['_ObjCache'][$this->obj][$obj]['value'];
|
return $GLOBALS['_ObjCache'][$this->obj][$obj]['value'];
|
||||||
} else {
|
} else {
|
||||||
$GLOBALS['_ObjCache'][$this->obj][$obj]['value'] = dbFetchRows($this->data[$obj]['query'], isset($this->data[$obj]['params']) ? $this->data[$obj]['params'] : []);
|
$GLOBALS['_ObjCache'][$this->obj][$obj]['value'] = dbFetchRows($this->data[$obj]['query'], isset($this->data[$obj]['params']) ? $this->data[$obj]['params'] : []);
|
||||||
if (sizeof($GLOBALS['_ObjCache'][$this->obj][$obj]['value']) == 1 && sizeof($GLOBALS['_ObjCache'][$this->obj][$obj]['value'][0]) == 1) {
|
if (count($GLOBALS['_ObjCache'][$this->obj][$obj]['value']) == 1 && count($GLOBALS['_ObjCache'][$this->obj][$obj]['value'][0]) == 1) {
|
||||||
$GLOBALS['_ObjCache'][$this->obj][$obj]['value'] = current($GLOBALS['_ObjCache'][$this->obj][$obj]['value'][0]);
|
$GLOBALS['_ObjCache'][$this->obj][$obj]['value'] = current($GLOBALS['_ObjCache'][$this->obj][$obj]['value'][0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,8 +31,8 @@ use App\Models\Device;
|
|||||||
use App\Polling\Measure\Measurement;
|
use App\Polling\Measure\Measurement;
|
||||||
use App\Polling\Measure\MeasurementManager;
|
use App\Polling\Measure\MeasurementManager;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use DB;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use LibreNMS\Enum\Alert;
|
use LibreNMS\Enum\Alert;
|
||||||
use LibreNMS\Exceptions\PollerException;
|
use LibreNMS\Exceptions\PollerException;
|
||||||
@ -264,8 +264,10 @@ class Poller
|
|||||||
} elseif ($this->device_spec == 'all') {
|
} elseif ($this->device_spec == 'all') {
|
||||||
return $query;
|
return $query;
|
||||||
} elseif ($this->device_spec == 'even') {
|
} elseif ($this->device_spec == 'even') {
|
||||||
|
/** @phpstan-ignore-next-line */
|
||||||
return $query->where(DB::raw('device_id % 2'), 0);
|
return $query->where(DB::raw('device_id % 2'), 0);
|
||||||
} elseif ($this->device_spec == 'odd') {
|
} elseif ($this->device_spec == 'odd') {
|
||||||
|
/** @phpstan-ignore-next-line */
|
||||||
return $query->where(DB::raw('device_id % 2'), 1);
|
return $query->where(DB::raw('device_id % 2'), 1);
|
||||||
} elseif (is_numeric($this->device_spec)) {
|
} elseif (is_numeric($this->device_spec)) {
|
||||||
return $query->where('device_id', $this->device_spec);
|
return $query->where('device_id', $this->device_spec);
|
||||||
|
@ -26,9 +26,9 @@
|
|||||||
namespace LibreNMS\Util;
|
namespace LibreNMS\Util;
|
||||||
|
|
||||||
use App\Models\Callback;
|
use App\Models\Callback;
|
||||||
use DB;
|
|
||||||
use Illuminate\Database\Query\Builder;
|
use Illuminate\Database\Query\Builder;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
class Stats
|
class Stats
|
||||||
|
@ -27,6 +27,7 @@ namespace LibreNMS\Util;
|
|||||||
|
|
||||||
use App\Models\Device;
|
use App\Models\Device;
|
||||||
use App\Models\Port;
|
use App\Models\Port;
|
||||||
|
use App\Models\Sensor;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Carbon\CarbonImmutable;
|
use Carbon\CarbonImmutable;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
@ -25,8 +25,8 @@
|
|||||||
|
|
||||||
namespace LibreNMS\Util;
|
namespace LibreNMS\Util;
|
||||||
|
|
||||||
use DB;
|
|
||||||
use Illuminate\Support\Arr;
|
use Illuminate\Support\Arr;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
use LibreNMS\DB\Eloquent;
|
use LibreNMS\DB\Eloquent;
|
||||||
use Symfony\Component\Process\Process;
|
use Symfony\Component\Process\Process;
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
namespace LibreNMS\Validations\Database;
|
namespace LibreNMS\Validations\Database;
|
||||||
|
|
||||||
use DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use LibreNMS\DB\Eloquent;
|
use LibreNMS\DB\Eloquent;
|
||||||
use LibreNMS\Interfaces\Validation;
|
use LibreNMS\Interfaces\Validation;
|
||||||
use LibreNMS\ValidationResult;
|
use LibreNMS\ValidationResult;
|
||||||
|
@ -25,9 +25,9 @@
|
|||||||
|
|
||||||
namespace LibreNMS\Validations\Database;
|
namespace LibreNMS\Validations\Database;
|
||||||
|
|
||||||
use DB;
|
|
||||||
use Illuminate\Database\QueryException;
|
use Illuminate\Database\QueryException;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use LibreNMS\DB\Eloquent;
|
use LibreNMS\DB\Eloquent;
|
||||||
use LibreNMS\Interfaces\Validation;
|
use LibreNMS\Interfaces\Validation;
|
||||||
use LibreNMS\Interfaces\ValidationFixer;
|
use LibreNMS\Interfaces\ValidationFixer;
|
||||||
|
@ -25,8 +25,8 @@
|
|||||||
|
|
||||||
namespace LibreNMS\Validations\Database;
|
namespace LibreNMS\Validations\Database;
|
||||||
|
|
||||||
use DB;
|
|
||||||
use Illuminate\Database\QueryException;
|
use Illuminate\Database\QueryException;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
use LibreNMS\DB\Eloquent;
|
use LibreNMS\DB\Eloquent;
|
||||||
use LibreNMS\DB\Schema;
|
use LibreNMS\DB\Schema;
|
||||||
|
@ -62,7 +62,7 @@ class CheckRedis implements \LibreNMS\Interfaces\Validation
|
|||||||
private function redisIsAvailable(): bool
|
private function redisIsAvailable(): bool
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
Redis::ping();
|
Redis::command('ping');
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
@ -34,7 +34,7 @@ class System extends BaseValidation
|
|||||||
protected static $RUN_BY_DEFAULT = true;
|
protected static $RUN_BY_DEFAULT = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* @inheritdoc
|
||||||
*/
|
*/
|
||||||
public function validate(Validator $validator): void
|
public function validate(Validator $validator): void
|
||||||
{
|
{
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Application.php
|
|
||||||
*
|
|
||||||
* Extension of base application class
|
|
||||||
*
|
|
||||||
* 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 <https://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* @link https://www.librenms.org
|
|
||||||
*
|
|
||||||
* @copyright 2018 Tony Murray
|
|
||||||
* @author Tony Murray <murraytony@gmail.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace App;
|
|
||||||
|
|
||||||
class Application extends \Illuminate\Foundation\Application
|
|
||||||
{
|
|
||||||
public function publicPath()
|
|
||||||
{
|
|
||||||
// override the public path
|
|
||||||
return $this->basePath . DIRECTORY_SEPARATOR . 'html';
|
|
||||||
}
|
|
||||||
}
|
|
@ -79,7 +79,7 @@ class SmokepingGenerateCommand extends LnmsCommand
|
|||||||
|
|
||||||
$devices = Device::isNotDisabled()->orderBy('type')->orderBy('hostname')->get();
|
$devices = Device::isNotDisabled()->orderBy('type')->orderBy('hostname')->get();
|
||||||
|
|
||||||
if (sizeof($devices) < 1) {
|
if (count($devices) < 1) {
|
||||||
$this->error(__('commands.smokeping:generate.no-devices'));
|
$this->error(__('commands.smokeping:generate.no-devices'));
|
||||||
|
|
||||||
return 3;
|
return 3;
|
||||||
|
@ -13,7 +13,7 @@ class SnmpTranslate extends SnmpFetch
|
|||||||
protected $name = 'snmp:translate';
|
protected $name = 'snmp:translate';
|
||||||
protected array $oids;
|
protected array $oids;
|
||||||
|
|
||||||
protected function getDevices(): \Illuminate\Support\Collection
|
protected function getDevices(): Collection
|
||||||
{
|
{
|
||||||
if (empty($this->oids)) {
|
if (empty($this->oids)) {
|
||||||
$this->oids = [$this->deviceSpec];
|
$this->oids = [$this->deviceSpec];
|
||||||
|
@ -16,7 +16,7 @@ class Kernel extends ConsoleKernel
|
|||||||
* @param \Illuminate\Console\Scheduling\Schedule $schedule
|
* @param \Illuminate\Console\Scheduling\Schedule $schedule
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function schedule(Schedule $schedule)
|
protected function schedule(Schedule $schedule): void
|
||||||
{
|
{
|
||||||
$this->scheduleMarkWorking($schedule);
|
$this->scheduleMarkWorking($schedule);
|
||||||
}
|
}
|
||||||
@ -26,7 +26,7 @@ class Kernel extends ConsoleKernel
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function commands()
|
protected function commands(): void
|
||||||
{
|
{
|
||||||
$this->load(__DIR__ . '/Commands');
|
$this->load(__DIR__ . '/Commands');
|
||||||
|
|
||||||
|
@ -3,14 +3,12 @@
|
|||||||
namespace App\Events;
|
namespace App\Events;
|
||||||
|
|
||||||
use App\Models\Device;
|
use App\Models\Device;
|
||||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
|
||||||
use Illuminate\Broadcasting\PrivateChannel;
|
|
||||||
use Illuminate\Foundation\Events\Dispatchable;
|
use Illuminate\Foundation\Events\Dispatchable;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
class DevicePolled
|
class DevicePolled
|
||||||
{
|
{
|
||||||
use Dispatchable, InteractsWithSockets, SerializesModels;
|
use Dispatchable, SerializesModels;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \App\Models\Device
|
* @var \App\Models\Device
|
||||||
@ -26,14 +24,4 @@ class DevicePolled
|
|||||||
{
|
{
|
||||||
$this->device = $device;
|
$this->device = $device;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the channels the event should broadcast on.
|
|
||||||
*
|
|
||||||
* @return \Illuminate\Broadcasting\Channel|array
|
|
||||||
*/
|
|
||||||
public function broadcastOn()
|
|
||||||
{
|
|
||||||
return new PrivateChannel('channel-name');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -3,14 +3,12 @@
|
|||||||
namespace App\Events;
|
namespace App\Events;
|
||||||
|
|
||||||
use App\Models\Device;
|
use App\Models\Device;
|
||||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
|
||||||
use Illuminate\Broadcasting\PrivateChannel;
|
|
||||||
use Illuminate\Foundation\Events\Dispatchable;
|
use Illuminate\Foundation\Events\Dispatchable;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
class PollingDevice
|
class PollingDevice
|
||||||
{
|
{
|
||||||
use Dispatchable, InteractsWithSockets, SerializesModels;
|
use Dispatchable, SerializesModels;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \App\Models\Device
|
* @var \App\Models\Device
|
||||||
@ -26,14 +24,4 @@ class PollingDevice
|
|||||||
{
|
{
|
||||||
$this->device = $device;
|
$this->device = $device;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the channels the event should broadcast on.
|
|
||||||
*
|
|
||||||
* @return \Illuminate\Broadcasting\Channel|array
|
|
||||||
*/
|
|
||||||
public function broadcastOn()
|
|
||||||
{
|
|
||||||
return new PrivateChannel('channel-name');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -3,13 +3,12 @@
|
|||||||
namespace App\Events;
|
namespace App\Events;
|
||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
|
||||||
use Illuminate\Foundation\Events\Dispatchable;
|
use Illuminate\Foundation\Events\Dispatchable;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
class UserCreated
|
class UserCreated
|
||||||
{
|
{
|
||||||
use Dispatchable, InteractsWithSockets, SerializesModels;
|
use Dispatchable, SerializesModels;
|
||||||
public $user;
|
public $user;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3,11 +3,10 @@
|
|||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
|
||||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||||
use Illuminate\Routing\Controller as BaseController;
|
use Illuminate\Routing\Controller as BaseController;
|
||||||
|
|
||||||
class Controller extends BaseController
|
class Controller extends BaseController
|
||||||
{
|
{
|
||||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
use AuthorizesRequests, ValidatesRequests;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ namespace App\Http\Controllers\Device\Tabs;
|
|||||||
|
|
||||||
use App\Models\Device;
|
use App\Models\Device;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
use LibreNMS\Interfaces\UI\DeviceTab;
|
use LibreNMS\Interfaces\UI\DeviceTab;
|
||||||
use LibreNMS\Util\Smokeping;
|
use LibreNMS\Util\Smokeping;
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
namespace App\Http\Controllers\Device\Tabs;
|
namespace App\Http\Controllers\Device\Tabs;
|
||||||
|
|
||||||
use App\Models\Device;
|
use App\Models\Device;
|
||||||
use DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use LibreNMS\Interfaces\UI\DeviceTab;
|
use LibreNMS\Interfaces\UI\DeviceTab;
|
||||||
|
|
||||||
class ProcessesController implements DeviceTab
|
class ProcessesController implements DeviceTab
|
||||||
|
@ -72,7 +72,7 @@ class LegacyController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// create and set the title
|
// create and set the title
|
||||||
$title = join(' - ', $pagetitle);
|
$title = implode(' - ', $pagetitle);
|
||||||
$html .= "<script type=\"text/javascript\">\ndocument.title = '$title';\n</script>";
|
$html .= "<script type=\"text/javascript\">\ndocument.title = '$title';\n</script>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ abstract class PaginatedAjaxController extends Controller
|
|||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder
|
* @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder
|
||||||
*/
|
*/
|
||||||
abstract protected function baseQuery($request);
|
abstract protected function baseQuery(\Illuminate\Http\Request $request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Paginator $paginator
|
* @param Paginator $paginator
|
||||||
@ -79,7 +79,7 @@ abstract class PaginatedAjaxController extends Controller
|
|||||||
*
|
*
|
||||||
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
|
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
|
||||||
*/
|
*/
|
||||||
protected function searchFields($request)
|
protected function searchFields(\Illuminate\Http\Request $request)
|
||||||
{
|
{
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@ -92,7 +92,7 @@ abstract class PaginatedAjaxController extends Controller
|
|||||||
*
|
*
|
||||||
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
|
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
|
||||||
*/
|
*/
|
||||||
protected function filterFields($request)
|
protected function filterFields(\Illuminate\Http\Request $request)
|
||||||
{
|
{
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@ -105,7 +105,7 @@ abstract class PaginatedAjaxController extends Controller
|
|||||||
*
|
*
|
||||||
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
|
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
|
||||||
*/
|
*/
|
||||||
protected function sortFields($request)
|
protected function sortFields(\Illuminate\Http\Request $request)
|
||||||
{
|
{
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ namespace App\Http\Controllers\Table;
|
|||||||
|
|
||||||
use App\Models\AlertSchedule;
|
use App\Models\AlertSchedule;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class AlertScheduleController extends TableController
|
class AlertScheduleController extends TableController
|
||||||
{
|
{
|
||||||
|
@ -46,7 +46,7 @@ class MempoolsController extends TableController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* @inheritdoc
|
||||||
*/
|
*/
|
||||||
protected function baseQuery($request)
|
protected function baseQuery($request)
|
||||||
{
|
{
|
||||||
|
@ -26,9 +26,9 @@
|
|||||||
namespace App\Http\Controllers\Table;
|
namespace App\Http\Controllers\Table;
|
||||||
|
|
||||||
use App\Models\Port;
|
use App\Models\Port;
|
||||||
use DB;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Support\Arr;
|
use Illuminate\Support\Arr;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use LibreNMS\Util\Number;
|
use LibreNMS\Util\Number;
|
||||||
use LibreNMS\Util\Rewrite;
|
use LibreNMS\Util\Rewrite;
|
||||||
use LibreNMS\Util\Url;
|
use LibreNMS\Util\Url;
|
||||||
|
@ -26,8 +26,8 @@
|
|||||||
namespace App\Http\Controllers\Widgets;
|
namespace App\Http\Controllers\Widgets;
|
||||||
|
|
||||||
use App\Models\Component;
|
use App\Models\Component;
|
||||||
use DB;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\View\View;
|
use Illuminate\View\View;
|
||||||
|
|
||||||
class ComponentStatusController extends WidgetController
|
class ComponentStatusController extends WidgetController
|
||||||
|
@ -61,13 +61,13 @@ class Kernel extends HttpKernel
|
|||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The application's route middleware.
|
* The application's middleware aliases.
|
||||||
*
|
*
|
||||||
* These middleware may be assigned to groups or used individually.
|
* Aliases may be used to conveniently assign middleware to routes and groups.
|
||||||
*
|
*
|
||||||
* @var array<string, string>
|
* @var array<string, string>
|
||||||
*/
|
*/
|
||||||
protected $routeMiddleware = [
|
protected $middlewareAliases = [
|
||||||
'authenticate' => \App\Http\Middleware\Authenticate::class,
|
'authenticate' => \App\Http\Middleware\Authenticate::class,
|
||||||
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
||||||
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
||||||
|
@ -3,19 +3,19 @@
|
|||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class Authenticate extends Middleware
|
class Authenticate extends Middleware
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Get the path the user should be redirected to when they are not authenticated.
|
* Get the path the user should be redirected to when they are not authenticated.
|
||||||
*
|
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
* @return string|void
|
|
||||||
*/
|
*/
|
||||||
protected function redirectTo($request)
|
protected function redirectTo(Request $request): ?string
|
||||||
{
|
{
|
||||||
if (! $request->expectsJson()) {
|
if (! $request->expectsJson()) {
|
||||||
return route('login');
|
return route('login');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,7 @@ namespace App\Http\Middleware;
|
|||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Auth\AuthenticationException;
|
use Illuminate\Auth\AuthenticationException;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Http\Response;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
use LibreNMS\Exceptions\InvalidIpException;
|
use LibreNMS\Exceptions\InvalidIpException;
|
||||||
use LibreNMS\Util\IP;
|
use LibreNMS\Util\IP;
|
||||||
@ -48,11 +49,10 @@ class AuthenticateGraph
|
|||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure $next
|
* @param \Closure $next
|
||||||
* @param string|null $relative
|
* @param string|null $relative
|
||||||
* @return \Illuminate\Http\Response
|
|
||||||
*
|
*
|
||||||
* @throws \Illuminate\Auth\AuthenticationException
|
* @throws \Illuminate\Auth\AuthenticationException
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next, $relative = null)
|
public function handle(Request $request, Closure $next, $relative = null): Response
|
||||||
{
|
{
|
||||||
// if user is logged in, allow
|
// if user is logged in, allow
|
||||||
if (\Auth::check()) {
|
if (\Auth::check()) {
|
||||||
|
@ -27,7 +27,9 @@ namespace App\Http\Middleware;
|
|||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Auth\Access\AuthorizationException;
|
use Illuminate\Auth\Access\AuthorizationException;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
use LibreNMS\Util\EnvHelper;
|
use LibreNMS\Util\EnvHelper;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
class CheckInstalled
|
class CheckInstalled
|
||||||
{
|
{
|
||||||
@ -36,9 +38,8 @@ class CheckInstalled
|
|||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure $next
|
* @param \Closure $next
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle(Request $request, Closure $next): Response
|
||||||
{
|
{
|
||||||
$installed = ! config('librenms.install') && file_exists(base_path('.env'));
|
$installed = ! config('librenms.install') && file_exists(base_path('.env'));
|
||||||
$is_install_route = $request->is('install*');
|
$is_install_route = $request->is('install*');
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
class DenyDemoUser
|
class DenyDemoUser
|
||||||
{
|
{
|
||||||
@ -11,9 +13,8 @@ class DenyDemoUser
|
|||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure $next
|
* @param \Closure $next
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle(Request $request, Closure $next): Response
|
||||||
{
|
{
|
||||||
if ($request->user()->isDemo()) {
|
if ($request->user()->isDemo()) {
|
||||||
return response()->view('auth.deny-demo');
|
return response()->view('auth.deny-demo');
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
class EnforceJson
|
class EnforceJson
|
||||||
{
|
{
|
||||||
@ -34,9 +36,8 @@ class EnforceJson
|
|||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure $next
|
* @param \Closure $next
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle(Request $request, Closure $next): Response
|
||||||
{
|
{
|
||||||
$request->headers->set('Accept', 'application/json');
|
$request->headers->set('Accept', 'application/json');
|
||||||
|
|
||||||
|
@ -4,8 +4,10 @@ namespace App\Http\Middleware;
|
|||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Closure;
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use LibreNMS\Authentication\LegacyAuth;
|
use LibreNMS\Authentication\LegacyAuth;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
class LegacyExternalAuth
|
class LegacyExternalAuth
|
||||||
{
|
{
|
||||||
@ -14,9 +16,8 @@ class LegacyExternalAuth
|
|||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure $next
|
* @param \Closure $next
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next, $guard = null)
|
public function handle(Request $request, Closure $next, $guard = null): Response
|
||||||
{
|
{
|
||||||
if (! Auth::guard($guard)->check()) {
|
if (! Auth::guard($guard)->check()) {
|
||||||
// check for get variables
|
// check for get variables
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
class LoadUserPreferences
|
class LoadUserPreferences
|
||||||
{
|
{
|
||||||
@ -12,9 +14,8 @@ class LoadUserPreferences
|
|||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure $next
|
* @param \Closure $next
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle(Request $request, Closure $next): Response
|
||||||
{
|
{
|
||||||
$preferences = ['locale', 'site_style', 'timezone'];
|
$preferences = ['locale', 'site_style', 'timezone'];
|
||||||
$this->loadPreferences($request, $preferences);
|
$this->loadPreferences($request, $preferences);
|
||||||
|
@ -6,18 +6,14 @@ use App\Providers\RouteServiceProvider;
|
|||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
class RedirectIfAuthenticated
|
class RedirectIfAuthenticated
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Handle an incoming request.
|
* Handle an incoming request.
|
||||||
*
|
|
||||||
* @param \Illuminate\Http\Request $request
|
|
||||||
* @param \Closure $next
|
|
||||||
* @param string|null ...$guards
|
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function handle(Request $request, Closure $next, ...$guards)
|
public function handle(Request $request, Closure $next, string ...$guards): Response
|
||||||
{
|
{
|
||||||
$guards = empty($guards) ? [null] : $guards;
|
$guards = empty($guards) ? [null] : $guards;
|
||||||
|
|
||||||
|
@ -9,9 +9,9 @@ class TrustHosts extends Middleware
|
|||||||
/**
|
/**
|
||||||
* Get the host patterns that should be trusted.
|
* Get the host patterns that should be trusted.
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array<int, string|null>
|
||||||
*/
|
*/
|
||||||
public function hosts()
|
public function hosts(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
$this->allSubdomainsOfApplicationUrl(),
|
$this->allSubdomainsOfApplicationUrl(),
|
||||||
|
@ -4,8 +4,10 @@ namespace App\Http\Middleware;
|
|||||||
|
|
||||||
use App\Models\UserPref;
|
use App\Models\UserPref;
|
||||||
use Closure;
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
class VerifyTwoFactor
|
class VerifyTwoFactor
|
||||||
{
|
{
|
||||||
@ -14,9 +16,8 @@ class VerifyTwoFactor
|
|||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure $next
|
* @param \Closure $next
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle(Request $request, Closure $next): Response
|
||||||
{
|
{
|
||||||
// check twofactor
|
// check twofactor
|
||||||
if (Config::get('twofactor') === true) {
|
if (Config::get('twofactor') === true) {
|
||||||
|
@ -5,6 +5,7 @@ namespace App\Http\Middleware;
|
|||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
class VerifyUserEnabled
|
class VerifyUserEnabled
|
||||||
{
|
{
|
||||||
@ -13,9 +14,8 @@ class VerifyUserEnabled
|
|||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
||||||
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
|
||||||
*/
|
*/
|
||||||
public function handle(Request $request, Closure $next)
|
public function handle(Request $request, Closure $next): Response
|
||||||
{
|
{
|
||||||
if (Auth::check() && ! Auth::user()->enabled) {
|
if (Auth::check() && ! Auth::user()->enabled) {
|
||||||
Auth::logout();
|
Auth::logout();
|
||||||
|
@ -15,7 +15,7 @@ class StoreUserRequest extends FormRequest
|
|||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function authorize()
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
return $this->user()->can('create', User::class);
|
return $this->user()->can('create', User::class);
|
||||||
}
|
}
|
||||||
@ -25,7 +25,7 @@ class StoreUserRequest extends FormRequest
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function rules()
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'username' => [
|
'username' => [
|
||||||
|
@ -29,12 +29,12 @@ use Illuminate\Foundation\Http\FormRequest;
|
|||||||
|
|
||||||
class TwoFactorManagementRequest extends FormRequest
|
class TwoFactorManagementRequest extends FormRequest
|
||||||
{
|
{
|
||||||
public function rules()
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function authorize()
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
$user = $this->route()->parameter('user');
|
$user = $this->route()->parameter('user');
|
||||||
$auth_user = auth()->user();
|
$auth_user = auth()->user();
|
||||||
|
@ -4,6 +4,7 @@ namespace App\Http\Requests;
|
|||||||
|
|
||||||
use Hash;
|
use Hash;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Validation\Validator;
|
||||||
use LibreNMS\Config;
|
use LibreNMS\Config;
|
||||||
|
|
||||||
class UpdateUserRequest extends FormRequest
|
class UpdateUserRequest extends FormRequest
|
||||||
@ -13,7 +14,7 @@ class UpdateUserRequest extends FormRequest
|
|||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function authorize()
|
public function authorize(): bool
|
||||||
{
|
{
|
||||||
if ($this->user()->isAdmin()) {
|
if ($this->user()->isAdmin()) {
|
||||||
return true;
|
return true;
|
||||||
@ -35,7 +36,7 @@ class UpdateUserRequest extends FormRequest
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function rules()
|
public function rules(): array
|
||||||
{
|
{
|
||||||
if ($this->user()->isAdmin()) {
|
if ($this->user()->isAdmin()) {
|
||||||
return [
|
return [
|
||||||
|
@ -15,9 +15,8 @@ class AlertRule extends JsonResource
|
|||||||
* Transform the resource into an array.
|
* Transform the resource into an array.
|
||||||
*
|
*
|
||||||
* @param \Illuminate\Http\Request $request
|
* @param \Illuminate\Http\Request $request
|
||||||
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
|
|
||||||
*/
|
*/
|
||||||
public function toArray($request)
|
public function toArray($request): array
|
||||||
{
|
{
|
||||||
$rule = parent::toArray($request);
|
$rule = parent::toArray($request);
|
||||||
$rule['devices'] = $this->devices->pluck('device_id')->all();
|
$rule['devices'] = $this->devices->pluck('device_id')->all();
|
||||||
|
@ -29,7 +29,6 @@ use App\Models\Device;
|
|||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Illuminate\Bus\Queueable;
|
use Illuminate\Bus\Queueable;
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
|
||||||
use Illuminate\Foundation\Bus\Dispatchable;
|
use Illuminate\Foundation\Bus\Dispatchable;
|
||||||
use Illuminate\Queue\InteractsWithQueue;
|
use Illuminate\Queue\InteractsWithQueue;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
@ -48,7 +47,7 @@ class PingCheck implements ShouldQueue
|
|||||||
private $wait;
|
private $wait;
|
||||||
private $rrd_tags;
|
private $rrd_tags;
|
||||||
|
|
||||||
/** @var \Illuminate\Database\Eloquent\Collection List of devices keyed by hostname */
|
/** @var \Illuminate\Database\Eloquent\Collection<string, Device>|null List of devices keyed by hostname */
|
||||||
private $devices;
|
private $devices;
|
||||||
/** @var array List of device group ids to check */
|
/** @var array List of device group ids to check */
|
||||||
private $groups = [];
|
private $groups = [];
|
||||||
@ -93,7 +92,7 @@ class PingCheck implements ShouldQueue
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle(): void
|
||||||
{
|
{
|
||||||
$ping_start = microtime(true);
|
$ping_start = microtime(true);
|
||||||
|
|
||||||
@ -158,7 +157,6 @@ class PingCheck implements ShouldQueue
|
|||||||
return $this->devices;
|
return $this->devices;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @var Builder $query */
|
|
||||||
$query = Device::canPing()
|
$query = Device::canPing()
|
||||||
->select(['devices.device_id', 'hostname', 'overwrite_ip', 'status', 'status_reason', 'last_ping', 'last_ping_timetaken', 'max_depth'])
|
->select(['devices.device_id', 'hostname', 'overwrite_ip', 'status', 'status_reason', 'last_ping', 'last_ping_timetaken', 'max_depth'])
|
||||||
->orderBy('max_depth');
|
->orderBy('max_depth');
|
||||||
@ -168,8 +166,6 @@ class PingCheck implements ShouldQueue
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->devices = $query->get()->keyBy(function ($device) {
|
$this->devices = $query->get()->keyBy(function ($device) {
|
||||||
/** @var Device $device */
|
|
||||||
|
|
||||||
return $device->overwrite_ip ?: $device->hostname;
|
return $device->overwrite_ip ?: $device->hostname;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -235,7 +231,6 @@ class PingCheck implements ShouldQueue
|
|||||||
echo "Attempting to record data for $hostname... ";
|
echo "Attempting to record data for $hostname... ";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @var Device $device */
|
|
||||||
$device = $this->devices->get($hostname);
|
$device = $this->devices->get($hostname);
|
||||||
|
|
||||||
// process the data if this is a standalone device or in the current tier
|
// process the data if this is a standalone device or in the current tier
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
namespace App\Listeners;
|
namespace App\Listeners;
|
||||||
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use DB;
|
|
||||||
use Illuminate\Auth\Events\Login;
|
use Illuminate\Auth\Events\Login;
|
||||||
use Illuminate\Auth\Events\Logout;
|
use Illuminate\Auth\Events\Logout;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Request;
|
use Request;
|
||||||
|
|
||||||
class AuthEventListener
|
class AuthEventListener
|
||||||
|
@ -24,7 +24,7 @@ class CheckAlerts
|
|||||||
* @param DevicePolled $event
|
* @param DevicePolled $event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function handle(DevicePolled $event)
|
public function handle(DevicePolled $event): void
|
||||||
{
|
{
|
||||||
Log::info('#### Start Alerts ####');
|
Log::info('#### Start Alerts ####');
|
||||||
$start = microtime(true);
|
$start = microtime(true);
|
||||||
|
@ -22,7 +22,7 @@ class LegacyQueryListener
|
|||||||
* @param \Illuminate\Database\Events\StatementPrepared $event
|
* @param \Illuminate\Database\Events\StatementPrepared $event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function handle(StatementPrepared $event)
|
public function handle(StatementPrepared $event): void
|
||||||
{
|
{
|
||||||
global $PDO_FETCH_ASSOC;
|
global $PDO_FETCH_ASSOC;
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ namespace App\Listeners;
|
|||||||
use App\Events\UserCreated;
|
use App\Events\UserCreated;
|
||||||
use App\Models\Notification;
|
use App\Models\Notification;
|
||||||
use App\Models\NotificationAttrib;
|
use App\Models\NotificationAttrib;
|
||||||
use DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class MarkNotificationsRead
|
class MarkNotificationsRead
|
||||||
{
|
{
|
||||||
@ -25,7 +25,7 @@ class MarkNotificationsRead
|
|||||||
* @param UserCreated $event
|
* @param UserCreated $event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function handle(UserCreated $event)
|
public function handle(UserCreated $event): void
|
||||||
{
|
{
|
||||||
$user = $event->user;
|
$user = $event->user;
|
||||||
// mark pre-existing notifications as read
|
// mark pre-existing notifications as read
|
||||||
|
@ -24,7 +24,7 @@ class QueryDebugListener
|
|||||||
* @param \Illuminate\Database\Events\QueryExecuted $query
|
* @param \Illuminate\Database\Events\QueryExecuted $query
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function handle(QueryExecuted $query)
|
public function handle(QueryExecuted $query): void
|
||||||
{
|
{
|
||||||
if (Debug::queryDebugIsEnabled()) {
|
if (Debug::queryDebugIsEnabled()) {
|
||||||
// collect bindings and make them a little more readable
|
// collect bindings and make them a little more readable
|
||||||
|
@ -24,7 +24,7 @@ class QueryMetricListener
|
|||||||
* @param \Illuminate\Database\Events\QueryExecuted $event
|
* @param \Illuminate\Database\Events\QueryExecuted $event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function handle(QueryExecuted $event)
|
public function handle(QueryExecuted $event): void
|
||||||
{
|
{
|
||||||
$type = strtolower(substr($event->sql, 0, strpos($event->sql, ' ')));
|
$type = strtolower(substr($event->sql, 0, strpos($event->sql, ' ')));
|
||||||
app(MeasurementManager::class)->recordDb(Measurement::make($type, $event->time ? $event->time / 100 : 0));
|
app(MeasurementManager::class)->recordDb(Measurement::make($type, $event->time ? $event->time / 100 : 0));
|
||||||
|
@ -25,7 +25,7 @@ class UpdateDeviceGroups
|
|||||||
* @param DevicePolled $event
|
* @param DevicePolled $event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function handle(DevicePolled $event)
|
public function handle(DevicePolled $event): void
|
||||||
{
|
{
|
||||||
Log::info('### Start Device Groups ###');
|
Log::info('### Start Device Groups ###');
|
||||||
$dg_start = microtime(true);
|
$dg_start = microtime(true);
|
||||||
|
@ -31,10 +31,8 @@ class CliColorFormatter extends \Monolog\Formatter\LineFormatter
|
|||||||
* @var \Console_Color2
|
* @var \Console_Color2
|
||||||
*/
|
*/
|
||||||
private $console_color;
|
private $console_color;
|
||||||
/**
|
|
||||||
* @var bool
|
protected bool $console;
|
||||||
*/
|
|
||||||
private $console;
|
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@ -46,15 +44,25 @@ class CliColorFormatter extends \Monolog\Formatter\LineFormatter
|
|||||||
);
|
);
|
||||||
|
|
||||||
$this->console_color = new \Console_Color2();
|
$this->console_color = new \Console_Color2();
|
||||||
$this->console = \App::runningInConsole();
|
$this->console = $this->console ?? \App::runningInConsole();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function format(array $record): string
|
public function format(\Monolog\LogRecord $record): string
|
||||||
{
|
{
|
||||||
// only format messages where color is enabled
|
// only format messages where color is enabled
|
||||||
if (isset($record['context']['color']) && $record['context']['color']) {
|
if (isset($record->context['color']) && $record->context['color']) {
|
||||||
$record['message'] = $this->console_color->convert($record['message'], $this->console);
|
$context = $record->context;
|
||||||
unset($record['context']['color']);
|
unset($context['color']);
|
||||||
|
|
||||||
|
$record = new \Monolog\LogRecord(
|
||||||
|
$record->datetime,
|
||||||
|
$record->channel,
|
||||||
|
$record->level,
|
||||||
|
$this->console_color->convert($record->message, $this->console),
|
||||||
|
$context,
|
||||||
|
$record->extra,
|
||||||
|
$record->formatted,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return parent::format($record);
|
return parent::format($record);
|
||||||
|
@ -25,27 +25,7 @@
|
|||||||
|
|
||||||
namespace App\Logging;
|
namespace App\Logging;
|
||||||
|
|
||||||
class NoColorFormatter extends \Monolog\Formatter\LineFormatter
|
class NoColorFormatter extends CliColorFormatter
|
||||||
{
|
{
|
||||||
/**
|
protected bool $console = false;
|
||||||
* @var \Console_Color2
|
|
||||||
*/
|
|
||||||
private $console_color;
|
|
||||||
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
parent::__construct(null, null, true, true);
|
|
||||||
$this->console_color = new \Console_Color2();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function format(array $record): string
|
|
||||||
{
|
|
||||||
// only strip messages where color is enabled
|
|
||||||
if (isset($record['context']['color']) && $record['context']['color']) {
|
|
||||||
$record['message'] = $this->console_color->convert($record['message'], false);
|
|
||||||
unset($record['context']['color']);
|
|
||||||
}
|
|
||||||
|
|
||||||
return parent::format($record);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -31,11 +31,9 @@ use Spatie\FlareClient\Report;
|
|||||||
class AddGitInformation implements \Spatie\FlareClient\FlareMiddleware\FlareMiddleware
|
class AddGitInformation implements \Spatie\FlareClient\FlareMiddleware\FlareMiddleware
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param \Spatie\FlareClient\Report $report
|
|
||||||
* @param callable $next next in the pipeline
|
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function handle(Report $report, $next)
|
public function handle(Report $report, \Closure $next)
|
||||||
{
|
{
|
||||||
$git = Git::make(180);
|
$git = Git::make(180);
|
||||||
|
|
||||||
|
@ -32,11 +32,9 @@ class CleanContext implements \Spatie\FlareClient\FlareMiddleware\FlareMiddlewar
|
|||||||
/**
|
/**
|
||||||
* Middleware to remove sensitive data from the context.
|
* Middleware to remove sensitive data from the context.
|
||||||
*
|
*
|
||||||
* @param \Spatie\FlareClient\Report $report
|
|
||||||
* @param callable $next
|
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function handle(Report $report, $next)
|
public function handle(Report $report, \Closure $next)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$report->setApplicationPath('');
|
$report->setApplicationPath('');
|
||||||
|
@ -33,11 +33,9 @@ class SetGroups implements \Spatie\FlareClient\FlareMiddleware\FlareMiddleware
|
|||||||
/**
|
/**
|
||||||
* Middleware to set LibreNMS and Tools grouping data
|
* Middleware to set LibreNMS and Tools grouping data
|
||||||
*
|
*
|
||||||
* @param \Spatie\FlareClient\Report $report
|
|
||||||
* @param callable $next
|
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function handle(Report $report, $next)
|
public function handle(Report $report, \Closure $next)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$version = Version::get();
|
$version = Version::get();
|
||||||
|
@ -30,11 +30,9 @@ class SetInstanceId implements \Spatie\FlareClient\FlareMiddleware\FlareMiddlewa
|
|||||||
/**
|
/**
|
||||||
* Middleware to add instance ID, piggybacks on the "user id" feature.
|
* Middleware to add instance ID, piggybacks on the "user id" feature.
|
||||||
*
|
*
|
||||||
* @param \Spatie\FlareClient\Report $report
|
|
||||||
* @param callable $next
|
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function handle(Report $report, $next)
|
public function handle(Report $report, \Closure $next)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$user = $report->getGroup('user', []);
|
$user = $report->getGroup('user', []);
|
||||||
|
@ -28,10 +28,10 @@ namespace App\Models;
|
|||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Carbon\CarbonImmutable;
|
use Carbon\CarbonImmutable;
|
||||||
use Date;
|
use Date;
|
||||||
use DB;
|
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\MorphToMany;
|
use Illuminate\Database\Eloquent\Relations\MorphToMany;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use LibreNMS\Enum\AlertScheduleStatus;
|
use LibreNMS\Enum\AlertScheduleStatus;
|
||||||
|
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
use DB;
|
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\MorphMany;
|
use Illuminate\Database\Eloquent\Relations\MorphMany;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use LibreNMS\Util\Rewrite;
|
use LibreNMS\Util\Rewrite;
|
||||||
use Permissions;
|
use Permissions;
|
||||||
|
@ -45,16 +45,15 @@ class AlertNotification extends Notification
|
|||||||
->action('Acknowledge', 'alert.acknowledge')
|
->action('Acknowledge', 'alert.acknowledge')
|
||||||
->action('View', 'alert.view')
|
->action('View', 'alert.view')
|
||||||
->options(['TTL' => 2000])
|
->options(['TTL' => 2000])
|
||||||
->data(['id' => $alert_id])
|
->data(['id' => $alert_id]);
|
||||||
// ->badge()
|
// ->badge()
|
||||||
// ->dir()
|
// ->dir()
|
||||||
// ->image()
|
// ->image()
|
||||||
// ->lang()
|
// ->lang()
|
||||||
// ->renotify()
|
// ->renotify()
|
||||||
// ->requireInteraction()
|
// ->requireInteraction()
|
||||||
// ->tag()
|
// ->tag()
|
||||||
// ->vibrate()
|
// ->vibrate()
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -31,7 +31,7 @@ use Rrd;
|
|||||||
class MempoolObserver extends ModuleModelObserver
|
class MempoolObserver extends ModuleModelObserver
|
||||||
{
|
{
|
||||||
/** @param \App\Models\Mempool $model */
|
/** @param \App\Models\Mempool $model */
|
||||||
public function updated($model)
|
public function updated($model): void
|
||||||
{
|
{
|
||||||
parent::updated($model);
|
parent::updated($model);
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ class ModuleModelObserver
|
|||||||
/**
|
/**
|
||||||
* @param Eloquent $model
|
* @param Eloquent $model
|
||||||
*/
|
*/
|
||||||
public function updated($model)
|
public function updated($model): void
|
||||||
{
|
{
|
||||||
d_echo('Updated data:', 'U');
|
d_echo('Updated data:', 'U');
|
||||||
d_echo($model->getDirty());
|
d_echo($model->getDirty());
|
||||||
@ -66,7 +66,7 @@ class ModuleModelObserver
|
|||||||
/**
|
/**
|
||||||
* @param Eloquent $model
|
* @param Eloquent $model
|
||||||
*/
|
*/
|
||||||
public function created($model)
|
public function created($model): void
|
||||||
{
|
{
|
||||||
echo '+';
|
echo '+';
|
||||||
}
|
}
|
||||||
@ -74,7 +74,7 @@ class ModuleModelObserver
|
|||||||
/**
|
/**
|
||||||
* @param Eloquent $model
|
* @param Eloquent $model
|
||||||
*/
|
*/
|
||||||
public function deleted($model)
|
public function deleted($model): void
|
||||||
{
|
{
|
||||||
echo '-';
|
echo '-';
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ class PackageObserver
|
|||||||
* @param \App\Models\Package $package
|
* @param \App\Models\Package $package
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function created(Package $package)
|
public function created(Package $package): void
|
||||||
{
|
{
|
||||||
Eventlog::log('Package installed: ' . $package, $package->device_id, 'package', 3);
|
Eventlog::log('Package installed: ' . $package, $package->device_id, 'package', 3);
|
||||||
Log::info("+ $package");
|
Log::info("+ $package");
|
||||||
@ -26,7 +26,7 @@ class PackageObserver
|
|||||||
* @param \App\Models\Package $package
|
* @param \App\Models\Package $package
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function updated(Package $package)
|
public function updated(Package $package): void
|
||||||
{
|
{
|
||||||
if ($package->getOriginal('version') !== $package->version || $package->getOriginal('build') !== $package->build) {
|
if ($package->getOriginal('version') !== $package->version || $package->getOriginal('build') !== $package->build) {
|
||||||
$message = $package . ' from ' . $package->getOriginal('version') . ($package->getOriginal('build') ? '-' . $package->getOriginal('build') : '');
|
$message = $package . ' from ' . $package->getOriginal('version') . ($package->getOriginal('build') ? '-' . $package->getOriginal('build') : '');
|
||||||
@ -41,7 +41,7 @@ class PackageObserver
|
|||||||
* @param \App\Models\Package $package
|
* @param \App\Models\Package $package
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function deleted(Package $package)
|
public function deleted(Package $package): void
|
||||||
{
|
{
|
||||||
Eventlog::log('Package removed: ' . $package, $package->device_id, 'package', 3);
|
Eventlog::log('Package removed: ' . $package, $package->device_id, 'package', 3);
|
||||||
Log::info("- $package");
|
Log::info("- $package");
|
||||||
@ -53,7 +53,7 @@ class PackageObserver
|
|||||||
* @param \App\Models\Package $package
|
* @param \App\Models\Package $package
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function restored(Package $package)
|
public function restored(Package $package): void
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
@ -64,7 +64,7 @@ class PackageObserver
|
|||||||
* @param \App\Models\Package $package
|
* @param \App\Models\Package $package
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function forceDeleted(Package $package)
|
public function forceDeleted(Package $package): void
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ class ServiceObserver
|
|||||||
* @param \App\Models\Service $service
|
* @param \App\Models\Service $service
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function created(Service $service)
|
public function created(Service $service): void
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
@ -23,7 +23,7 @@ class ServiceObserver
|
|||||||
* @param \App\Models\Service $service
|
* @param \App\Models\Service $service
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function updated(Service $service)
|
public function updated(Service $service): void
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
@ -34,7 +34,7 @@ class ServiceObserver
|
|||||||
* @param \App\Models\Service $service
|
* @param \App\Models\Service $service
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function deleted(Service $service)
|
public function deleted(Service $service): void
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
@ -45,7 +45,7 @@ class ServiceObserver
|
|||||||
* @param \App\Models\Service $service
|
* @param \App\Models\Service $service
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function restored(Service $service)
|
public function restored(Service $service): void
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
@ -56,7 +56,7 @@ class ServiceObserver
|
|||||||
* @param \App\Models\Service $service
|
* @param \App\Models\Service $service
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function forceDeleted(Service $service)
|
public function forceDeleted(Service $service): void
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ class UserObserver
|
|||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function deleted(User $user)
|
public function deleted(User $user): void
|
||||||
{
|
{
|
||||||
$user->apiTokens()->delete();
|
$user->apiTokens()->delete();
|
||||||
$user->notificationAttribs()->delete();
|
$user->notificationAttribs()->delete();
|
||||||
|
@ -24,9 +24,8 @@ class DashboardPolicy
|
|||||||
* Determine whether the user can view any dashboard.
|
* Determine whether the user can view any dashboard.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user): bool
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -36,9 +35,8 @@ class DashboardPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Dashboard $dashboard
|
* @param \App\Models\Dashboard $dashboard
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function view(User $user, Dashboard $dashboard)
|
public function view(User $user, Dashboard $dashboard): bool
|
||||||
{
|
{
|
||||||
return $dashboard->user_id == $user->user_id || $dashboard->access > 0;
|
return $dashboard->user_id == $user->user_id || $dashboard->access > 0;
|
||||||
}
|
}
|
||||||
@ -47,9 +45,8 @@ class DashboardPolicy
|
|||||||
* Determine whether the user can create dashboards.
|
* Determine whether the user can create dashboards.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user): bool
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -59,9 +56,8 @@ class DashboardPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Dashboard $dashboard
|
* @param \App\Models\Dashboard $dashboard
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function update(User $user, Dashboard $dashboard)
|
public function update(User $user, Dashboard $dashboard): bool
|
||||||
{
|
{
|
||||||
return $dashboard->user_id == $user->user_id || $dashboard->access > 1;
|
return $dashboard->user_id == $user->user_id || $dashboard->access > 1;
|
||||||
}
|
}
|
||||||
@ -71,9 +67,8 @@ class DashboardPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Dashboard $dashboard
|
* @param \App\Models\Dashboard $dashboard
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function delete(User $user, Dashboard $dashboard)
|
public function delete(User $user, Dashboard $dashboard): bool
|
||||||
{
|
{
|
||||||
return $dashboard->user_id == $user->user_id || $user->isAdmin();
|
return $dashboard->user_id == $user->user_id || $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -84,7 +79,6 @@ class DashboardPolicy
|
|||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Dashboard $dashboard
|
* @param \App\Models\Dashboard $dashboard
|
||||||
* @param int $target_user_id
|
* @param int $target_user_id
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function copy(User $user, Dashboard $dashboard, int $target_user_id): bool
|
public function copy(User $user, Dashboard $dashboard, int $target_user_id): bool
|
||||||
{
|
{
|
||||||
|
@ -21,9 +21,8 @@ class DeviceGroupPolicy
|
|||||||
* Determine whether the user can manage device groups.
|
* Determine whether the user can manage device groups.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function manage(User $user)
|
public function manage(User $user): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -33,9 +32,8 @@ class DeviceGroupPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\DeviceGroup $deviceGroup
|
* @param \App\Models\DeviceGroup $deviceGroup
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function view(User $user, DeviceGroup $deviceGroup)
|
public function view(User $user, DeviceGroup $deviceGroup): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -44,9 +42,8 @@ class DeviceGroupPolicy
|
|||||||
* Determine whether the user can view any device group.
|
* Determine whether the user can view any device group.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -55,9 +52,8 @@ class DeviceGroupPolicy
|
|||||||
* Determine whether the user can create device groups.
|
* Determine whether the user can create device groups.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -67,9 +63,8 @@ class DeviceGroupPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\DeviceGroup $deviceGroup
|
* @param \App\Models\DeviceGroup $deviceGroup
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function update(User $user, DeviceGroup $deviceGroup)
|
public function update(User $user, DeviceGroup $deviceGroup): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -79,9 +74,8 @@ class DeviceGroupPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\DeviceGroup $deviceGroup
|
* @param \App\Models\DeviceGroup $deviceGroup
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function delete(User $user, DeviceGroup $deviceGroup)
|
public function delete(User $user, DeviceGroup $deviceGroup): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -91,9 +85,8 @@ class DeviceGroupPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\DeviceGroup $deviceGroup
|
* @param \App\Models\DeviceGroup $deviceGroup
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function restore(User $user, DeviceGroup $deviceGroup)
|
public function restore(User $user, DeviceGroup $deviceGroup): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -103,9 +96,8 @@ class DeviceGroupPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\DeviceGroup $deviceGroup
|
* @param \App\Models\DeviceGroup $deviceGroup
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, DeviceGroup $deviceGroup)
|
public function forceDelete(User $user, DeviceGroup $deviceGroup): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -15,9 +15,8 @@ class DevicePolicy
|
|||||||
* Determine whether the user can view any devices.
|
* Determine whether the user can view any devices.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalRead();
|
return $user->hasGlobalRead();
|
||||||
}
|
}
|
||||||
@ -27,9 +26,8 @@ class DevicePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Device $device
|
* @param \App\Models\Device $device
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function view(User $user, Device $device)
|
public function view(User $user, Device $device): bool
|
||||||
{
|
{
|
||||||
return $this->viewAny($user) || Permissions::canAccessDevice($device, $user);
|
return $this->viewAny($user) || Permissions::canAccessDevice($device, $user);
|
||||||
}
|
}
|
||||||
@ -38,9 +36,8 @@ class DevicePolicy
|
|||||||
* Determine whether the user can create devices.
|
* Determine whether the user can create devices.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalAdmin();
|
return $user->hasGlobalAdmin();
|
||||||
}
|
}
|
||||||
@ -50,9 +47,8 @@ class DevicePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Device $device
|
* @param \App\Models\Device $device
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function update(User $user, Device $device)
|
public function update(User $user, Device $device): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -62,9 +58,8 @@ class DevicePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Device $device
|
* @param \App\Models\Device $device
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function delete(User $user, Device $device)
|
public function delete(User $user, Device $device): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -74,9 +69,8 @@ class DevicePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Device $device
|
* @param \App\Models\Device $device
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function restore(User $user, Device $device)
|
public function restore(User $user, Device $device): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalAdmin();
|
return $user->hasGlobalAdmin();
|
||||||
}
|
}
|
||||||
@ -86,9 +80,8 @@ class DevicePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Device $device
|
* @param \App\Models\Device $device
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, Device $device)
|
public function forceDelete(User $user, Device $device): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -99,9 +92,8 @@ class DevicePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Device $device
|
* @param \App\Models\Device $device
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function showConfig(User $user, Device $device)
|
public function showConfig(User $user, Device $device): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -111,9 +103,8 @@ class DevicePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Device $device
|
* @param \App\Models\Device $device
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function updateNotes(User $user, Device $device)
|
public function updateNotes(User $user, Device $device): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
|
@ -14,9 +14,8 @@ class PollerClusterPolicy
|
|||||||
* Determine whether the user can view any poller clusters.
|
* Determine whether the user can view any poller clusters.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalAdmin();
|
return $user->hasGlobalAdmin();
|
||||||
}
|
}
|
||||||
@ -26,22 +25,20 @@ class PollerClusterPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\PollerCluster $pollerCluster
|
* @param \App\Models\PollerCluster $pollerCluster
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function view(User $user, PollerCluster $pollerCluster)
|
public function view(User $user, PollerCluster $pollerCluster): bool
|
||||||
{
|
{
|
||||||
//
|
return $this->viewAny($user);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine whether the user can create poller clusters.
|
* Determine whether the user can create poller clusters.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user): bool
|
||||||
{
|
{
|
||||||
//
|
return $this->viewAny($user);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -49,9 +46,8 @@ class PollerClusterPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\PollerCluster $pollerCluster
|
* @param \App\Models\PollerCluster $pollerCluster
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function update(User $user, PollerCluster $pollerCluster)
|
public function update(User $user, PollerCluster $pollerCluster): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -61,9 +57,8 @@ class PollerClusterPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\PollerCluster $pollerCluster
|
* @param \App\Models\PollerCluster $pollerCluster
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function delete(User $user, PollerCluster $pollerCluster)
|
public function delete(User $user, PollerCluster $pollerCluster): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -73,11 +68,10 @@ class PollerClusterPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\PollerCluster $pollerCluster
|
* @param \App\Models\PollerCluster $pollerCluster
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function restore(User $user, PollerCluster $pollerCluster)
|
public function restore(User $user, PollerCluster $pollerCluster): bool
|
||||||
{
|
{
|
||||||
//
|
return $this->viewAny($user);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -85,20 +79,18 @@ class PollerClusterPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\PollerCluster $pollerCluster
|
* @param \App\Models\PollerCluster $pollerCluster
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, PollerCluster $pollerCluster)
|
public function forceDelete(User $user, PollerCluster $pollerCluster): bool
|
||||||
{
|
{
|
||||||
//
|
return $this->viewAny($user);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine whether the user can manage the poller cluster.
|
* Determine whether the user can manage the poller cluster.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function manage(User $user)
|
public function manage(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
|
@ -15,9 +15,8 @@ class PortPolicy
|
|||||||
* Determine whether the user can view any ports.
|
* Determine whether the user can view any ports.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalRead();
|
return $user->hasGlobalRead();
|
||||||
}
|
}
|
||||||
@ -27,9 +26,8 @@ class PortPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Port $port
|
* @param \App\Models\Port $port
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function view(User $user, Port $port)
|
public function view(User $user, Port $port): bool
|
||||||
{
|
{
|
||||||
return $this->viewAny($user) || Permissions::canAccessDevice($port->device_id, $user) || Permissions::canAccessPort($port, $user);
|
return $this->viewAny($user) || Permissions::canAccessDevice($port->device_id, $user) || Permissions::canAccessPort($port, $user);
|
||||||
}
|
}
|
||||||
@ -38,9 +36,8 @@ class PortPolicy
|
|||||||
* Determine whether the user can create ports.
|
* Determine whether the user can create ports.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -50,9 +47,8 @@ class PortPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Port $port
|
* @param \App\Models\Port $port
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function update(User $user, Port $port)
|
public function update(User $user, Port $port): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalAdmin();
|
return $user->hasGlobalAdmin();
|
||||||
}
|
}
|
||||||
@ -62,9 +58,8 @@ class PortPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Port $port
|
* @param \App\Models\Port $port
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function delete(User $user, Port $port)
|
public function delete(User $user, Port $port): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalAdmin();
|
return $user->hasGlobalAdmin();
|
||||||
}
|
}
|
||||||
@ -74,9 +69,8 @@ class PortPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Port $port
|
* @param \App\Models\Port $port
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function restore(User $user, Port $port)
|
public function restore(User $user, Port $port): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalAdmin();
|
return $user->hasGlobalAdmin();
|
||||||
}
|
}
|
||||||
@ -86,9 +80,8 @@ class PortPolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\Port $port
|
* @param \App\Models\Port $port
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, Port $port)
|
public function forceDelete(User $user, Port $port): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalAdmin();
|
return $user->hasGlobalAdmin();
|
||||||
}
|
}
|
||||||
|
@ -14,9 +14,8 @@ class ServiceTemplatePolicy
|
|||||||
* Determine whether the user can view any service templates.
|
* Determine whether the user can view any service templates.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalRead();
|
return $user->hasGlobalRead();
|
||||||
}
|
}
|
||||||
@ -26,9 +25,8 @@ class ServiceTemplatePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\ServiceTemplate $template
|
* @param \App\Models\ServiceTemplate $template
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function view(User $user, ServiceTemplate $template)
|
public function view(User $user, ServiceTemplate $template): bool
|
||||||
{
|
{
|
||||||
return $this->viewAny($user);
|
return $this->viewAny($user);
|
||||||
}
|
}
|
||||||
@ -37,9 +35,8 @@ class ServiceTemplatePolicy
|
|||||||
* Determine whether the user can create service templates.
|
* Determine whether the user can create service templates.
|
||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalAdmin();
|
return $user->hasGlobalAdmin();
|
||||||
}
|
}
|
||||||
@ -49,9 +46,8 @@ class ServiceTemplatePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\ServiceTemplate $template
|
* @param \App\Models\ServiceTemplate $template
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function update(User $user, ServiceTemplate $template)
|
public function update(User $user, ServiceTemplate $template): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -61,9 +57,8 @@ class ServiceTemplatePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\ServiceTemplate $template
|
* @param \App\Models\ServiceTemplate $template
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function delete(User $user, ServiceTemplate $template)
|
public function delete(User $user, ServiceTemplate $template): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -73,9 +68,8 @@ class ServiceTemplatePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\ServiceTemplate $template
|
* @param \App\Models\ServiceTemplate $template
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function restore(User $user, ServiceTemplate $template)
|
public function restore(User $user, ServiceTemplate $template): bool
|
||||||
{
|
{
|
||||||
return $user->hasGlobalAdmin();
|
return $user->hasGlobalAdmin();
|
||||||
}
|
}
|
||||||
@ -85,9 +79,8 @@ class ServiceTemplatePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\ServiceTemplate $template
|
* @param \App\Models\ServiceTemplate $template
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function forceDelete(User $user, ServiceTemplate $template)
|
public function forceDelete(User $user, ServiceTemplate $template): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -98,9 +91,8 @@ class ServiceTemplatePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\ServiceTemplate $template
|
* @param \App\Models\ServiceTemplate $template
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function showConfig(User $user, ServiceTemplate $template)
|
public function showConfig(User $user, ServiceTemplate $template): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -110,9 +102,8 @@ class ServiceTemplatePolicy
|
|||||||
*
|
*
|
||||||
* @param \App\Models\User $user
|
* @param \App\Models\User $user
|
||||||
* @param \App\Models\ServiceTemplate $template
|
* @param \App\Models\ServiceTemplate $template
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function updateNotes(User $user, ServiceTemplate $template)
|
public function updateNotes(User $user, ServiceTemplate $template): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
|
@ -13,9 +13,8 @@ class UserPolicy
|
|||||||
* Determine whether the user can manage users.
|
* Determine whether the user can manage users.
|
||||||
*
|
*
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function manage(User $user)
|
public function manage(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -25,9 +24,8 @@ class UserPolicy
|
|||||||
*
|
*
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @param User $target
|
* @param User $target
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function view(User $user, User $target)
|
public function view(User $user, User $target): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin() || $target->is($user);
|
return $user->isAdmin() || $target->is($user);
|
||||||
}
|
}
|
||||||
@ -36,9 +34,8 @@ class UserPolicy
|
|||||||
* Determine whether the user can view any user.
|
* Determine whether the user can view any user.
|
||||||
*
|
*
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @return mixed
|
|
||||||
*/
|
*/
|
||||||
public function viewAny(User $user)
|
public function viewAny(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -47,9 +44,8 @@ class UserPolicy
|
|||||||
* Determine whether the user can create users.
|
* Determine whether the user can create users.
|
||||||
*
|
*
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function create(User $user)
|
public function create(User $user): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
@ -59,9 +55,8 @@ class UserPolicy
|
|||||||
*
|
*
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @param User $target
|
* @param User $target
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function update(User $user, User $target)
|
public function update(User $user, User $target): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin() || $target->is($user);
|
return $user->isAdmin() || $target->is($user);
|
||||||
}
|
}
|
||||||
@ -71,9 +66,8 @@ class UserPolicy
|
|||||||
*
|
*
|
||||||
* @param User $user
|
* @param User $user
|
||||||
* @param User $target
|
* @param User $target
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function delete(User $user, User $target)
|
public function delete(User $user, User $target): bool
|
||||||
{
|
{
|
||||||
return $user->isAdmin();
|
return $user->isAdmin();
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function register()
|
public function register(): void
|
||||||
{
|
{
|
||||||
$this->registerFacades();
|
$this->registerFacades();
|
||||||
$this->registerGeocoder();
|
$this->registerGeocoder();
|
||||||
@ -48,7 +48,7 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function boot()
|
public function boot(): void
|
||||||
{
|
{
|
||||||
\Illuminate\Pagination\Paginator::useBootstrap();
|
\Illuminate\Pagination\Paginator::useBootstrap();
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user