🎨同步配置文件改为队列操作(没写完)
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"gitee.ltd/lxh/logger/log"
|
||||
"github.com/gin-gonic/gin"
|
||||
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
||||
"wireguard-dashboard/http/param"
|
||||
"wireguard-dashboard/model/entity"
|
||||
"wireguard-dashboard/repository"
|
||||
"wireguard-dashboard/utils"
|
||||
)
|
||||
@@ -12,6 +16,49 @@ func Server() server {
|
||||
return server{}
|
||||
}
|
||||
|
||||
// SaveServer
|
||||
// @description: 新增/更新服务端信息
|
||||
// @receiver server
|
||||
// @param c
|
||||
func (server) SaveServer(c *gin.Context) {
|
||||
var p param.SaveServer
|
||||
if err := c.ShouldBind(&p); err != nil {
|
||||
utils.GinResponse(c).FailedWithErr("参数错误", err)
|
||||
return
|
||||
}
|
||||
|
||||
var err error
|
||||
if p.Id != "" {
|
||||
if err = repository.Server().Update(p); err != nil {
|
||||
log.Errorf("更改服务端信息失败: %v", err.Error())
|
||||
}
|
||||
} else {
|
||||
privateKey, err := wgtypes.GeneratePrivateKey()
|
||||
if err != nil {
|
||||
utils.GinResponse(c).FailedWithMsg("生成密钥失败")
|
||||
return
|
||||
}
|
||||
publicKey := privateKey.PublicKey()
|
||||
if err = repository.Server().Save(&entity.Server{
|
||||
IpScope: p.IpScope,
|
||||
ListenPort: p.ListenPort,
|
||||
PrivateKey: privateKey.String(),
|
||||
PublicKey: publicKey.String(),
|
||||
PostUpScript: p.PostUpScript,
|
||||
PreDownScript: p.PreDownScript,
|
||||
PostDownScript: p.PostDownScript,
|
||||
}); err != nil {
|
||||
log.Errorf("新增服务端失败: %v", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
utils.GinResponse(c).FailedWithMsg("操作失败")
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// GetServer
|
||||
// @description: 获取服务端信息
|
||||
// @receiver wireguard
|
||||
@@ -19,8 +66,20 @@ func Server() server {
|
||||
func (server) GetServer(c *gin.Context) {
|
||||
data, err := repository.Server().GetServer()
|
||||
if err != nil {
|
||||
utils.GinResponse(c).FailedWithMsg("获取服务端信息失败")
|
||||
return
|
||||
log.Errorf("获取服务端信息失败: %v", err.Error())
|
||||
}
|
||||
|
||||
utils.GinResponse(c).OKWithData(data)
|
||||
}
|
||||
|
||||
// GetGlobalSetting
|
||||
// @description: 获取全局设置配置
|
||||
// @receiver server
|
||||
// @param c
|
||||
func (server) GetGlobalSetting(c *gin.Context) {
|
||||
data, err := repository.System().GetServerSetting()
|
||||
if err != nil {
|
||||
log.Errorf("获取配置失败: %v", err.Error())
|
||||
}
|
||||
|
||||
utils.GinResponse(c).OKWithData(data)
|
||||
|
Reference in New Issue
Block a user