You've already forked Atomcms-edit
75 lines
3.0 KiB
PHP
Executable File
75 lines
3.0 KiB
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Enums;
|
|
|
|
enum AlertType: string
|
|
{
|
|
case EMULATOR_OFFLINE = 'emulator_offline';
|
|
case EMULATOR_ONLINE = 'emulator_online';
|
|
case EMULATOR_ERROR = 'emulator_error';
|
|
case DDOS_DETECTED = 'ddos_detected';
|
|
case DDOS_BLOCKED = 'ddos_blocked';
|
|
case HIGH_ERROR_RATE = 'high_error_rate';
|
|
case CRITICAL_ERROR = 'critical_error';
|
|
case QUEUE_FAILED = 'queue_failed';
|
|
case DATABASE_ERROR = 'database_error';
|
|
case SSL_EXPIRED = 'ssl_expired';
|
|
case DISK_SPACE_LOW = 'disk_space_low';
|
|
case MEMORY_WARNING = 'memory_warning';
|
|
case EMULATOR_UPDATE = 'emulator_update';
|
|
case SQL_UPDATE = 'sql_update';
|
|
|
|
public function getLabel(): string
|
|
{
|
|
return match ($this) {
|
|
self::EMULATOR_OFFLINE => 'Emulator Offline',
|
|
self::EMULATOR_ONLINE => 'Emulator Online',
|
|
self::EMULATOR_ERROR => 'Emulator Error',
|
|
self::DDOS_DETECTED => 'DDoS Gedetecteerd',
|
|
self::DDOS_BLOCKED => 'DDoS Geblokkeerd',
|
|
self::HIGH_ERROR_RATE => 'Hoge Error Rate',
|
|
self::CRITICAL_ERROR => 'Kritieke Error',
|
|
self::QUEUE_FAILED => 'Queue Failed',
|
|
self::DATABASE_ERROR => 'Database Error',
|
|
self::SSL_EXPIRED => 'SSL Verlopen',
|
|
self::DISK_SPACE_LOW => 'Weinig Schijfruimte',
|
|
self::MEMORY_WARNING => 'Geheugen Waarschuwing',
|
|
self::EMULATOR_UPDATE => 'Emulator Update',
|
|
self::SQL_UPDATE => 'SQL Update',
|
|
};
|
|
}
|
|
|
|
public function getSeverity(): AlertSeverity
|
|
{
|
|
return match ($this) {
|
|
self::EMULATOR_OFFLINE, self::DDOS_DETECTED, self::CRITICAL_ERROR => AlertSeverity::CRITICAL,
|
|
self::EMULATOR_ERROR, self::HIGH_ERROR_RATE, self::QUEUE_FAILED, self::DATABASE_ERROR, self::SSL_EXPIRED => AlertSeverity::ERROR,
|
|
self::DDOS_BLOCKED, self::DISK_SPACE_LOW, self::MEMORY_WARNING => AlertSeverity::WARNING,
|
|
self::EMULATOR_UPDATE, self::SQL_UPDATE => AlertSeverity::INFO,
|
|
self::EMULATOR_ONLINE => AlertSeverity::INFO,
|
|
};
|
|
}
|
|
|
|
public function getIcon(): string
|
|
{
|
|
return match ($this) {
|
|
self::EMULATOR_OFFLINE => 'heroicon-o-server',
|
|
self::EMULATOR_ONLINE => 'heroicon-o-server',
|
|
self::EMULATOR_ERROR => 'heroicon-o-exclamation-triangle',
|
|
self::DDOS_DETECTED => 'heroicon-o-shield-exclamation',
|
|
self::DDOS_BLOCKED => 'heroicon-o-shield-check',
|
|
self::HIGH_ERROR_RATE => 'heroicon-o-arrow-trending-up',
|
|
self::CRITICAL_ERROR => 'heroicon-o-x-circle',
|
|
self::QUEUE_FAILED => 'heroicon-o-queue-list',
|
|
self::DATABASE_ERROR => 'heroicon-o-database',
|
|
self::SSL_EXPIRED => 'heroicon-o-lock-closed',
|
|
self::DISK_SPACE_LOW => 'heroicon-o-hard-drive',
|
|
self::MEMORY_WARNING => 'heroicon-o-cpu-chip',
|
|
self::EMULATOR_UPDATE => 'heroicon-o-arrow-down-tray',
|
|
self::SQL_UPDATE => 'heroicon-o-document-arrow-down',
|
|
};
|
|
}
|
|
}
|