Browse Source

feat(alerting): make sure saved alerts are valid

bergquist 9 years ago
parent
commit
544073b7e1

+ 4 - 0
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
 

+ 1 - 1
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)
 			}
 		}

+ 1 - 0
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
 	}