|
@@ -22,6 +22,7 @@ func init() {
|
|
|
bus.AddHandler("sql", GetAlertStatesForDashboard)
|
|
bus.AddHandler("sql", GetAlertStatesForDashboard)
|
|
|
bus.AddHandler("sql", PauseAlert)
|
|
bus.AddHandler("sql", PauseAlert)
|
|
|
bus.AddHandler("sql", PauseAllAlerts)
|
|
bus.AddHandler("sql", PauseAllAlerts)
|
|
|
|
|
+ bus.AddHandler("sql", IncAlertEval)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func GetAlertById(query *m.GetAlertByIdQuery) error {
|
|
func GetAlertById(query *m.GetAlertByIdQuery) error {
|
|
@@ -188,7 +189,7 @@ func updateAlerts(existingAlerts []*m.Alert, cmd *m.SaveAlertsCommand, sess *DBS
|
|
|
if alertToUpdate.ContainsUpdates(alert) {
|
|
if alertToUpdate.ContainsUpdates(alert) {
|
|
|
alert.Updated = timeNow()
|
|
alert.Updated = timeNow()
|
|
|
alert.State = alertToUpdate.State
|
|
alert.State = alertToUpdate.State
|
|
|
- sess.MustCols("message")
|
|
|
|
|
|
|
+ sess.MustCols("message", "notify_freq", "notify_once")
|
|
|
_, err := sess.Id(alert.Id).Update(alert)
|
|
_, err := sess.Id(alert.Id).Update(alert)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return err
|
|
return err
|
|
@@ -343,3 +344,22 @@ func GetAlertStatesForDashboard(query *m.GetAlertStatesForDashboardQuery) error
|
|
|
|
|
|
|
|
return err
|
|
return err
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+func IncAlertEval(cmd *m.IncAlertEvalCommand) error {
|
|
|
|
|
+ return inTransaction(func(sess *DBSession) error {
|
|
|
|
|
+ alert := m.Alert{}
|
|
|
|
|
+
|
|
|
|
|
+ if _, err := sess.Id(cmd.AlertId).Get(&alert); err != nil {
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ alert.NotifyEval = (alert.NotifyEval + 1) % alert.NotifyFreq
|
|
|
|
|
+
|
|
|
|
|
+ sess.MustCols("notify_eval")
|
|
|
|
|
+ if _, err := sess.Id(cmd.AlertId).Update(alert); err != nil {
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return nil
|
|
|
|
|
+ })
|
|
|
|
|
+}
|