41 lines
2.9 KiB
Go
41 lines
2.9 KiB
Go
package param
|
|
|
|
import (
|
|
"wireguard-ui/global/constant"
|
|
)
|
|
|
|
// SaveClient
|
|
// @description: 新增/编辑客户端
|
|
type SaveClient struct {
|
|
Id string `json:"id" form:"id" label:"id" binding:"omitempty"` // id
|
|
Name string `json:"name" form:"name" label:"名称" binding:"required,min=1,max=64"` // 名称
|
|
Email string `json:"email" form:"email" label:"联系邮箱" binding:"omitempty"` // 联系邮箱
|
|
SubnetRange string `json:"subnetRange" form:"subnetRange" label:"子网范围" binding:"omitempty"` // 子网范围
|
|
IpAllocation []string `json:"ipAllocation" form:"ipAllocation" label:"客户端IP" binding:"required,dive"` // IP地址
|
|
AllowedIps []string `json:"allowedIps" form:"allowedIps" label:"allowedIps" binding:"omitempty,dive"` // 允许访问的IP段
|
|
ExtraAllowedIps []string `json:"extraAllowedIps" form:"extraAllowedIps" label:"extraAllowedIps" binding:"omitempty,dive"` // 其他允许访问的IP段
|
|
Endpoint string `json:"endpoint" form:"endpoint" label:"endpoint" binding:"omitempty"` // 服务端地址
|
|
UseServerDns *constant.Status `json:"useServerDns" form:"useServerDns" label:"useServerDns" binding:"required,oneof=0 1"` // 是否使用服务端DNS 1 - 是 | 0 - 否
|
|
Keys *Keys `json:"keys" form:"keys" label:"密钥信息" binding:"required"` // 密钥
|
|
Enabled *constant.Status `json:"enabled" form:"enabled" label:"状态" binding:"required,oneof=0 1"` // 状态 1 - 启用 | 0 - 禁用
|
|
OfflineMonitoring *constant.Status `json:"offlineMonitoring" form:"offlineMonitoring" label:"离线通知" binding:"required,oneof=0 1"` // 离线通知 1 - 启用 | 0 - 禁用
|
|
}
|
|
|
|
// Keys
|
|
// @description: 客户端密钥信息
|
|
type Keys struct {
|
|
PrivateKey string `json:"privateKey" form:"privateKey" label:"私钥" binding:"required"`
|
|
PublicKey string `json:"publicKey" form:"publicKey" label:"公钥" binding:"required"`
|
|
PresharedKey string `json:"presharedKey" form:"presharedKey" label:"共享密钥" binding:"required"`
|
|
}
|
|
|
|
// ClientList
|
|
// @description: 客户端列表
|
|
type ClientList struct {
|
|
Name string `json:"name" form:"name" label:"名称" binding:"omitempty"` // 客户端名称
|
|
Email string `json:"email" form:"email" label:"邮箱" binding:"omitempty,email"` // 联系邮箱
|
|
IpAllocation string `json:"ipAllocation" form:"ipAllocation" label:"IP范围段" binding:"omitempty"` // 客户端IP
|
|
Enabled *int `json:"enabled" form:"enabled" label:"状态" binding:"omitempty,oneof=0 1"` // 客户端状态
|
|
Page
|
|
}
|