diff --git a/cmd/server/app/network/controller/batch.go b/cmd/server/app/network/controller/batch.go index b270dc5a48dae23d3190dec28f4e606006d78a31..bf2dafa1d34ae6b8683126b46a8bd7d06d8e4ff3 100644 --- a/cmd/server/app/network/controller/batch.go +++ b/cmd/server/app/network/controller/batch.go @@ -16,6 +16,7 @@ import ( "gitee.com/openeuler/PilotGo/cmd/server/app/service/batch" "gitee.com/openeuler/PilotGo/pkg/global" "gitee.com/openeuler/PilotGo/pkg/utils/message/net" + "gitee.com/openeuler/PilotGo/sdk/common" "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" "github.com/google/uuid" @@ -59,6 +60,32 @@ func CreateBatchHandler(c *gin.Context) { response.Success(c, nil, "批次入库成功") } +// 查询所有批次 +func BatchInfoNoPageHandler(c *gin.Context) { + batch, err := batch.SelectBatch() + if err != nil { + response.Fail(c, nil, "获取批次信息错误"+err.Error()) + return + } + + if len(batch) == 0 { + response.Fail(c, nil, "未获取到批次信息") + return + } + + resp := []*common.BatchList{} + for _, item := range batch { + res := &common.BatchList{ + ID: int(item.ID), + Name: item.Name, + Description: item.Description, + Manager: item.Manager, + } + resp = append(resp, res) + } + response.Success(c, resp, "批次信息获取成功") +} + // 分页查询所有批次 func BatchInfoHandler(c *gin.Context) { p := &response.PaginationQ{} diff --git a/cmd/server/app/network/controller/machine.go b/cmd/server/app/network/controller/machine.go index 8ca12d76a28f5dd94fb2910b6911e5f01bd66294..f01f9bed32722038250590e322d192b73dfbfcc7 100644 --- a/cmd/server/app/network/controller/machine.go +++ b/cmd/server/app/network/controller/machine.go @@ -9,6 +9,7 @@ package controller import ( machineservice "gitee.com/openeuler/PilotGo/cmd/server/app/service/machine" + "gitee.com/openeuler/PilotGo/sdk/common" "gitee.com/openeuler/PilotGo/sdk/response" "github.com/gin-gonic/gin" ) @@ -18,6 +19,32 @@ type MachineModifyDepart struct { DepartID int `json:"departid"` } +// 获取机器列表 +func MachineInfoNoPageHandler(c *gin.Context) { + data, err := machineservice.MachineAll() + if err != nil { + response.Fail(c, nil, err.Error()) + return + } + + resp := []*common.MachineNode{} + for _, item := range data { + d := &common.MachineNode{ + UUID: item.UUID, + IP: item.IP, + Department: item.Departname, + CPUArch: item.CPU, + OS: item.Systeminfo, + RunStatus: item.Runstatus, + MaintStatus: item.Maintstatus, + } + + resp = append(resp, d) + } + + response.Success(c, resp, "获取所有的机器数据") +} + // 分页获取机器列表 func MachineInfoHandler(c *gin.Context) { query := &response.PaginationQ{} diff --git a/cmd/server/app/network/controller/script.go b/cmd/server/app/network/controller/script.go index 376b1e6debf9c0d05653b774278bdefde856fec7..0b6279b8115fdc3e5d845683615bd4029f646efd 100644 --- a/cmd/server/app/network/controller/script.go +++ b/cmd/server/app/network/controller/script.go @@ -150,25 +150,24 @@ func DeleteScriptHandler(c *gin.Context) { } auditlog.Add(log) - if err := scriptservice.DeleteScript(req_body.ScriptID, req_body.Version); err != nil { - logger.Error("fail to delete script: %s", err.Error()) - response.Fail(c, nil, err.Error()) - return - } - var script_name string - script, err := scriptservice.GetScriptByID(req_body.ScriptID) + _script, err := scriptservice.GetScriptByID(req_body.ScriptID) if err != nil { logger.Error("fail to get script by id: %s", err.Error()) script_name = "" } else { - script_name = script.Name + script_name = _script.Name } global.SendRemindMsg( global.MachineSendMsg, fmt.Sprintf("用户 %s 删除脚本 %s %s", u.Username, script_name, req_body.Version), ) - + + if err := scriptservice.DeleteScript(req_body.ScriptID, req_body.Version); err != nil { + logger.Error("fail to delete script: %s", err.Error()) + response.Fail(c, nil, err.Error()) + return + } response.Success(c, nil, "成功") } diff --git a/cmd/server/app/network/httpserver.go b/cmd/server/app/network/httpserver.go index 1170124b21f874f086977b5a2ac9f8132c725011..75ea0bbf4336b342198dc6ddd226df65094ef278 100644 --- a/cmd/server/app/network/httpserver.go +++ b/cmd/server/app/network/httpserver.go @@ -199,6 +199,7 @@ func registerAPIs(router *gin.Engine) { //machine list mac := system.Group("/macList") mac.GET("/machineinfo", controller.MachineInfoHandler) + mac.GET("/machineinfo_nopage", controller.MachineInfoNoPageHandler) mac.POST("/gettags", pluginapi.GetTagHandler) mac.GET("/machinealldata", controller.MachineAllDataHandler) } @@ -216,6 +217,7 @@ func registerAPIs(router *gin.Engine) { batchmanager := system.Group("/batchmanager") { batchmanager.GET("/batchinfo", controller.BatchInfoHandler) + batchmanager.GET("/batchinfo_nopage", controller.BatchInfoNoPageHandler) batchmanager.GET("/batchmachineinfo", controller.BatchMachineInfoHandler) batchmanager.GET("/selectbatch", controller.SelectBatchHandler) } diff --git a/cmd/server/app/service/internal/dao/scriptdao.go b/cmd/server/app/service/internal/dao/scriptdao.go index 4f1dcdf6ff8ce5173e292c5af4b24cb08ba553e0..ddaa024a7d3b8882998f4402f458e614bad06a39 100644 --- a/cmd/server/app/service/internal/dao/scriptdao.go +++ b/cmd/server/app/service/internal/dao/scriptdao.go @@ -192,9 +192,27 @@ func CreateDangerousCommands() error { } func UpdateCommandsBlackList(_whitelist []uint) error { - for _, id := range _whitelist { - if err := mysqlmanager.MySQL().Model(&DangerousCommands{}).Where("id=?", id).Update("active", false).Error; err != nil { - return err + commands, err := GetDangerousCommandsList() + if err != nil { + return err + } + for _, cmd := range commands { + in_whitelist := false + for _, whiteID := range _whitelist { + if cmd.ID == whiteID { + in_whitelist = true + break + } + } + if !in_whitelist && !cmd.Active { + if err := mysqlmanager.MySQL().Model(&DangerousCommands{}).Where("id=?", cmd.ID).Update("active", true).Error; err != nil { + return err + } + } + if in_whitelist { + if err := mysqlmanager.MySQL().Model(&DangerousCommands{}).Where("id=?", cmd.ID).Update("active", false).Error; err != nil { + return err + } } } return nil diff --git a/cmd/server/app/service/script/script.go b/cmd/server/app/service/script/script.go index 7dc757540084e0b0558526cb896ebdc183ca3142..2cb76cc47e905658aee39b01664578f29b78963f 100644 --- a/cmd/server/app/service/script/script.go +++ b/cmd/server/app/service/script/script.go @@ -107,6 +107,10 @@ func ScriptHistoryVersion(scriptid uint) ([]*dao.HistoryVersion, error) { func RunScript(runscriptmeta *RunScriptMeta, batch *common.Batch) ([]batchservice.R, error) { var err error + if runscriptmeta.ScriptID == 0 { + return nil, errors.Errorf("script id abnormal, id: %d", runscriptmeta.ScriptID) + } + script_content := "" if runscriptmeta.Version == "" { script_content, err = dao.ShowScriptContent(runscriptmeta.ScriptID)