mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 18:38:25 +00:00
0b8b97bb68
* Update manifest and add service worker cleanup icons a bit * Push notifications WIP * navigate working * cleanup * acknowledge wired up * Set VAPID keys on composer install * Component to control notification permissions. * Allow all user option to validate * Enable on browser load if transport exists. * Check for transport before showing user permissions translations * Documentation * style fixes * access via the attribute model * fix alerting test * update schema * cleanup subscription on disable * non-configurable db and table for webpush subscriptions (respect system connection) * revert AlertTransport change hopefully phpstan can figure it out * phpstan fixes * Support custom details display * Match transport names to brand's preferred display * less duplicate id errors * Tests are done in Laravel code now so remove legacy function usage... could be better, but ok * Style fixes * Style fixes 2 * Fix alert test * Doc updates requires HTTPS and GMP * unregister subscription when permission is set to denied * cleanup after user deletion * delete the right thing * fix whitespace * update install docs to include php-gmp * suggest ext-gmp * update javascript * Update functions.php Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
46 lines
1.5 KiB
PHP
46 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use LibreNMS\Alert\Transport;
|
|
|
|
/**
|
|
* \App\Models\AlertTransport
|
|
*
|
|
* @property int $transport_id
|
|
* @property string $transport_name
|
|
* @property string $transport_type
|
|
* @property bool $is_default
|
|
* @property array|null $transport_config
|
|
*
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AlertTransport newModelQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AlertTransport newQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AlertTransport query()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AlertTransport whereIsDefault($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AlertTransport whereTransportConfig($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AlertTransport whereTransportId($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AlertTransport whereTransportName($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|AlertTransport whereTransportType($value)
|
|
* @mixin \Eloquent
|
|
*/
|
|
class AlertTransport extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
protected $primaryKey = 'transport_id';
|
|
public $timestamps = false;
|
|
protected $casts = [
|
|
'is_default' => 'boolean',
|
|
'transport_config' => 'array',
|
|
];
|
|
|
|
public function instance(): Transport
|
|
{
|
|
$class = Transport::getClass($this->transport_type);
|
|
|
|
return new $class($this);
|
|
}
|
|
}
|