From 544073b7e171521c67cf842095d2261945028505 Mon Sep 17 00:00:00 2001 From: bergquist Date: Thu, 9 Jun 2016 10:27:23 +0200 Subject: [PATCH] feat(alerting): make sure saved alerts are valid --- pkg/models/alerts.go | 4 ++++ pkg/services/alerting/dashboard_parser.go | 2 +- pkg/services/alerting/rule_reader.go | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/models/alerts.go b/pkg/models/alerts.go index 87371d49876..030aabea1b9 100644 --- a/pkg/models/alerts.go +++ b/pkg/models/alerts.go @@ -27,6 +27,10 @@ type AlertRule struct { Updated time.Time `json:"updated"` } +func (alertRule *AlertRule) ValidToSave() bool { + return alertRule.Query != "" && alertRule.Frequency != 0 && alertRule.QueryRange != 0 && alertRule.Name != "" +} + func (this *AlertRule) Equals(other *AlertRule) bool { result := false diff --git a/pkg/services/alerting/dashboard_parser.go b/pkg/services/alerting/dashboard_parser.go index 73b9063fa42..66a719373db 100644 --- a/pkg/services/alerting/dashboard_parser.go +++ b/pkg/services/alerting/dashboard_parser.go @@ -65,7 +65,7 @@ func ParseAlertsFromDashboard(cmd *m.SaveDashboardCommand) []*m.AlertRule { alert.DatasourceId = query.Result.Id } - if alert.Query != "" { + if alert.ValidToSave() { alerts = append(alerts, alert) } } diff --git a/pkg/services/alerting/rule_reader.go b/pkg/services/alerting/rule_reader.go index 9279df28cc8..49b781a01c6 100644 --- a/pkg/services/alerting/rule_reader.go +++ b/pkg/services/alerting/rule_reader.go @@ -64,6 +64,7 @@ func (arr *AlertRuleReader) Fetch() []*AlertRule { model.Description = ruleDef.Description model.Aggregator = ruleDef.Aggregator model.State = ruleDef.State + model.QueryRange = ruleDef.QueryRange res[i] = model }