Feat: add and save node

pull/1040/head
HFO4 4 years ago
parent 0dc573253f
commit c205111d26

@ -1 +1 @@
Subproject commit fe6297c952319762a8f27f6a8c121b513d3859c0
Subproject commit 59890e6b22d69befa8b742a64967b6bab1bb4a3d

@ -18,7 +18,7 @@ type Node struct {
Aria2Options string `gorm:"type:text"` // 离线下载配置
// 数据库忽略字段
Aria2OptionsSerialized Aria2Option `gorm:"-" json:"-"`
Aria2OptionsSerialized Aria2Option `gorm:"-"`
}
// Aria2Option 非公有的Aria2配置属性

@ -443,3 +443,14 @@ func AdminListNodes(c *gin.Context) {
c.JSON(200, ErrorResponse(err))
}
}
// AdminAddNode 新建节点
func AdminAddNode(c *gin.Context) {
var service admin.AddNodeService
if err := c.ShouldBindJSON(&service); err == nil {
res := service.Add()
c.JSON(200, res)
} else {
c.JSON(200, ErrorResponse(err))
}
}

@ -448,9 +448,10 @@ func InitMasterRouter() *gin.Engine {
{
// 列出从机节点
node.POST("list", controllers.AdminListNodes)
// 列出从机节点
node.POST("aria2/test", controllers.AdminTestAria2)
// 创建/保存节点
node.POST("", controllers.AdminAddNode)
}
}

@ -7,6 +7,26 @@ import (
"strings"
)
// AddNodeService 节点添加服务
type AddNodeService struct {
Node model.Node `json:"node" binding:"required"`
}
// Add 添加节点
func (service *AddNodeService) Add() serializer.Response {
if service.Node.ID > 0 {
if err := model.DB.Save(&service.Node).Error; err != nil {
return serializer.ParamErr("节点保存失败", err)
}
} else {
if err := model.DB.Create(&service.Node).Error; err != nil {
return serializer.ParamErr("节点添加失败", err)
}
}
return serializer.Response{Data: service.Node.ID}
}
// Nodes 列出从机节点
func (service *AdminListService) Nodes() serializer.Response {
var res []model.Node

Loading…
Cancel
Save