refactor: alert rule name duplicate check
This commit is contained in:
parent
853053f56d
commit
ffe3dd6bca
|
@ -46,6 +46,7 @@ var (
|
||||||
"No such alert rule": "告警规则不存在",
|
"No such alert rule": "告警规则不存在",
|
||||||
"No such alert rule group": "告警规则分组不存在",
|
"No such alert rule group": "告警规则分组不存在",
|
||||||
"No such alert event": "告警事件不存在",
|
"No such alert event": "告警事件不存在",
|
||||||
|
"Alert rule %s already exists": "告警规则(%s)已存在",
|
||||||
"No such collect rule": "采集规则不存在",
|
"No such collect rule": "采集规则不存在",
|
||||||
"Decoded metric description empty": "导入的指标释义列表为空",
|
"Decoded metric description empty": "导入的指标释义列表为空",
|
||||||
"User disabled": "用户已被禁用",
|
"User disabled": "用户已被禁用",
|
||||||
|
|
|
@ -89,6 +89,15 @@ func alertRulePut(c *gin.Context) {
|
||||||
arg := AlertRuleGroup(ar.GroupId)
|
arg := AlertRuleGroup(ar.GroupId)
|
||||||
alertRuleWritePermCheck(arg, me)
|
alertRuleWritePermCheck(arg, me)
|
||||||
|
|
||||||
|
if ar.Name != f.Name {
|
||||||
|
num, err := models.AlertRuleCount("group_id=? and name=? and id<>?", ar.GroupId, f.Name, ar.Id)
|
||||||
|
dangerous(err)
|
||||||
|
|
||||||
|
if num > 0 {
|
||||||
|
bomb(200, "Alert rule %s already exists", f.Name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ar.Name = f.Name
|
ar.Name = f.Name
|
||||||
ar.Note = f.Note
|
ar.Note = f.Note
|
||||||
ar.Type = f.Type
|
ar.Type = f.Type
|
||||||
|
|
|
@ -262,6 +262,15 @@ func (ar *AlertRule) Add() error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
num, err := AlertRuleCount("group_id=? and name=?", ar.GroupId, ar.Name)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if num > 0 {
|
||||||
|
return _e("Alert rule %s already exists", ar.Name)
|
||||||
|
}
|
||||||
|
|
||||||
now := time.Now().Unix()
|
now := time.Now().Unix()
|
||||||
ar.CreateAt = now
|
ar.CreateAt = now
|
||||||
ar.UpdateAt = now
|
ar.UpdateAt = now
|
||||||
|
|
Loading…
Reference in New Issue