mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
style(api): reduce code complexity
This commit is contained in:
parent
1f8f3ed038
commit
4ef95cfd31
@ -288,15 +288,17 @@ func PauseAlert(c *middleware.Context, dto dtos.PauseAlertCommand) Response {
|
||||
|
||||
//POST /api/alerts/pause
|
||||
func PauseAlerts(c *middleware.Context, dto dtos.PauseAlertsCommand) Response {
|
||||
alertIdsToUpdate, err := getAlertIdsToUpdate(dto)
|
||||
if err != nil {
|
||||
return ApiError(500, "Failed to pause alerts", err)
|
||||
updateCmd := models.PauseAlertCommand{
|
||||
OrgId: c.OrgId,
|
||||
Paused: dto.Paused,
|
||||
}
|
||||
|
||||
updateCmd := models.PauseAlertCommand{
|
||||
OrgId: c.OrgId,
|
||||
AlertIds: alertIdsToUpdate,
|
||||
Paused: dto.Paused,
|
||||
if len(dto.DataSourceIds) > 0 {
|
||||
alertIdsToUpdate, err := getAlertIdsToUpdate(dto)
|
||||
if err != nil {
|
||||
return ApiError(500, "Failed to pause alerts", err)
|
||||
}
|
||||
updateCmd.AlertIds = alertIdsToUpdate
|
||||
}
|
||||
|
||||
if err := bus.Dispatch(&updateCmd); err != nil {
|
||||
@ -326,20 +328,14 @@ func getAlertIdsToUpdate(pauseAlertCmd dtos.PauseAlertsCommand) ([]int64, error)
|
||||
}
|
||||
|
||||
var alertIdsToUpdate []int64
|
||||
updateAllAlerts := len(pauseAlertCmd.DataSourceIds) == 0
|
||||
for _, alert := range cmd.Result {
|
||||
if updateAllAlerts {
|
||||
alertIdsToUpdate = append(alertIdsToUpdate, alert.Id)
|
||||
continue
|
||||
}
|
||||
|
||||
alert, err := alerting.NewRuleFromDBAlert(alert)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, condition := range alert.Conditions {
|
||||
id, exist := condition.GetDatsourceId()
|
||||
id, exist := condition.GetDatasourceId()
|
||||
if exist && existInSlice(pauseAlertCmd.DataSourceIds, *id) {
|
||||
alertIdsToUpdate = append(alertIdsToUpdate, alert.Id)
|
||||
}
|
||||
|
@ -1,11 +0,0 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
. "github.com/smartystreets/goconvey/convey"
|
||||
)
|
||||
|
||||
func TestAlertingApi(t *testing.T) {
|
||||
Convey("", func() {})
|
||||
}
|
@ -34,7 +34,7 @@ type AlertQuery struct {
|
||||
To string
|
||||
}
|
||||
|
||||
func (c *QueryCondition) GetDatsourceId() (datasourceId *int64, exist bool) {
|
||||
func (c *QueryCondition) GetDatasourceId() (datasourceId *int64, exist bool) {
|
||||
return &c.Query.DatasourceId, true
|
||||
}
|
||||
|
||||
|
@ -18,6 +18,10 @@ func (c *conditionStub) Eval(context *EvalContext) (*ConditionResult, error) {
|
||||
return &ConditionResult{Firing: c.firing, EvalMatches: c.matches, Operator: c.operator, NoDataFound: c.noData}, nil
|
||||
}
|
||||
|
||||
func (c *conditionStub) GetDatasourceId() (datasourceId *int64, exist bool) {
|
||||
return nil, false
|
||||
}
|
||||
|
||||
func TestAlertingExecutor(t *testing.T) {
|
||||
Convey("Test alert execution", t, func() {
|
||||
handler := NewEvalHandler()
|
||||
|
@ -30,5 +30,5 @@ type ConditionResult struct {
|
||||
|
||||
type Condition interface {
|
||||
Eval(result *EvalContext) (*ConditionResult, error)
|
||||
GetDatsourceId() (datasourceId *int64, exist bool)
|
||||
GetDatasourceId() (datasourceId *int64, exist bool)
|
||||
}
|
||||
|
@ -14,6 +14,10 @@ func (f *FakeCondition) Eval(context *EvalContext) (*ConditionResult, error) {
|
||||
return &ConditionResult{}, nil
|
||||
}
|
||||
|
||||
func (c *FakeCondition) GetDatasourceId() (datasourceId *int64, exist bool) {
|
||||
return nil, false
|
||||
}
|
||||
|
||||
func TestAlertRuleModel(t *testing.T) {
|
||||
Convey("Testing alert rule", t, func() {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user