Files
sam-manage/app/Models/Stats/StatAlert.php

70 lines
1.6 KiB
PHP
Raw Normal View History

<?php
namespace App\Models\Stats;
use Illuminate\Database\Eloquent\Model;
class StatAlert extends Model
{
protected $connection = 'sam_stat';
protected $table = 'stat_alerts';
public $timestamps = false;
protected $fillable = [
'is_read',
'is_resolved',
'resolved_at',
];
protected $casts = [
'current_value' => 'decimal:2',
'threshold_value' => 'decimal:2',
'is_read' => 'boolean',
'is_resolved' => 'boolean',
'resolved_at' => 'datetime',
'created_at' => 'datetime',
];
/**
* 심각도 라벨
*/
public function getSeverityLabelAttribute(): string
{
return match ($this->severity) {
'critical' => '긴급',
'warning' => '경고',
'info' => '정보',
default => $this->severity,
};
}
/**
* 심각도 색상 클래스
*/
public function getSeverityColorAttribute(): string
{
return match ($this->severity) {
'critical' => 'text-red-600 bg-red-100',
'warning' => 'text-yellow-600 bg-yellow-100',
'info' => 'text-blue-600 bg-blue-100',
default => 'text-gray-600 bg-gray-100',
};
}
/**
* 도메인 라벨
*/
public function getDomainLabelAttribute(): string
{
return match ($this->domain) {
'backup' => '백업',
'sales' => '매출',
'finance' => '재무',
'production' => '생산',
'system' => '시스템',
default => $this->domain,
};
}
}