38 lines
948 B
PHP
38 lines
948 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Lvl0\FediDiscover\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Lvl0\FediDiscover\Config\InstanceType;
|
|
use Lvl0\FediDiscover\Database\Factories\InstanceFactory;
|
|
|
|
class Instance extends Model
|
|
{
|
|
/** @use HasFactory<InstanceFactory> */
|
|
use HasFactory;
|
|
|
|
protected $table = 'fedi_discover_instances';
|
|
|
|
protected $fillable = ['type', 'url', 'enabled', 'interval_seconds', 'extras', 'last_polled_at'];
|
|
|
|
protected $casts = [
|
|
'type' => InstanceType::class,
|
|
'enabled' => 'boolean',
|
|
'extras' => 'array',
|
|
'last_polled_at' => 'datetime',
|
|
];
|
|
|
|
public function scopeEnabled($query)
|
|
{
|
|
return $query->where('enabled', true);
|
|
}
|
|
|
|
protected static function newFactory(): Factory
|
|
{
|
|
return InstanceFactory::new();
|
|
}
|
|
}
|