From 737a47f700b727c2c3a21cd79b980f1bc1261439 Mon Sep 17 00:00:00 2001 From: zhanghan Date: Tue, 9 Sep 2025 17:43:15 +0800 Subject: [PATCH] Get the dropdown menu options interface for adding alarm rules --- .../internal/module/common/enum/rule/rule.go | 20 +++++++++---------- .../module/common/enum/script/script.go | 4 ++++ .../controller/enum_dropdown.go | 18 +++++++++++++++++ .../dangerous_rule/model/dangerous_rule.go | 6 +++--- .../internal/module/dangerous_rule/router.go | 6 ++++++ .../dangerous_rule/service/dangerous_rule.go | 4 ++-- 6 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go diff --git a/automation/server/internal/module/common/enum/rule/rule.go b/automation/server/internal/module/common/enum/rule/rule.go index beef7df3..4199cd10 100644 --- a/automation/server/internal/module/common/enum/rule/rule.go +++ b/automation/server/internal/module/common/enum/rule/rule.go @@ -2,22 +2,22 @@ package rule import "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/common/enum" -type Severity int +type ActionType int const ( - SeverityBlock Severity = 1 - SeverityWarning Severity = 2 + Block ActionType = 1 + Warning ActionType = 2 ) -var SeverityMap = enum.EnumMap{ - int(SeverityBlock): "拦截", - int(SeverityWarning): "警告", +var ActionMap = enum.EnumMap{ + int(Block): "拦截", + int(Warning): "警告", } -func (s Severity) String() string { - return SeverityMap.String(int(s)) +func (s ActionType) String() string { + return ActionMap.String(int(s)) } -func GetSeverities() []enum.Item { - return SeverityMap.ToItems() +func GetActions() []enum.Item { + return ActionMap.ToItems() } diff --git a/automation/server/internal/module/common/enum/script/script.go b/automation/server/internal/module/common/enum/script/script.go index 7fc338ac..0a5b39d9 100644 --- a/automation/server/internal/module/common/enum/script/script.go +++ b/automation/server/internal/module/common/enum/script/script.go @@ -22,6 +22,10 @@ var ScriptTypeMap = enum.EnumMap{ int(SQL): "SQL", } +func GetScriptType() []enum.Item { + return ScriptTypeMap.ToItems() +} + type ScriptTypeArr []ScriptType func (a ScriptTypeArr) Strings() []string { diff --git a/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go b/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go new file mode 100644 index 00000000..9a268db8 --- /dev/null +++ b/automation/server/internal/module/dangerous_rule/controller/enum_dropdown.go @@ -0,0 +1,18 @@ +package controller + +import ( + "gitee.com/openeuler/PilotGo/sdk/response" + "github.com/gin-gonic/gin" + "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/common/enum/rule" + "openeuler.org/PilotGo/PilotGo-plugin-automation/internal/module/common/enum/script" +) + +func ScriptTypeListHandler(c *gin.Context) { + scriptTypes := script.GetScriptType() + response.Success(c, scriptTypes, "success") +} + +func ActionListHandler(c *gin.Context) { + actions := rule.GetActions() + response.Success(c, actions, "success") +} diff --git a/automation/server/internal/module/dangerous_rule/model/dangerous_rule.go b/automation/server/internal/module/dangerous_rule/model/dangerous_rule.go index 50cdb98d..dc4126a1 100644 --- a/automation/server/internal/module/dangerous_rule/model/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/model/dangerous_rule.go @@ -12,7 +12,7 @@ type DangerousRule struct { Expression string `gorm:"type:varchar(255);uniqueIndex:uniq_expression" json:"expression"` // 语法检测表达式 Description string `json:"description"` // 规则描述 ScriptTypes script.ScriptTypeArr `gorm:"type:json" json:"script_types"` // 脚本类型 - Severity rule.Severity `json:"severity"` // 风险等级: 拦截(脚本不可保存、带参数时是否可执行), 警告(用户二次确认) + Action rule.ActionType `json:"action"` // 执行动作: 拦截(脚本不可保存、带参数时是否可执行), 警告(用户二次确认) Creator string `json:"creator"` // 创建人 CreatedAt string `json:"created_at"` // 创建时间 UpdatedAt string `json:"updated_at"` // 更新时间 @@ -22,11 +22,11 @@ type DangerousRule struct { func (r DangerousRule) MarshalJSON() ([]byte, error) { type Alias DangerousRule return json.Marshal(&struct { - Severity string `json:"severity"` + Action string `json:"action"` ScriptTypes []string `json:"script_types"` Alias }{ - Severity: r.Severity.String(), // 把数字转成文字 + Action: r.Action.String(), ScriptTypes: r.ScriptTypes.Strings(), Alias: (Alias)(r), }) diff --git a/automation/server/internal/module/dangerous_rule/router.go b/automation/server/internal/module/dangerous_rule/router.go index 120ad2ac..87aaf82b 100644 --- a/automation/server/internal/module/dangerous_rule/router.go +++ b/automation/server/internal/module/dangerous_rule/router.go @@ -14,4 +14,10 @@ func DangerousRuleHandler(router *gin.RouterGroup) { api.PUT("/changeStatus", controller.ChangeDangerousRuleStatusHandler) api.DELETE("/delete", controller.DeleteDangerousRuleHandler) } + + enumApi := router.Group("/enum") + { + enumApi.GET("/scriptType", controller.ScriptTypeListHandler) + enumApi.GET("/action", controller.ActionListHandler) + } } diff --git a/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go b/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go index ec484be9..afa29187 100644 --- a/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go +++ b/automation/server/internal/module/dangerous_rule/service/dangerous_rule.go @@ -15,7 +15,7 @@ func AddDangerousRule(rule *model.DangerousRule) error { Expression: rule.Expression, Description: rule.Description, ScriptTypes: rule.ScriptTypes, - Severity: rule.Severity, + Action: rule.Action, Creator: rule.Creator, CreatedAt: time.Now().Format("2006-01-02 15:04:05"), UpdatedAt: time.Now().Format("2006-01-02 15:04:05"), @@ -41,7 +41,7 @@ func UpdateDangerousRule(rule *model.DangerousRule) error { Expression: rule.Expression, Description: rule.Description, ScriptTypes: rule.ScriptTypes, - Severity: rule.Severity, + Action: rule.Action, UpdatedAt: time.Now().Format("2006-01-02 15:04:05"), Status: rule.Status, }); err != nil { -- Gitee