Files

40 lines
1.4 KiB
Go
Raw Permalink Normal View History

package models
import (
"platform/web/core"
"platform/web/globals/orm"
"gorm.io/datatypes"
)
// Proxy 代理服务表
type Proxy struct {
core.Model
2025-12-15 14:48:30 +08:00
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 // 在线
)