diff --git a/pkg/datasource/models.go b/pkg/datasource/models.go index 3e77709..deeed04 100644 --- a/pkg/datasource/models.go +++ b/pkg/datasource/models.go @@ -128,13 +128,15 @@ func ReadQuery(query backend.DataQuery) (QueryModel, error) { return model, backend.DownstreamError(fmt.Errorf("could not read query JSON: %w", err)) } - queryType, err := queryJSON.Get("queryType").Int64() - if err != nil { + // Try reading queryType as string first, then as int64 + if queryTypeStr, err := queryJSON.Get("queryType").String(); err == nil && queryTypeStr != "" { + model.QueryType = queryTypeStr + } else if queryType, err := queryJSON.Get("queryType").Int64(); err == nil { + model.QueryType = strconv.FormatInt(queryType, 10) + } else { 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) } }