wire up debounce setting in the ui

This commit is contained in:
bergquist
2018-11-05 10:50:28 +01:00
parent 2d3a575489
commit 4526660cb2
4 changed files with 164 additions and 139 deletions
+19 -8
View File
@@ -2,6 +2,7 @@ package alerting
import (
"errors"
"time"
"fmt"
@@ -113,15 +114,25 @@ func (e *DashAlertExtractor) getAlertFromPanels(jsonWithPanels *simplejson.Json,
return nil, ValidationError{Reason: "Could not parse frequency"}
}
rawDebouce := jsonAlert.Get("debounceDuration").MustString()
var debounceDuration time.Duration
if rawDebouce != "" {
debounceDuration, err = time.ParseDuration(rawDebouce)
if err != nil {
return nil, ValidationError{Reason: "Could not parse debounceDuration"}
}
}
alert := &m.Alert{
DashboardId: e.Dash.Id,
OrgId: e.OrgID,
PanelId: panelID,
Id: jsonAlert.Get("id").MustInt64(),
Name: jsonAlert.Get("name").MustString(),
Handler: jsonAlert.Get("handler").MustInt64(),
Message: jsonAlert.Get("message").MustString(),
Frequency: frequency,
DashboardId: e.Dash.Id,
OrgId: e.OrgID,
PanelId: panelID,
Id: jsonAlert.Get("id").MustInt64(),
Name: jsonAlert.Get("name").MustString(),
Handler: jsonAlert.Get("handler").MustInt64(),
Message: jsonAlert.Get("message").MustString(),
Frequency: frequency,
DebounceDuration: debounceDuration,
}
for _, condition := range jsonAlert.Get("conditions").MustArray() {
+2 -1
View File
@@ -193,7 +193,8 @@ func updateAlerts(existingAlerts []*m.Alert, cmd *m.SaveAlertsCommand, sess *DBS
if alertToUpdate.ContainsUpdates(alert) {
alert.Updated = timeNow()
alert.State = alertToUpdate.State
sess.MustCols("message")
sess.MustCols("message", "debounce_duration")
_, err := sess.ID(alert.Id).Update(alert)
if err != nil {
return err