package entity // Server // @description: 服务端 type Server struct { Base IpScope string `json:"ipScope" gorm:"type:varchar(30);not null;comment:'ip范围'"` ListenPort int `json:"listenPort" gorm:"type:int(10);not null;comment:'服务监听端口'"` PrivateKey string `json:"privateKey" gorm:"type:text;not null;comment:'密钥'"` PublicKey string `json:"publicKey" gorm:"type:text;not null;comment:'公钥'"` PostUpScript string `json:"postUpScript" gorm:"type:text;default null;comment:'postUpScript'"` PreDownScript string `json:"preDownScript" gorm:"type:text;default null;comment:'preDownScript'"` PostDownScript string `json:"postDownScript" gorm:"type:text;default null;comment:postDownScript"` Clients []Client `json:"clients" gorm:"foreignKey:ServerId"` } func (*Server) TableName() string { return "t_wg_server" } // Client // @description: 客户端 type Client struct { Base ServerId string `json:"serverId" gorm:"type:varchar(36);not null;comment:'服务端id'"` Name string `json:"name" gorm:"type:varchar(100);not null;comment:'客户端名称'"` Email string `json:"email" gorm:"type:varchar(100);default null;comment:'联系邮箱'"` SubnetRange string `json:"subnetRange" gorm:"type:varchar(255);default null;comment:'子网范围'"` IpAllocation string `json:"ipAllocation" gorm:"type:varchar(30);not null;comment:'客户端ip'"` AllowedIps string `json:"allowedIps" gorm:"type:varchar(30);not null;comment:'允许访问的ip'"` ExtraAllowedIps string `json:"extraAllowedIps" gorm:"type:varchar(30);default null;comment:'额外允许的ip范围'"` Endpoint string `json:"endpoint" gorm:"type:varchar(255);default null;comment:'端点'"` UseServerDns int `json:"useServerDns" gorm:"type:int(1);default 1;comment:'是否使用服务端dns'"` EnableAfterCreation int `json:"enableAfterCreation" gorm:"type:int(1);default 1;comment:'是否创建后启用'"` Keys string `json:"keys" gorm:"type:text;default null;comment:'公钥和密钥的json串'"` UserId string `json:"userId" gorm:"type:char(36);not null;comment:'创建人id'"` } func (*Client) TableName() string { return "t_wg_client" }