QueryService: Use types from sdk (#84029)

This commit is contained in:
Ryan McKinley
2024-03-08 18:12:59 +02:00
committed by GitHub
parent f11b10a10c
commit d82f3be6f7
36 changed files with 1554 additions and 878 deletions
+2 -3
View File
@@ -4,9 +4,8 @@ import (
"fmt"
"sort"
data "github.com/grafana/grafana-plugin-sdk-go/experimental/apis/data/v0alpha1"
"github.com/spyzhov/ajson"
query "github.com/grafana/grafana/pkg/apis/query/v0alpha1"
)
// RenderTemplate applies selected values into a query template
@@ -62,7 +61,7 @@ func RenderTemplate(qt QueryTemplate, selectedValues map[string][]string) ([]Tar
if err != nil {
return nil, err
}
u := query.GenericDataQuery{}
u := data.DataQuery{}
err = u.UnmarshalJSON(raw)
if err != nil {
return nil, err
@@ -4,9 +4,8 @@ import (
"testing"
"github.com/grafana/grafana-plugin-sdk-go/data"
apidata "github.com/grafana/grafana-plugin-sdk-go/experimental/apis/data/v0alpha1"
"github.com/stretchr/testify/require"
query "github.com/grafana/grafana/pkg/apis/query/v0alpha1"
)
var nestedFieldRender = QueryTemplate{
@@ -32,7 +31,7 @@ var nestedFieldRender = QueryTemplate{
},
},
},
Properties: query.NewGenericDataQuery(map[string]any{
Properties: apidata.NewDataQuery(map[string]any{
"nestedObject": map[string]any{
"anArray": []any{"foo", .2},
},
@@ -56,7 +55,7 @@ var nestedFieldRenderedTargets = []Target{
},
},
//DataTypeVersion: data.FrameTypeVersion{0, 0},
Properties: query.NewGenericDataQuery(
Properties: apidata.NewDataQuery(
map[string]any{
"nestedObject": map[string]any{
"anArray": []any{"up", .2},
@@ -117,7 +116,7 @@ var multiVarTemplate = QueryTemplate{
},
},
Properties: query.NewGenericDataQuery(map[string]any{
Properties: apidata.NewDataQuery(map[string]any{
"expr": "1 + metricName + 1 + anotherMetric + metricName",
}),
},
@@ -155,7 +154,7 @@ var multiVarRenderedTargets = []Target{
},
},
//DataTypeVersion: data.FrameTypeVersion{0, 0},
Properties: query.NewGenericDataQuery(map[string]any{
Properties: apidata.NewDataQuery(map[string]any{
"expr": "1 + up + 1 + sloths_do_like_a_good_nap + up",
}),
},
@@ -182,7 +181,7 @@ func TestRenderWithRune(t *testing.T) {
},
Targets: []Target{
{
Properties: query.NewGenericDataQuery(map[string]any{
Properties: apidata.NewDataQuery(map[string]any{
"message": "🐦 name!",
}),
Variables: map[string][]VariableReplacement{
@@ -207,5 +206,5 @@ func TestRenderWithRune(t *testing.T) {
rq, err := RenderTemplate(qt, selectedValues)
require.NoError(t, err)
require.Equal(t, "🐦 🦥!", rq[0].Properties.AdditionalProperties()["message"])
require.Equal(t, "🐦 🦥!", rq[0].Properties.GetString("message"))
}
+2 -2
View File
@@ -2,9 +2,9 @@ package template
import (
"github.com/grafana/grafana-plugin-sdk-go/data"
apidata "github.com/grafana/grafana-plugin-sdk-go/experimental/apis/data/v0alpha1"
common "github.com/grafana/grafana/pkg/apimachinery/apis/common/v0alpha1"
query "github.com/grafana/grafana/pkg/apis/query/v0alpha1"
)
type QueryTemplate struct {
@@ -36,7 +36,7 @@ type Target struct {
Variables map[string][]VariableReplacement `json:"variables"`
// Query target
Properties query.GenericDataQuery `json:"properties"`
Properties apidata.DataQuery `json:"properties"`
}
// TemplateVariable is the definition of a variable that will be interpolated