From eb389afc11da23c9433c10243072faa38365cc0c Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Wed, 2 Jun 2021 12:47:30 +0300 Subject: [PATCH] Fix alerting queries with numeric query type --- pkg/datasource/models.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkg/datasource/models.go b/pkg/datasource/models.go index ec84f2d..fb0d897 100644 --- a/pkg/datasource/models.go +++ b/pkg/datasource/models.go @@ -3,9 +3,12 @@ package datasource import ( "encoding/json" "fmt" + "strconv" "time" + "github.com/bitly/go-simplejson" "github.com/grafana/grafana-plugin-sdk-go/backend" + "github.com/grafana/grafana-plugin-sdk-go/backend/log" ) const ( @@ -121,5 +124,21 @@ func ReadQuery(query backend.DataQuery) (QueryModel, error) { return model, fmt.Errorf("could not read query: %w", err) } + if model.QueryType == "" { + queryJSON, err := simplejson.NewJson(query.JSON) + if err != nil { + return model, fmt.Errorf("could not read query JSON: %w", err) + } + + queryType, err := queryJSON.Get("queryType").Int64() + if err != nil { + log.DefaultLogger.Warn("could not read query type", "error", err) + log.DefaultLogger.Debug("setting query type to default value") + model.QueryType = "0" + } else { + model.QueryType = strconv.FormatInt(queryType, 10) + } + } + return model, nil }