From 34b02d58347feec5e2f8355c89171e492e56f1d0 Mon Sep 17 00:00:00 2001 From: HFO4 <912394456@qq.com> Date: Sun, 31 Oct 2021 09:40:15 +0800 Subject: [PATCH] Feat: edit node and get node info --- assets | 2 +- routers/controllers/admin.go | 11 +++++++++++ routers/router.go | 2 ++ service/admin/node.go | 15 +++++++++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/assets b/assets index 59890e6..8a61a8e 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit 59890e6b22d69befa8b742a64967b6bab1bb4a3d +Subproject commit 8a61a8e4c238ed60a107ace23717cf8f03f957f6 diff --git a/routers/controllers/admin.go b/routers/controllers/admin.go index 097a441..a3ebfa5 100644 --- a/routers/controllers/admin.go +++ b/routers/controllers/admin.go @@ -476,3 +476,14 @@ func AdminDeleteNode(c *gin.Context) { c.JSON(200, ErrorResponse(err)) } } + +// AdminGetNode 获取节点详情 +func AdminGetNode(c *gin.Context) { + var service admin.NodeService + if err := c.ShouldBindUri(&service); err == nil { + res := service.Get() + c.JSON(200, res) + } else { + c.JSON(200, ErrorResponse(err)) + } +} diff --git a/routers/router.go b/routers/router.go index 9888358..a7204c4 100644 --- a/routers/router.go +++ b/routers/router.go @@ -458,6 +458,8 @@ func InitMasterRouter() *gin.Engine { node.PATCH("enable/:id/:desired", controllers.AdminToggleNode) // 删除节点 node.DELETE(":id", controllers.AdminDeleteNode) + // 获取节点 + node.GET(":id", controllers.AdminGetNode) } } diff --git a/service/admin/node.go b/service/admin/node.go index 98f9b58..7d52dbd 100644 --- a/service/admin/node.go +++ b/service/admin/node.go @@ -83,6 +83,11 @@ func (service *ToggleNodeService) Toggle() serializer.Response { return serializer.DBErr("找不到节点", err) } + // 是否为系统节点 + if node.ID <= 1 { + return serializer.Err(serializer.CodeNoPermissionErr, "系统节点无法更改", err) + } + if err = node.SetStatus(service.Desired); err != nil { return serializer.DBErr("无法更改节点状态", err) } @@ -121,3 +126,13 @@ func (service *NodeService) Delete() serializer.Response { return serializer.Response{} } + +// Get 获取节点详情 +func (service *NodeService) Get() serializer.Response { + node, err := model.GetNodeByID(service.ID) + if err != nil { + return serializer.Err(serializer.CodeNotFound, "节点不存在", err) + } + + return serializer.Response{Data: node} +}