mirror of
https://github.com/ProxyPanel/ProxyPanel.git
synced 2026-04-11 15:10:54 +00:00
75 lines
1.8 KiB
PHP
75 lines
1.8 KiB
PHP
<?php
|
||
|
||
namespace App\Models;
|
||
|
||
use Illuminate\Database\Eloquent\Builder;
|
||
use Illuminate\Database\Eloquent\Model;
|
||
|
||
/**
|
||
* 审计规则
|
||
*
|
||
* @property int $id
|
||
* @property int $type 类型:1-正则表达式、2-域名、3-IP、4-协议
|
||
* @property string $name 规则描述
|
||
* @property string $pattern 规则值
|
||
* @property \Illuminate\Support\Carbon $created_at
|
||
* @property \Illuminate\Support\Carbon $updated_at
|
||
* @property-read mixed $type_api_label
|
||
* @property-read mixed $type_label
|
||
* @method static Builder|Rule newModelQuery()
|
||
* @method static Builder|Rule newQuery()
|
||
* @method static Builder|Rule query()
|
||
* @method static Builder|Rule whereCreatedAt($value)
|
||
* @method static Builder|Rule whereId($value)
|
||
* @method static Builder|Rule whereName($value)
|
||
* @method static Builder|Rule wherePattern($value)
|
||
* @method static Builder|Rule whereType($value)
|
||
* @method static Builder|Rule whereUpdatedAt($value)
|
||
* @mixin \Eloquent
|
||
*/
|
||
class Rule extends Model {
|
||
protected $table = 'rule';
|
||
|
||
public function getTypeLabelAttribute(): string {
|
||
switch($this->attributes['type']){
|
||
case 1:
|
||
$type_label = '正则表达式';
|
||
break;
|
||
case 2:
|
||
$type_label = '域 名';
|
||
break;
|
||
case 3:
|
||
$type_label = 'I P';
|
||
break;
|
||
case 4:
|
||
$type_label = '协 议';
|
||
break;
|
||
default:
|
||
$type_label = '未 知';
|
||
|
||
}
|
||
return $type_label;
|
||
}
|
||
|
||
public function getTypeApiLabelAttribute(): string {
|
||
switch($this->attributes['type']){
|
||
case 1:
|
||
$type_api_label = 'reg';
|
||
break;
|
||
case 2:
|
||
$type_api_label = 'domain';
|
||
break;
|
||
case 3:
|
||
$type_api_label = 'ip';
|
||
break;
|
||
case 4:
|
||
$type_api_label = 'protocol';
|
||
break;
|
||
default:
|
||
$type_api_label = 'unknown';
|
||
|
||
}
|
||
return $type_api_label;
|
||
}
|
||
}
|