40 lines
1.4 KiB
Go
40 lines
1.4 KiB
Go
package models
|
||
|
||
import (
|
||
"platform/web/core"
|
||
"platform/web/globals/orm"
|
||
|
||
"gorm.io/datatypes"
|
||
)
|
||
|
||
// Proxy 代理服务表
|
||
type Proxy struct {
|
||
core.Model
|
||
Version int32 `json:"version" gorm:"column:version"` // 代理服务版本
|
||
Mac string `json:"mac" gorm:"column:mac"` // 代理服务名称
|
||
IP orm.Inet `json:"ip" gorm:"column:ip;not null"` // 代理服务地址
|
||
Host *string `json:"host,omitempty" gorm:"column:host"` // 代理服务域名
|
||
Secret *string `json:"secret,omitempty" gorm:"column:secret"` // 代理服务密钥
|
||
Type ProxyType `json:"type" gorm:"column:type"` // 代理服务类型:1-自有,2-白银
|
||
Status ProxyStatus `json:"status" gorm:"column:status"` // 代理服务状态:0-离线,1-在线
|
||
Meta *datatypes.JSONType[any] `json:"meta,omitempty" gorm:"column:meta"` // 代理服务元信息
|
||
|
||
Channels []Channel `json:"channels,omitempty" gorm:"foreignkey:ProxyID"`
|
||
}
|
||
|
||
// ProxyType 代理服务类型枚举
|
||
type ProxyType int
|
||
|
||
const (
|
||
ProxyTypeSelfHosted ProxyType = 1 // 自有
|
||
ProxyTypeBaiYin ProxyType = 2 // 白银
|
||
)
|
||
|
||
// ProxyStatus 代理服务状态枚举
|
||
type ProxyStatus int
|
||
|
||
const (
|
||
ProxyStatusOffline ProxyStatus = 0 // 离线
|
||
ProxyStatusOnline ProxyStatus = 1 // 在线
|
||
)
|