trove/packages/Lvl0/FediDiscover/src/Models/Instance.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();
}
}