Files
services_core/app/Models/NasMikrotik.php
T
2026-08-07 09:16:13 +07:00

40 lines
922 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class NasMikrotik extends Model
{
protected $guarded = ['id'];
protected $hidden = ['api_password', 'radius_secret'];
protected function casts(): array
{
return [
'api_password' => 'encrypted',
'radius_secret' => 'encrypted',
'last_checked_at' => 'datetime',
'last_connected_at' => 'datetime',
'next_health_check_at' => 'datetime',
'health_details' => 'array',
];
}
public function tenant()
{
return $this->belongsTo(Tenant::class);
}
public function customerAccounts()
{
return $this->hasMany(CustomerNasAccount::class);
}
public function effectiveBackendMode(): string
{
return $this->backend_mode_override ?: ($this->tenant->nasSetting?->backend_mode ?: 'routeros_api');
}
}