🚧
This commit is contained in:
21
model/entity/base.go
Normal file
21
model/entity/base.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package entity
|
||||
|
||||
import (
|
||||
"github.com/google/uuid"
|
||||
"gorm.io/datatypes"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type Base struct {
|
||||
Id string `json:"id" gorm:"primaryKey;type:varchar(36);not null;comment:'主键'"`
|
||||
CreatedAt datatypes.Time
|
||||
UpdatedAt datatypes.Time
|
||||
}
|
||||
|
||||
func (b *Base) BeforeCreate(*gorm.DB) (err error) {
|
||||
if b.Id == "" {
|
||||
b.Id = uuid.NewString()
|
||||
}
|
||||
|
||||
return
|
||||
}
|
40
model/entity/wireguard.go
Normal file
40
model/entity/wireguard.go
Normal file
@@ -0,0 +1,40 @@
|
||||
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串'"`
|
||||
}
|
||||
|
||||
func (*Client) TableName() string {
|
||||
return "t_wg_client"
|
||||
}
|
Reference in New Issue
Block a user